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