From 4084e06d179675c094a17abb9695aa9a33617b92 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期四, 14 九月 2023 17:33:09 +0800
Subject: [PATCH] 存货档案导入、设备清单导入
---
VueWebCoreApi/Tools/ImportExcelData.cs | 686 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 548 insertions(+), 138 deletions(-)
diff --git a/VueWebCoreApi/Tools/ImportExcelData.cs b/VueWebCoreApi/Tools/ImportExcelData.cs
index 80005d6..688d743 100644
--- a/VueWebCoreApi/Tools/ImportExcelData.cs
+++ b/VueWebCoreApi/Tools/ImportExcelData.cs
@@ -21,7 +21,7 @@
code = "";
List<DataTable> excelTable = new List<DataTable>();
excelTable = ImportExcel.ExcelToTableList(FileCode);
-
+
return Message;
}
#endregion
@@ -492,71 +492,124 @@
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,瀛樿揣妗f妯℃澘銆�
- public static string Eight(string FileCode, out string code)
+ public static string Eight(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- if (excelTable.Columns.Count != 11)
+ if (excelTable.Count != 2)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
}
- else if (excelTable.Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns.Count != 3)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣鍒嗙被妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable.Columns[1].ColumnName != "鐗╂枡缂栫爜(鍞竴)")
+ else if (excelTable[1].Columns.Count != 12)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable.Columns[2].ColumnName != "鐗╂枡鍚嶇О")
+ else if (excelTable[0].Columns[0].ColumnName != "*瀛樿揣鍒嗙被缂栧彿(鍞竴)")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣鍒嗙被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕*瀛樿揣鍒嗙被缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable.Columns[3].ColumnName != "鐗╂枡瑙勬牸")
+ else if (excelTable[0].Columns[1].ColumnName != "*瀛樿揣鍒嗙被鍨嬪悕绉�")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣鍒嗙被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕*瀛樿揣鍒嗙被鍨嬪悕绉皚";
+ return Message;
}
- else if (excelTable.Columns[4].ColumnName != "涓诲崟浣�")
+ else if (excelTable[0].Columns[2].ColumnName != "涓婄骇缂栫爜")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣鍒嗙被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕涓婄骇缂栫爜}";
+ return Message;
}
- else if (excelTable.Columns[5].ColumnName != "杈呭崟浣�")
+ else if (excelTable[1].Columns[0].ColumnName != "*瀛樿揣缂栧彿(鍞竴)")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*瀛樿揣缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable.Columns[6].ColumnName != "杈�/涓�")
+ else if (excelTable[1].Columns[1].ColumnName != "*瀛樿揣鍚嶇О")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*瀛樿揣鍚嶇О}";
+ return Message;
}
- else if (excelTable.Columns[7].ColumnName != "鐗╂枡绫诲埆")
+ else if (excelTable[1].Columns[2].ColumnName != "瑙勬牸鍨嬪彿")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕瑙勬牸鍨嬪彿}";
+ return Message;
}
- else if (excelTable.Columns[8].ColumnName != "浠撳簱鍚嶇О")
+ else if (excelTable[1].Columns[3].ColumnName != "*瀛樿揣鍒嗙被缂栫爜")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕*瀛樿揣鍒嗙被缂栫爜}";
+ return Message;
}
- else if (excelTable.Columns[9].ColumnName != "搴撳瓨涓嬮檺")
+ else if (excelTable[1].Columns[4].ColumnName != "*鐘舵��")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕*鐘舵�亇";
+ return Message;
}
- else if (excelTable.Columns[10].ColumnName != "搴撳瓨涓婇檺")
+ else if (excelTable[1].Columns[5].ColumnName != "*璁¢噺鏂瑰紡")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�6鍒楀簲涓簕*璁¢噺鏂瑰紡}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[6].ColumnName != "*璁¢噺鍗曚綅/缁勭紪鐮�")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�7鍒楀簲涓簕*璁¢噺鍗曚綅/缁勭紪鐮亇";
+ return Message;
+ }
+ else if (excelTable[1].Columns[7].ColumnName != "鎵�灞炰粨搴撶紪鐮�")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�8鍒楀簲涓簕鎵�灞炰粨搴撶紪鐮亇";
+ return Message;
+ }
+ else if (excelTable[1].Columns[8].ColumnName != "鏄惁澶栬喘")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�9鍒楀簲涓簕鏄惁澶栬喘}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[9].ColumnName != "鏄惁閿�鍞�")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�10鍒楀簲涓簕鏄惁閿�鍞畗";
+ return Message;
+ }
+ else if (excelTable[1].Columns[10].ColumnName != "鏄惁鑷埗")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�11鍒楀簲涓簕鏄惁鑷埗}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[11].ColumnName != "鏄惁鐢熶骇娑堣��")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�12鍒楀簲涓簕鏄惁鐢熶骇娑堣�梷";
+ return Message;
+ }
+ else if (excelTable[1].Columns[12].ColumnName != "鏄惁濮斿")
+ {
+ code = "301";
+ Message = "瀛樿揣妗f妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�13鍒楀簲涓簕鏄惁濮斿}";
+ return Message;
}
else
{
@@ -568,56 +621,82 @@
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,璁惧娓呭崟妯℃澘銆�
- public static string Nine(string FileCode, out string code)
+ public static string Nine(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- List<DataTable> excelTable = new List<DataTable>();
- excelTable = ImportExcel.ExcelToTableList(FileCode);
if (excelTable.Count != 2)
{
- code = "300";
- Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ code = "301";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
}
- else if (excelTable[0].Columns.Count != 7)
+ else if (excelTable[0].Columns.Count != 3)
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ code = "301";
+ Message = "璁惧绫诲瀷妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[1].Columns.Count != 6)
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable[0].Columns[1].ColumnName != "璁惧缂栧彿(鍞竴)")
+ else if (excelTable[0].Columns[0].ColumnName != "*璁惧绫诲瀷缂栧彿(鍞竴)")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧缂栧彿(鍞竴)}";
+ code = "301";
+ Message = "璁惧绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*璁惧绫诲瀷缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable[0].Columns[2].ColumnName != "璁惧鍚嶇О")
+ else if (excelTable[0].Columns[1].ColumnName != "*璁惧绫诲瀷鍚嶇О")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕璁惧鍚嶇О}";
+ code = "301";
+ Message = "璁惧绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*璁惧绫诲瀷鍚嶇О}";
+ return Message;
}
- else if (excelTable[0].Columns[3].ColumnName != "鎶曞叆鏃ユ湡")
+ else if (excelTable[0].Columns[2].ColumnName != "鎻忚堪")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕鎶曞叆鏃ユ湡}";
+ code = "301";
+ Message = "璁惧绫诲瀷妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕鎻忚堪}";
+ return Message;
}
- else if (excelTable[0].Columns[4].ColumnName != "杞﹂棿缂栫爜")
+ else if (excelTable[1].Columns[0].ColumnName != "*璁惧缂栧彿(鍞竴)")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕杞﹂棿缂栫爜}";
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*璁惧缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable[0].Columns[5].ColumnName != "浣跨敤鐘舵��")
+ else if (excelTable[1].Columns[1].ColumnName != "*璁惧鍚嶇О")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕浣跨敤鐘舵�亇";
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*璁惧鍚嶇О}";
+ return Message;
}
- else if (excelTable[0].Columns[6].ColumnName != "绋煎姩鐜囷紙%锛�")
+ else if (excelTable[1].Columns[2].ColumnName != "鎵�灞炵粍缁囩紪鐮�")
{
- code = "300";
- Message = "璁惧娓呭崟妯℃澘(璁惧娓呭崟)锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕绋煎姩鐜囷紙%锛墋";
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕*鎵�灞炵粍缁囩紪鐮亇";
+ return Message;
+ }
+ else if (excelTable[1].Columns[3].ColumnName != "*璁惧绫诲瀷缂栫爜")
+ {
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕*璁惧绫诲瀷缂栫爜}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[4].ColumnName != "*鍚敤鏃ユ湡")
+ {
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕*鍚敤鏃ユ湡}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[5].ColumnName != "*鐘舵��")
+ {
+ code = "301";
+ Message = "璁惧娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�6鍒楀簲涓簕*鐘舵�亇";
+ return Message;
}
else
{
@@ -1850,7 +1929,7 @@
var dynamicParams = new DynamicParameters();
DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
-
+
if (list.Count > 0)
{
int index = 0;
@@ -2074,7 +2153,7 @@
list.Add(erro);
}
}
- else
+ else
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = (k + 1).ToString();
@@ -2205,7 +2284,7 @@
}
if (excelTable[0].Rows[k][3].ToString().Trim() != null && excelTable[0].Rows[k][3].ToString().Trim() != "")
{
- if (excelTable[0].Rows[k][3].ToString().Trim() == "鑷畾涔�")
+ if (excelTable[0].Rows[k][3].ToString().Trim() == "鑷畾涔�")
{
if (excelTable[0].Rows[k][4].ToString().Trim() == null && excelTable[0].Rows[k][4].ToString().Trim() == "")
{
@@ -2215,7 +2294,7 @@
erro.ErrorCont = "瑙掕壊琛�:{鏁版嵁鑼冨洿}瀛楁涓猴細" + excelTable[1].Rows[k][3].ToString().Trim() + "鏃�,{鏁版嵁鏉冮檺}瀛楁涓嶈兘涓虹┖";
list.Add(erro);
}
- else
+ else
{
//鍒ゆ柇鏁版嵁鏉冮檺缂栫爜鏄惁鍚堢悊
if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
@@ -2330,8 +2409,8 @@
}
}
}
-
-
+
+
//寰�鏉ュ崟浣嶈〃
for (int k = 0; k < excelTable[1].Rows.Count; k++)
{
@@ -2512,7 +2591,7 @@
sql = @"select * from TSecStck where code=@code";
dynamicParams.Add("@code", excelTable[0].Rows[k][2].ToString().Trim());
dt = DapperHelper.selectdata(sql, dynamicParams);
- if (dt.Rows.Count<= 0)
+ if (dt.Rows.Count <= 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
@@ -2560,67 +2639,169 @@
#endregion
#region銆怑xcel涓婁紶鏁版嵁楠岃瘉,瀛樿揣妗f銆�
- public static List<ExcelErro> EightData(string FileCode, out string StuCode, out string message, out int count)
+ public static List<ExcelErro> EightData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
{
message = "";
StuCode = "";
count = 0;
string sql = "";
DataTable dt;
- List<ExcelErro> list = new List<ExcelErro>();
-
- return list;
- }
- #endregion
-
- #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,璁惧娓呭崟銆�
- public static List<ExcelErro> NineData(string FileCode, out string StuCode, out string message, out int count)
- {
- message = "";
- StuCode = "";
- count = 0;
- string sql = "";
var dynamicParams = new DynamicParameters();
- DataTable dt;
List<ExcelErro> list = new List<ExcelErro>();
- DataTable excelTable = new DataTable();
- list = ImportExcel.ExcelToTableErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
- excelTable = ImportExcel.ExcelToTable(FileCode); //鑾峰彇Excel鏁版嵁
- //璁惧娓呭崟琛�
- for (int k = 0; k < excelTable.Rows.Count; k++)
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //瀛樿揣鍒嗙被琛�
+ for (int j = 0; j < excelTable[0].Rows.Count; j++)
{
- if (excelTable.Rows[k][1].ToString().Trim() != null && excelTable.Rows[k][1].ToString().Trim() != "")
+ if (excelTable[0].Rows[j][0].ToString().Trim() != null && excelTable[0].Rows[j][0].ToString().Trim() != "")
{
- sql = @"select * from TEqpInfo where code=@code";
- dynamicParams.Add("@code", excelTable.Rows[k][1].ToString().Trim());
+ sql = @"select * from TMateriel_Class where code=@code";
+ dynamicParams.Add("@code", excelTable[0].Rows[j][0].ToString().Trim());
dt = DapperHelper.selectdata(sql, dynamicParams);
if (dt.Rows.Count > 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{璁惧缂栧彿(鍞竴)}";
- erro.ErrorCont = "璁惧琛�:{璁惧缂栧彿(鍞竴)}瀛楁" + excelTable.Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ erro.ErrorField = "{*瀛樿揣鍒嗙被缂栧彿(鍞竴)}";
+ erro.ErrorCont = "瀛樿揣鍒嗙被琛�:{*瀛樿揣鍒嗙被缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[j][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TMateriel_Class where name=@name";
+ dynamicParams.Add("@name", excelTable[0].Rows[j][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*瀛樿揣鍒嗙被鍚嶇О}";
+ erro.ErrorCont = "瀛樿揣鍒嗙被琛�:{*瀛樿揣鍒嗙被鍚嶇О}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[j][2].ToString().Trim() != null && excelTable[0].Rows[j][2].ToString().Trim() != "")
+ {
+ // 浣跨敤Lambda琛ㄨ揪寮忓垽鏂埗绾D鏄惁鍚堢悊
+ bool isParentIdValid = excelTable[0].AsEnumerable()
+ .Any(r => Convert.ToString(r["*瀛樿揣鍒嗙被缂栧彿(鍞竴)"]) == excelTable[0].Rows[j][2].ToString().Trim()); // 鍋囪ID鍒楀悕涓篒d
+
+ // 濡傛灉鐖剁骇ID涓嶅悎鐞嗭紝鍒欒緭鍑�
+ if (!isParentIdValid)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{涓婄骇缂栫爜}";
+ erro.ErrorCont = "瀛樿揣鍒嗙被琛�:{涓婄骇缂栫爜}瀛楁锛�" + excelTable[0].Rows[j][2].ToString().Trim() + " 涓嶅悎鐞�";
list.Add(erro);
}
}
}
- //杞﹂棿鍒ゆ柇
- for (int m = 0; m < excelTable.Rows.Count; m++)
+
+
+ //瀛樿揣琛�
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
{
- if (excelTable.Rows[m][4].ToString().Trim() != null && excelTable.Rows[m][4].ToString().Trim() != "")
+ if (excelTable[1].Rows[k][0].ToString().Trim() != null && excelTable[1].Rows[k][0].ToString().Trim() != "")
{
- sql = @"select * from TOrganization where org_code=@code and description='W'";
- dynamicParams.Add("@code", excelTable.Rows[m][4].ToString().Trim());
+ sql = @"select * from TMateriel_Info where partcode=@partcode";
+ dynamicParams.Add("@partcode", excelTable[1].Rows[k][0].ToString().Trim());
dt = DapperHelper.selectdata(sql, dynamicParams);
- if (dt.Rows.Count <= 0)
+ if (dt.Rows.Count > 0)
{
ExcelErro erro = new ExcelErro();
erro.RoeNumber = "/";
- erro.ErrorField = "{杞﹂棿缂栫爜}";
- erro.ErrorCont = "璁惧琛�:{杞﹂棿缂栫爜}瀛楁" + excelTable.Rows[m][4].ToString().Trim() + "涓嶅瓨鍦�";
+ erro.ErrorField = "{*瀛樿揣缂栧彿(鍞竴)}";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{*瀛樿揣缂栧彿(鍞竴)}瀛楁" + excelTable[1].Rows[k][0].ToString().Trim() + "宸插瓨鍦�";
list.Add(erro);
}
}
+ if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TMateriel_Info where partname=@partname";
+ dynamicParams.Add("@partname", excelTable[1].Rows[k][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*瀛樿揣鍚嶇О}";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{*瀛樿揣鍚嶇О}瀛楁" + excelTable[1].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[1].Rows[k][5].ToString().Trim() != null && excelTable[5].Rows[k][1].ToString().Trim() != "")
+ {
+ switch (excelTable[1].Rows[k][5].ToString().Trim())
+ {
+ case "S": //鍗曡閲�
+ //鍒ゆ柇璁¢噺鍗曚綅鏄惁涓哄崟璁¢噺
+ if (excelTable[1].Rows[k][6].ToString().Trim() != null && excelTable[1].Rows[k][6].ToString().Trim() != "")
+ {
+ sql = @"select * from TUnit where code=@code and isSingleUnit='1'";
+ dynamicParams.Add("@code", excelTable[1].Rows[k][6].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁¢噺鍗曚綅/缁勭紪鐮亇";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{*璁¢噺鍗曚綅/缁勭紪鐮亇瀛楁" + excelTable[1].Rows[k][6].ToString().Trim() + "涓嶆槸鏈夋晥鐨勫崟璁¢噺鍗曚綅";
+ list.Add(erro);
+ }
+ }
+ break;
+ case "M": //澶氳閲�
+ //鍒ゆ柇璁¢噺鍗曚綅鏄惁涓哄璁¢噺
+ if (excelTable[1].Rows[k][6].ToString().Trim() != null && excelTable[1].Rows[k][6].ToString().Trim() != "")
+ {
+ sql = @"select * from TUnitGroup where code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[k][6].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count <= 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁¢噺鍗曚綅/缁勭紪鐮亇";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{*璁¢噺鍗曚綅/缁勭紪鐮亇瀛楁" + excelTable[1].Rows[k][6].ToString().Trim() + "涓嶆槸鏈夋晥鐨勫璁¢噺鍗曚綅缁�";
+ list.Add(erro);
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ if (excelTable[1].Rows[k][7].ToString().Trim() != null && excelTable[1].Rows[k][7].ToString().Trim() != "")
+ {
+ sql = @"select * from TSecStck where code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[k][7].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count<=0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{鎵�灞炰粨搴撶紪鐮亇";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{鎵�灞炰粨搴撶紪鐮亇瀛楁" + excelTable[1].Rows[k][7].ToString().Trim() + "涓嶆槸鏈夋晥鐨勪粨搴撶紪鐮�";
+ list.Add(erro);
+ }
+ }
+ }
+ //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
+ var dt3 = from r in excelTable[1].AsEnumerable()
+ where !(
+ from rr in excelTable[0].AsEnumerable()
+ select rr.Field<string>("*瀛樿揣鍒嗙被缂栧彿(鍞竴)")
+ ).Contains(r.Field<string>("*瀛樿揣鍒嗙被缂栫爜"))
+ select r;
+ List<DataRow> listRow = dt3.ToList();
+ if (listRow.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*瀛樿揣鍒嗙被缂栫爜}";
+ erro.ErrorCont = "瀛樿揣妗f琛�:{*瀛樿揣鍒嗙被缂栫爜}瀛楁涓湁鍊煎湪瀛樿揣鍒嗙被琛�:{*瀛樿揣鍒嗙被缂栧彿(鍞竴)}涓笉瀛樺湪";
+ list.Add(erro);
}
if (list.Count > 0)
{
@@ -2637,7 +2818,134 @@
{
StuCode = "200";
message = "鏁版嵁楠岃瘉鎴愬姛";
- count = excelTable.Rows.Count;
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
+ }
+ return list;
+ }
+ #endregion
+
+ #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,璁惧娓呭崟銆�
+ public static List<ExcelErro> NineData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
+ {
+ message = "";
+ StuCode = "";
+ count = 0;
+ string sql = "";
+ DataTable dt;
+ var dynamicParams = new DynamicParameters();
+ List<ExcelErro> list = new List<ExcelErro>();
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //璁惧绫诲瀷琛�
+ for (int j = 0; j < excelTable[0].Rows.Count; j++)
+ {
+ if (excelTable[0].Rows[j][0].ToString().Trim() != null && excelTable[0].Rows[j][0].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpType where code=@code";
+ dynamicParams.Add("@code", excelTable[0].Rows[j][0].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁惧绫诲瀷缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧绫诲瀷琛�:{*璁惧绫诲瀷缂栧彿(鍞竴)}瀛楁" + excelTable[0].Rows[j][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpType where name=@name";
+ dynamicParams.Add("@name", excelTable[0].Rows[j][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁惧绫诲瀷鍚嶇О}";
+ erro.ErrorCont = "璁惧绫诲瀷琛�:{*璁惧绫诲瀷鍚嶇О}瀛楁" + excelTable[0].Rows[j][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+
+ //璁惧琛�
+ for (int k = 0; k < excelTable[1].Rows.Count; k++)
+ {
+ if (excelTable[1].Rows[k][0].ToString().Trim() != null && excelTable[1].Rows[k][0].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpInfo where code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[k][0].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁惧缂栧彿(鍞竴)}";
+ erro.ErrorCont = "璁惧琛�:{*璁惧缂栧彿(鍞竴)}瀛楁" + excelTable[1].Rows[k][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TEqpInfo where name=@name";
+ dynamicParams.Add("@name", excelTable[1].Rows[k][1].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁惧鍚嶇О}";
+ erro.ErrorCont = "璁惧琛�:{*璁惧鍚嶇О}瀛楁" + excelTable[1].Rows[k][1].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
+ {
+ sql = @"select * from TOrganization where torg_code=@torg_code";
+ dynamicParams.Add("@torg_code", excelTable[1].Rows[k][2].ToString().Trim());
+ dt = DapperHelper.selectdata(sql, dynamicParams);
+ if (dt.Rows.Count<=0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*鎵�灞炵粍缁囩紪鐮亇";
+ erro.ErrorCont = "璁惧琛�:{*鎵�灞炵粍缁囩紪鐮亇瀛楁" + excelTable[1].Rows[k][2].ToString().Trim() + "涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ }
+ //鍒ゆ柇瀛愯〃澶栭敭涓嶅瓨鍦ㄤ簬涓昏〃涓婚敭涓殑鏁版嵁
+ var dt3 = from r in excelTable[1].AsEnumerable()
+ where !(
+ from rr in excelTable[0].AsEnumerable()
+ select rr.Field<string>("*璁惧绫诲瀷缂栧彿(鍞竴)")
+ ).Contains(r.Field<string>("*璁惧绫诲瀷缂栫爜"))
+ select r;
+ List<DataRow> listRow = dt3.ToList();
+ if (listRow.Count > 0)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*璁惧绫诲瀷缂栫爜}";
+ erro.ErrorCont = "璁惧琛�:{*璁惧绫诲瀷缂栫爜}瀛楁涓湁鍊煎湪璁惧绫诲瀷琛�:{*璁惧绫诲瀷缂栧彿(鍞竴)}涓笉瀛樺湪";
+ list.Add(erro);
+ }
+ if (list.Count > 0)
+ {
+ int index = 0;
+ foreach (ExcelErro item in list)
+ {
+ index++;
+ item.Seq = index.ToString();
+ }
+ StuCode = "301";
+ message = "鏁版嵁楠岃瘉澶辫触";
+ }
+ else
+ {
+ StuCode = "200";
+ message = "鏁版嵁楠岃瘉鎴愬姛";
+ count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
}
return list;
}
@@ -3604,7 +3912,7 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,鍒嗙粍绠$悊銆�
- public static string TwoSubmit(List<DataTable> excelTable, User us, out string StuCode)
+ public static string TwoSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
@@ -3822,7 +4130,7 @@
idparent = excelTable[0].Rows[k][2].ToString().Trim(),
lm_user = us.usercode,
lm_date = DateTime.Now.ToString(),
- data_sources="MES"
+ data_sources = "MES"
}
});
}
@@ -3845,7 +4153,7 @@
addr = excelTable[1].Rows[i][6].ToString().Trim(),
lm_user = us.usercode,
lm_date = DateTime.Now.ToString(),
- data_sources="MES"
+ data_sources = "MES"
}
});
}
@@ -3898,7 +4206,7 @@
description = excelTable[0].Rows[i][4].ToString().Trim(),
lm_user = us.usercode,
lm_date = DateTime.Now.ToString(),
- data_sources="MES"
+ data_sources = "MES"
}
});
}
@@ -3978,13 +4286,104 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,瀛樿揣妗f銆�
- public static string EightSubmit(string FileCode, string User, out string StuCode)
+ public static string EightSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
+ string sql = "";
+ List<object> list = new List<object>();
+ var dynamicParams = new DynamicParameters();
try
{
+ list.Clear();
+ //瀵煎叆瀛樿揣绫诲瀷
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ sql = @"insert into TMateriel_Class(code,name,idparent,lm_user,lm_date,data_sources)
+ values(@code,@name,@idparent,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[0].Rows[k][0].ToString().Trim(),
+ name = excelTable[0].Rows[k][1].ToString().Trim(),
+ idparent = excelTable[0].Rows[k][2].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ data_sources = "MES"
+ }
+ });
+ }
+ //瀵煎叆瀛樿揣妗f
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ string idunitgroup="", idunit = "", idnounit = "";
+ int isSingleUnit = 0;
+ if (excelTable[1].Rows[i][5].ToString().Trim() == "S")
+ {
+ isSingleUnit = 1;
+ idunit = excelTable[1].Rows[i][6].ToString().Trim();
+ }
+ if (excelTable[1].Rows[i][5].ToString().Trim() == "M")
+ {
+ sql = @"select T.code,T.name,T.isMainUnit from TUnitGroup G
+ inner join TUnit T on G.code=T.idunitgroup
+ where G.code=@code";
+ dynamicParams.Add("@code", excelTable[1].Rows[i][6].ToString().Trim());
+ var dt = DapperHelper.selectdata(sql, dynamicParams);
+ idunitgroup = excelTable[1].Rows[i][6].ToString().Trim();
+ idunit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") =="1").Select(row => row.Field<string>("code")).FirstOrDefault();
+ idnounit = dt.AsEnumerable().Where(row => row.Field<string>("isMainUnit") == "0").Select(row => row.Field<string>("code")).FirstOrDefault();
+ }
+ sql = @"insert into TMateriel_Info(partcode,partname,partspec,idunit,idunitgroup,isSingleUnit,idSubUnitByReport,idUnitByStock,
+ idUnitByPurchase,idUnitBySale,idunitbymanufacture,idinventoryclass,isPurchase,isSale,isMadeSelf,isMaterial,isMadeRequest,
+ idwarehouse,status,lm_user,lm_date,data_sources)
+ values(@partcode,@partname,@partspec,@idunit,@idunitgroup,@isSingleUnit,@idSubUnitByReport,@idUnitByStock,
+ @idUnitByPurchase,@idUnitBySale,@idunitbymanufacture,@idinventoryclass,@isPurchase,@isSale,@isMadeSelf,@isMaterial,@isMadeRequest,
+ @idwarehouse,@status,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ partcode = excelTable[1].Rows[i][0].ToString().Trim(),
+ partname = excelTable[1].Rows[i][1].ToString().Trim(),
+ partspec = excelTable[1].Rows[i][2].ToString().Trim(),
+ idunit = idunit,
+ idunitgroup = idunitgroup,
+ isSingleUnit = isSingleUnit,
+ idSubUnitByReport = idnounit,
+ idUnitByStock = idunit,
+ idUnitByPurchase = idunit,
+ idUnitBySale = idunit,
+ idunitbymanufacture = idunit,
+ idinventoryclass = excelTable[1].Rows[i][3].ToString().Trim(),
+ isPurchase = excelTable[1].Rows[i][8].ToString().Trim(),
+ isSale = excelTable[1].Rows[i][9].ToString().Trim(),
+ isMadeSelf = excelTable[1].Rows[i][10].ToString().Trim(),
+ isMaterial = excelTable[1].Rows[i][11].ToString().Trim(),
+ isMadeRequest = excelTable[1].Rows[i][12].ToString().Trim(),
+ idwarehouse = excelTable[1].Rows[i][7].ToString().Trim(),
+ status = excelTable[1].Rows[i][4].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ data_sources = "MES"
+ }
+ });
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ StuCode = "200";
+ message = "瀵煎叆鎴愬姛锛�";
+ }
+ else
+ {
+ StuCode = "300";
+ message = "瀵煎叆澶辫触锛�";
+ }
}
catch (Exception e)
{
@@ -3996,42 +4395,53 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,璁惧娓呭崟銆�
- public static string NineSubmit(string FileCode, string User, out string StuCode)
+ public static string NineSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
- string message = ""; StuCode = "";
+ string message = "";
+ StuCode = "";
string sql = "";
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
try
{
list.Clear();
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- //瀵煎叆璁惧娓呭崟
- for (int k = 0; k < excelTable.Rows.Count; k++)
+ //瀵煎叆璁惧绫诲瀷
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
{
- sql = @"select * from TEqpInfo where code=@eqp_code";
- dynamicParams.Add("@eqp_code", excelTable.Rows[k][1].ToString().Trim());
- DataTable dt = DapperHelper.selectdata(sql, dynamicParams);
- if (dt.Rows.Count > 0)
- {
- continue;
- }
- sql = @"insert into TEqpInfo(code,name,wksp_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
- values(@devicecode,@devicename,@workshop,@importdate,@ratio,@status,@uom,@lm_user,@lm_date)";
+ sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark)
+ values(@code,@name,@lm_user,@lm_date,@remark)";
list.Add(new
{
str = sql,
parm = new
{
- devicecode = excelTable.Rows[k][1].ToString().Trim(),
- devicename = excelTable.Rows[k][2].ToString().Trim(),
- workshop = excelTable.Rows[k][4].ToString().Trim(),
- importdate = excelTable.Rows[k][3].ToString().Trim(),
- ratio = excelTable.Rows[k][6].ToString().Trim(),
- status = excelTable.Rows[k][5].ToString().Trim(),
- uom = "鍙�",
- lm_user = User,
+ code = excelTable[0].Rows[k][0].ToString().Trim(),
+ name = excelTable[0].Rows[k][1].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ idparent = excelTable[0].Rows[k][2].ToString().Trim()
+ }
+ });
+ }
+ //瀵煎叆璁惧
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ sql = @"insert into TEqpInfo(code,name,torg_code,eqptype_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
+ values(@code,@name,@torg_code,@eqptype_code,@input_date,@operation_ration,@enable,@opc_uom,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[1].Rows[i][0].ToString().Trim(),
+ name = excelTable[1].Rows[i][1].ToString().Trim(),
+ torg_code = excelTable[1].Rows[i][2].ToString().Trim(),
+ eqptype_code = excelTable[1].Rows[i][3].ToString().Trim(),
+ input_date = excelTable[1].Rows[i][4].ToString().Trim(),
+ operation_ration = "100",
+ enable = excelTable[1].Rows[i][5].ToString().Trim(),
+ opc_uom = "鍙�",
+ lm_user = us.usercode,
lm_date = DateTime.Now.ToString()
}
});
--
Gitblit v1.9.3