From be4498e7e306a63ecd11515a21944305dd7df7f8 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 13 九月 2023 18:16:43 +0800
Subject: [PATCH] 1.往来单位同步接口 2.往来单位、仓库、库位 excel导入
---
VueWebCoreApi/Tools/ImportExcelData.cs | 656 ++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 440 insertions(+), 216 deletions(-)
diff --git a/VueWebCoreApi/Tools/ImportExcelData.cs b/VueWebCoreApi/Tools/ImportExcelData.cs
index ea6ae86..80005d6 100644
--- a/VueWebCoreApi/Tools/ImportExcelData.cs
+++ b/VueWebCoreApi/Tools/ImportExcelData.cs
@@ -279,93 +279,144 @@
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,寰�鏉ュ崟浣嶆ā鏉裤��
- public static string Five(string FileCode, out string code)
+ public static string Five(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
-
+ if (excelTable.Count != 2)
+ {
+ code = "301";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
+ }
+ else if (excelTable[0].Columns.Count != 3)
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶇被鍨嬫ā鏉夸笉绗﹀悎瑙勮寖,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
+ }
+ else if (excelTable[1].Columns.Count != 7)
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶆ā鏉夸笉绗﹀悎瑙勮寖,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
+ }
+ else if (excelTable[0].Columns[0].ColumnName != "*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶇被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)}";
+ return Message;
+ }
+ else if (excelTable[0].Columns[1].ColumnName != "*寰�鏉ュ崟浣嶇被鍨嬪悕绉�")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶇被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕*寰�鏉ュ崟浣嶇被鍨嬪悕绉皚";
+ return Message;
+ }
+ else if (excelTable[0].Columns[2].ColumnName != "涓婄骇缂栫爜")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶇被鍨嬫ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�3鍒楀簲涓簕涓婄骇缂栫爜}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[0].ColumnName != "*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶆ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�1鍒楀簲涓簕*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)}";
+ return Message;
+ }
+ else if (excelTable[1].Columns[1].ColumnName != "*寰�鏉ュ崟浣嶅悕绉�")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶆ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�2鍒楀簲涓簕*寰�鏉ュ崟浣嶅悕绉皚";
+ return Message;
+ }
+ else if (excelTable[1].Columns[2].ColumnName != "*鐘舵��")
+ {
+ 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 if (excelTable[1].Columns[6].ColumnName != "鍦板潃")
+ {
+ code = "301";
+ Message = "寰�鏉ュ崟浣嶆ā鏉匡細琛ㄥご淇℃伅涓嶇鍚堣鑼�,绗�7鍒楀簲涓簕鍦板潃}";
+ return Message;
+ }
+ else
+ {
+ code = "200";
+ Message = "妯℃澘妫�楠岄�氳繃";
+ }
return Message;
}
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,浠撳簱璁剧疆妯℃澘銆�
- public static string Six(string FileCode, out string code)
+ public static string Six(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- List<DataTable> excelTable = new List<DataTable>();
- excelTable = ImportExcel.ExcelToTableList(FileCode);
- if (excelTable.Count != 4)
+ if (excelTable.Count != 1)
{
- code = "300";
+ code = "301";
Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
return Message;
}
- else if (excelTable[0].Columns.Count != 4)
+ else if (excelTable[0].Columns.Count != 5)
{
- code = "300";
- Message = "浠撳簱娓呭崟妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
return Message;
}
- else if (excelTable[1].Columns.Count != 5)
+ else if (excelTable[0].Columns[0].ColumnName != "*浠撳簱缂栧彿(鍞竴)")
{
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*浠撳簱缂栧彿(鍞竴)}";
return Message;
}
- else if (excelTable[0].Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns[1].ColumnName != "*浠撳簱鍚嶇О")
{
- code = "300";
- Message = "浠撳簱娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*浠撳簱鍚嶇О}";
return Message;
}
- else if (excelTable[0].Columns[1].ColumnName != "浠撳簱缂栧彿(鍞竴)")
+ else if (excelTable[0].Columns[2].ColumnName != "*鐘舵��")
{
- code = "300";
- Message = "浠撳簱娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕浠撳簱缂栧彿(鍞竴)}";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕*鐘舵�亇";
return Message;
}
- else if (excelTable[0].Columns[2].ColumnName != "浠撳簱鍚嶇О")
+ else if (excelTable[0].Columns[3].ColumnName != "*搴撲綅绠$悊")
{
- code = "300";
- Message = "浠撳簱娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕浠撳簱鍚嶇О}";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕*搴撲綅绠$悊}";
return Message;
}
- else if (excelTable[0].Columns[3].ColumnName != "浠撳簱鎻忚堪")
+ else if (excelTable[0].Columns[4].ColumnName != "鎻忚堪")
{
- code = "300";
- Message = "浠撳簱娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕浠撳簱鎻忚堪}";
- return Message;
- }
- else if (excelTable[1].Columns[0].ColumnName != "搴忓彿")
- {
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕搴忓彿}";
- return Message;
- }
- else if (excelTable[1].Columns[1].ColumnName != "搴撲綅缂栧彿(鍞竴)")
- {
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕搴撲綅缂栧彿(鍞竴)}";
- return Message;
- }
- else if (excelTable[1].Columns[2].ColumnName != "搴撲綅濮撳悕")
- {
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕搴撲綅濮撳悕}";
- return Message;
- }
- else if (excelTable[1].Columns[3].ColumnName != "鎵�灞炰粨搴撶紪鐮�")
- {
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕鎵�灞炰粨搴撶紪鐮亇";
- return Message;
- }
- else if (excelTable[1].Columns[4].ColumnName != "搴撲綅鎻忚堪")
- {
- code = "300";
- Message = "搴撲綅娓呭崟妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕搴撲綅鎻忚堪}";
+ code = "301";
+ Message = "浠撳簱璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕鎻忚堪}";
return Message;
}
else
@@ -378,41 +429,58 @@
#endregion
#region銆怑xcel妯℃澘涓婁紶楠岃瘉,搴撲綅璁剧疆妯℃澘銆�
- public static string Seven(string FileCode, out string code)
+ public static string Seven(List<DataTable> excelTable, out string code)
{
string Message = "";
code = "";
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- if (excelTable.Columns.Count != 5)
+ if (excelTable.Count != 1)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "瀵煎叆妯℃澘涓嶇鍚堣鑼�,璇锋鏌heet鏁�";
+ return Message;
+
}
- else if (excelTable.Columns[0].ColumnName != "搴忓彿")
+ else if (excelTable[0].Columns.Count != 6)
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚嶅瓧娈垫暟";
+ return Message;
}
- else if (excelTable.Columns[1].ColumnName != "瀹瑰櫒缂栫爜(鍞竴)")
+ else if (excelTable[0].Columns[0].ColumnName != "*搴撲綅缂栧彿(鍞竴)")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�1鍒楀簲涓簕*搴撲綅缂栧彿(鍞竴)}";
+ return Message;
}
- else if (excelTable.Columns[2].ColumnName != "瀹瑰櫒鍚嶇О锛堝敮涓�锛�")
+ else if (excelTable[0].Columns[1].ColumnName != "*搴撲綅鍚嶇О")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�2鍒楀簲涓簕*搴撲綅鍚嶇О}";
+ return Message;
}
- else if (excelTable.Columns[3].ColumnName != "瀹瑰櫒鑷噸锛圞G锛�")
+ else if (excelTable[0].Columns[2].ColumnName != "*鎵�灞炰粨搴撶紪鐮�")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�3鍒楀簲涓簕*鎵�灞炰粨搴撶紪鐮亇";
+ return Message;
}
- else if (excelTable.Columns[4].ColumnName != "瀹瑰櫒绫诲瀷")
+ else if (excelTable[0].Columns[3].ColumnName != "*涓婄骇搴撲綅缂栫爜")
{
- code = "300";
- Message = "妯℃澘涓嶇鍚堣鑼�,璇锋鏌ュ垪鍚�";
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�4鍒楀簲涓簕*涓婄骇搴撲綅缂栫爜}";
+ return Message;
+ }
+ else if (excelTable[0].Columns[4].ColumnName != "*鐘舵��")
+ {
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�5鍒楀簲涓簕*鐘舵�亇";
+ return Message;
+ }
+ else if (excelTable[0].Columns[5].ColumnName != "鎻忚堪")
+ {
+ code = "301";
+ Message = "搴撲綅璁剧疆妯℃澘锛氳〃澶翠俊鎭笉绗﹀悎瑙勮寖,绗�6鍒楀簲涓簕鎻忚堪}";
+ return Message;
}
else
{
@@ -2204,7 +2272,7 @@
#endregion
#region銆怑xcel涓婁紶鏁版嵁楠岃瘉,寰�鏉ュ崟浣嶃��
- public static List<ExcelErro> FiveData(string FileCode, out string StuCode, out string message, out int count)
+ public static List<ExcelErro> FiveData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
{
message = "";
StuCode = "";
@@ -2213,93 +2281,85 @@
DataTable dt;
var dynamicParams = new DynamicParameters();
List<ExcelErro> list = new List<ExcelErro>();
- DataTable excelTable = new DataTable();
- list = ImportExcel.ExcelToTableErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
- excelTable = ImportExcel.ExcelToTable(FileCode); //鑾峰彇Excel鏁版嵁
- for (int i = 0; i < excelTable.Rows.Count; i++)
- {
- if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
- {
- sql = @"select code from TCustomer where code=@code";
-
- dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
- dt = DapperHelper.selectdata(sql, dynamicParams);
- if (dt.Rows.Count > 0)
- {
- ExcelErro erro = new ExcelErro();
- erro.RoeNumber = "/";
- erro.ErrorField = "{寰�鏉ュ崟浣嶇紪鐮�(鍞竴)}";
- erro.ErrorCont = "寰�鏉ュ崟浣嶈〃:{寰�鏉ュ崟浣嶇紪鐮�(鍞竴)}瀛楁" + excelTable.Rows[i][1].ToString().Trim() + "宸插瓨鍦�";
- 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.Rows.Count;
- }
- return list;
- }
- #endregion
-
- #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,浠撳簱璁剧疆銆�
- public static List<ExcelErro> SixData(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>();
- List<DataTable> excelTable = new List<DataTable>();
- list = ImportExcel.ExcelToTableListErro(FileCode); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
- excelTable = ImportExcel.ExcelToTableList(FileCode); //鑾峰彇Excel鏁版嵁
- //浠撳簱琛�
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //寰�鏉ュ崟浣嶇被鍨嬭〃
for (int j = 0; j < excelTable[0].Rows.Count; j++)
{
- if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
+ if (excelTable[0].Rows[j][0].ToString().Trim() != null && excelTable[0].Rows[j][0].ToString().Trim() != "")
{
- sql = @"select * from T_Sec_Stck where code=@code";
- dynamicParams.Add("@code", excelTable[0].Rows[j][1].ToString().Trim());
+ sql = @"select * from TCustomerType 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][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 TCustomerType 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 k = 0; k < excelTable[1].Rows.Count; k++)
{
- if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
+ if (excelTable[1].Rows[k][0].ToString().Trim() != null && excelTable[1].Rows[k][0].ToString().Trim() != "")
{
- sql = @"select * from T_Sec_Loca where code=@code";
- dynamicParams.Add("@code", excelTable[1].Rows[k][1].ToString().Trim());
+ sql = @"select * from TCustomer 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][2].ToString().Trim() + "宸插瓨鍦�";
+ 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 TCustomer 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);
}
}
@@ -2308,16 +2368,16 @@
var dt3 = from r in excelTable[1].AsEnumerable()
where !(
from rr in excelTable[0].AsEnumerable()
- select rr.Field<string>("浠撳簱缂栧彿(鍞竴)")
- ).Contains(r.Field<string>("鎵�灞炰粨搴撶紪鐮�"))
+ 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 = "搴撲綅琛�:{鎵�灞炰粨搴撶紪鐮亇瀛楁涓湁鍊煎湪浠撳簱琛�:{浠撳簱缂栧彿(鍞竴)}涓笉瀛樺湪";
+ erro.ErrorField = "{*寰�鏉ュ崟浣嶇被鍨嬬紪鐮亇";
+ erro.ErrorCont = "寰�鏉ュ崟浣嶈〃:{*寰�鏉ュ崟浣嶇被鍨嬬紪鐮亇瀛楁涓湁鍊煎湪寰�鏉ュ崟浣嶇被鍨嬭〃:{*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)}涓笉瀛樺湪";
list.Add(erro);
}
if (list.Count > 0)
@@ -2341,16 +2401,160 @@
}
#endregion
- #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,搴撲綅璁剧疆銆�
- public static List<ExcelErro> SevenData(string FileCode, out string StuCode, out string message, out int count)
+ #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,浠撳簱璁剧疆銆�
+ public static List<ExcelErro> SixData(List<DataTable> excelTable, 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>();
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //浠撳簱琛�
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "")
+ {
+ sql = @"select * from TSecStck where code=@code";
+ dynamicParams.Add("@code", excelTable[0].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[0].Rows[k][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TSecStck where name=@name";
+ dynamicParams.Add("@name", excelTable[0].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 (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;
+ }
+ return list;
+ }
+ #endregion
+ #region銆怑xcel涓婁紶鏁版嵁楠岃瘉,搴撲綅璁剧疆銆�
+ public static List<ExcelErro> SevenData(List<DataTable> excelTable, 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>();
+ list = ImportExcel.InportExcelToTableListErro(excelTable); //楠岃瘉Excel鏁版嵁蹇呭~瀛楁鏄惁涓虹┖銆佸敮涓�瀛楁鏄惁閲嶅
+ //搴撲綅琛�
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ {
+ if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "")
+ {
+ sql = @"select * from TSecLoca where code=@code";
+ dynamicParams.Add("@code", excelTable[0].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[0].Rows[k][0].ToString().Trim() + "宸插瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "")
+ {
+ sql = @"select * from TSecLoca where name=@name";
+ dynamicParams.Add("@name", excelTable[0].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[0].Rows[k][2].ToString().Trim() != null && excelTable[0].Rows[k][2].ToString().Trim() != "")
+ {
+ 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)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{*鎵�灞炰粨搴撶紪鐮亇";
+ erro.ErrorCont = "搴撲綅琛�:{*鎵�灞炰粨搴撶紪鐮亇瀛楁" + excelTable[1].Rows[k][1].ToString().Trim() + "涓嶅瓨鍦�";
+ list.Add(erro);
+ }
+ }
+ if (excelTable[0].Rows[k][3].ToString().Trim() != null && excelTable[0].Rows[k][3].ToString().Trim() != "")
+ {
+ // 浣跨敤Lambda琛ㄨ揪寮忓垽鏂埗绾D鏄惁鍚堢悊
+ bool isParentIdValid = excelTable[0].AsEnumerable()
+ .Any(r => Convert.ToString(r["*搴撲綅缂栧彿(鍞竴)"]) == excelTable[0].Rows[k][3].ToString().Trim()); // 鍋囪ID鍒楀悕涓篒d
+
+ // 濡傛灉鐖剁骇ID涓嶅悎鐞嗭紝鍒欒緭鍑�
+ if (!isParentIdValid)
+ {
+ ExcelErro erro = new ExcelErro();
+ erro.RoeNumber = "/";
+ erro.ErrorField = "{涓婄骇搴撲綅缂栫爜}";
+ erro.ErrorCont = "搴撲綅琛�:{涓婄骇搴撲綅缂栫爜}瀛楁锛�" + excelTable[0].Rows[k][3].ToString().Trim() + " 涓嶅悎鐞�";
+ 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;
+ }
return list;
}
#endregion
@@ -3369,8 +3573,8 @@
str = sql,
parm = new
{
- usercode = excelTable[0].Rows[i][0].ToString().Trim(),
- username = excelTable[0].Rows[i][1].ToString().Trim(),
+ postcode = excelTable[0].Rows[i][0].ToString().Trim(),
+ postname = excelTable[0].Rows[i][1].ToString().Trim(),
status = excelTable[0].Rows[i][2].ToString().Trim(),
description = excelTable[0].Rows[i][3].ToString().Trim(),
lm_user = us.usercode,
@@ -3593,53 +3797,55 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,寰�鏉ュ崟浣嶃��
- public static string FiveSubmit(string FileCode, string User, out string StuCode)
+ public static string FiveSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
string sql = "";
- DataTable dt;
List<object> list = new List<object>();
var dynamicParams = new DynamicParameters();
try
{
list.Clear();
- DataTable excelTable = new DataTable();
- excelTable = ImportExcel.ExcelToTable(FileCode);
- //瀵煎叆寰�鏉ュ崟浣嶈〃
- for (int i = 0; i < excelTable.Rows.Count; i++)
+ //瀵煎叆寰�鏉ュ崟浣嶇被鍨�
+ for (int k = 0; k < excelTable[0].Rows.Count; k++)
{
- string Type = "";
- switch (excelTable.Rows[i][3].ToString().Trim())
- {
- case "渚涘簲鍟�":
- Type = "226";
- break;
- case "瀹㈡埛":
- Type = "211";
- break;
- case "瀹㈡埛/渚涘簲鍟�":
- Type = "228";
- break;
- default:
- break;
- }
-
- sql = @"insert into TCustomer(code,name,type,conttacts,conttphone,addr,lm_user,lm_date)
- values(@code,@name,@type,@conttacts,@conttphone,@addr,@Operator,@CreateDate)";
+ sql = @"insert into TCustomerType(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.Rows[i][1].ToString().Trim(),
- name = excelTable.Rows[i][2].ToString().Trim(),
- type = Type,
- conttacts = excelTable.Rows[i][4].ToString().Trim(),
- conttphone = excelTable.Rows[i][5].ToString().Trim(),
- addr = excelTable.Rows[i][6].ToString().Trim(),
- Operator = User,
- CreateDate = DateTime.Now.ToString()
+ 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"
+ }
+ });
+ }
+ //瀵煎叆寰�鏉ュ崟浣�
+ for (int i = 0; i < excelTable[1].Rows.Count; i++)
+ {
+ sql = @"insert into TCustomer(code,name,status,conttacts,conttphone,addr,customertype,lm_user,lm_date,data_sources)
+ values(@code,@name,@status,@conttacts,@conttphone,@addr,@customertype,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[1].Rows[i][0].ToString().Trim(),
+ name = excelTable[1].Rows[i][1].ToString().Trim(),
+ status = excelTable[1].Rows[i][2].ToString().Trim(),
+ customertype = excelTable[1].Rows[i][3].ToString().Trim(),
+ conttacts = excelTable[1].Rows[i][4].ToString().Trim(),
+ conttphone = excelTable[1].Rows[i][5].ToString().Trim(),
+ addr = excelTable[1].Rows[i][6].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ data_sources="MES"
}
});
}
@@ -3665,7 +3871,7 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,浠撳簱璁剧疆銆�
- public static string SixSubmit(string FileCode, string User, out string StuCode)
+ public static string SixSubmit(List<DataTable> excelTable, User us, out string StuCode)
{
string message = "";
StuCode = "";
@@ -3675,42 +3881,24 @@
try
{
list.Clear();
- List<DataTable> excelTable = new List<DataTable>();
- excelTable = ImportExcel.ExcelToTableList(FileCode);
//瀵煎叆浠撳簱
- for (int k = 0; k < excelTable[0].Rows.Count; k++)
+ for (int i = 0; i < excelTable[0].Rows.Count; i++)
{
- sql = @"insert into T_Sec_Stck(code,name,description,lm_user,lm_date)
- values(@code,@name,@description,@Operator,@CreateDate)";
+ sql = @"insert into TSecStck(code,name,status,ishasPosition,description,lm_user,lm_date,data_sources)
+ values(@code,@name,@status,@ishasPosition,@description,@lm_user,@lm_date,@data_sources)";
list.Add(new
{
str = sql,
parm = new
{
- code = excelTable[0].Rows[k][1].ToString().Trim(),
- name = excelTable[0].Rows[k][2].ToString().Trim(),
- description = excelTable[0].Rows[k][3].ToString().Trim(),
- CreateDate = DateTime.Now.ToString(),
- Operator = User
- }
- });
- }
- //瀵煎叆搴撲綅
- for (int i = 0; i < excelTable[1].Rows.Count; i++)
- {
- sql = @"insert into T_Sec_Loca(code,name,description,stock_code,lm_user,lm_date)
- values(@code,@name,@description,@stock_code,@Operator,@CreateDate)";
- list.Add(new
- {
- str = sql,
- parm = new
- {
- code = excelTable[1].Rows[i][1].ToString().Trim(),
- name = excelTable[1].Rows[i][2].ToString().Trim(),
- stock_code = excelTable[1].Rows[i][3].ToString().Trim(),
- description = excelTable[1].Rows[i][4].ToString().Trim(),
- Operator = User,
- CreateDate = DateTime.Now.ToString()
+ code = excelTable[0].Rows[i][0].ToString().Trim(),
+ name = excelTable[0].Rows[i][1].ToString().Trim(),
+ status = excelTable[0].Rows[i][2].ToString().Trim(),
+ ishasPosition = excelTable[0].Rows[i][3].ToString().Trim(),
+ description = excelTable[0].Rows[i][4].ToString().Trim(),
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString(),
+ data_sources="MES"
}
});
}
@@ -3736,13 +3924,49 @@
#endregion
#region銆怑xcel鏁版嵁涓婁紶,搴撲綅璁剧疆銆�
- public static string SevenSubmit(string FileCode, string User, out string StuCode)
+ public static string SevenSubmit(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 i = 0; i < excelTable[0].Rows.Count; i++)
+ {
+ sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources)
+ values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ code = excelTable[0].Rows[i][0].ToString().Trim(),
+ name = excelTable[0].Rows[i][1].ToString().Trim(),
+ idwarehouse = excelTable[0].Rows[i][2].ToString().Trim(),
+ idparent = excelTable[0].Rows[i][3].ToString().Trim(),
+ status = excelTable[0].Rows[i][4].ToString().Trim(),
+ description = excelTable[0].Rows[i][5].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)
{
--
Gitblit v1.9.3