From 08bf2c11dcc62156c4ca6ecccaa515bef516c2b5 Mon Sep 17 00:00:00 2001
From: cdk <2441919651@qq.com>
Date: 星期二, 13 五月 2025 15:15:24 +0800
Subject: [PATCH] 增加委外领料单,销售退货,销售退货通知单,采购退货通知单的接口

---
 frmMain.cs               |   18 +
 HandleData/AE_MES_ERP.cs |  495 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 500 insertions(+), 13 deletions(-)

diff --git a/HandleData/AE_MES_ERP.cs b/HandleData/AE_MES_ERP.cs
index 3a4c58d..a03fea2 100644
--- a/HandleData/AE_MES_ERP.cs
+++ b/HandleData/AE_MES_ERP.cs
@@ -147,6 +147,8 @@
                 case "TB_MESTOERP_TransferIn"://鍒嗗竷寮忚皟鍏ュ崟
                 case "TB_MESTOERP_ZJDB"://鐩存帴璋冩嫧鍗�
                 case "TB_MESTOERP_WWDDXD"://濮斿璁㈠崟涓嬭揪
+                case "TB_MESTOERP_WWLL"://濮斿棰嗘枡鍗�
+                case "TB_MESTOERP_XSTH"://閿�鍞��璐�
                 case "TB_MESTOERP_WWCG"://濮斿涓嬫帹閲囪喘
                     result = MesToErp(drSource, ref msg, rtaskid);
                     break;
@@ -182,7 +184,14 @@
                 case "TB_ERPTOMES_WW":
                     result = TB_ERPTOMES_WW(taskid, inputds, operatype, ref msg);
                     break;
-
+                //26.TB_ERPTOMES_XSTH閿�鍞��璐ч�氱煡鍗�
+                case "TB_ERPTOMES_XSTH":
+                    result = TB_ERPTOMES_XSTH(taskid, inputds, operatype, ref msg);
+                    break;
+                //27.TB_ERPTOMES_CGTH閿�鍞��璐ч�氱煡鍗�
+                case "TB_ERPTOMES_CGTH":
+                    result = TB_ERPTOMES_CGTH(taskid, inputds, operatype, ref msg);
+                    break;
                 case "TB_XKY_GET_DHD"://鎺ㄩ�佸鏍搁�佽揣鍗�
                     result = XKY_GET_DHD(drSource, ref msg);
                     break;
@@ -1252,6 +1261,10 @@
                     colMapping[4] = new SqlBulkCopyColumnMapping("GYSA005", "GYS005"); //	缁勭粐鍙�
                     colMapping[5] = new SqlBulkCopyColumnMapping("ERPID", "ERPID"); //	ERPID
                     colMapping[6] = new SqlBulkCopyColumnMapping("FUseOrgId", "FUseOrgId"); //	鍐�/澶栭攢
+                    if (dt.Columns.Contains("GYSA006"))
+                    {
+                        colMapping[7] = new SqlBulkCopyColumnMapping("GYSA006", "GYSA006"); //澶囨敞
+                    }
                     //colMapping[8] = new SqlBulkCopyColumnMapping("AUDITING", "AUDITING");
 
                     return DataTableToSQLServer(dt, conStr, "GS_GYS", colMapping, ref ErrorMsg);
@@ -1273,8 +1286,24 @@
                                         FUseOrgld='{6}'
                                     where ERPID='{0}'; ", dr["ERPID"]
                                                         , dr["GYSA001"], dr["GYSA002"], dr["GYSA003"], dr["GYSA004"], dr["GYSA005"], dr["FUseOrgld"]);
+
+                        if (dt.Columns.Contains("GYSA006"))
+                        {
+                            sql = string.Format(@" update GS_GYS
+                                    set 
+                                        GYS001='{1}',
+                                        GYS002='{2}',
+                                        GYS003='{3}',
+                                        GYS004='{4}',
+                                        GYS005='{5}',
+                                        FUseOrgld='{6}',
+                                        GYS006='{7}'
+                                    where ERPID='{0}'; ", dr["ERPID"]
+                                , dr["GYSA001"], dr["GYSA002"], dr["GYSA003"], dr["GYSA004"], dr["GYSA005"], dr["FUseOrgld"], dr["GYSA006"]);
+                        }
                     }
                     return _sqlHelper.ExecuteNonQuery(sql) > 0;
+                    
                     #endregion
                 }
                 else //DELETE
@@ -1847,6 +1876,8 @@
             //鐢ㄦ潵鎷糏D闆嗗悎
             List<string> IDList = new List<string>();
             string dtName = "";
+            string statue = "";
+            string CGA001 = "";
             if (operatype != "INSERT" && operatype != "UPDATE")
             {
                 sql = string.Format(@" delete from GS_CG where CGA001 in ('{0}') ", operatype);
@@ -1915,6 +1946,12 @@
                                 {
                                     dr["CGA002"] = task_name == "TB_ERPTOMES_CG" ? "3301" : "3302";
                                 }
+
+                                if (dr["CGA005"].ToString() == "鏍囧噯濮斿璁㈠崟")
+                                {
+                                    statue = "濮斿";
+                                    CGA001 = dr["CGA001"].ToString();
+                                }
                             }
 
                             //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
@@ -1926,7 +1963,7 @@
                             //}
 
                             SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count];
-
+                            int i = 19;
                             colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp");
                             colMapping[1] = new SqlBulkCopyColumnMapping("NEWERPID", "ID"); //ID 
                             colMapping[2] = new SqlBulkCopyColumnMapping("CGA001", "CGA001"); //閲囪喘鍗曞彿
@@ -1948,7 +1985,7 @@
                             colMapping[18] = new SqlBulkCopyColumnMapping("CGA0017", "CGA017"); //澶囨敞
                             if (dt.Columns.Contains("CGAORG"))
                             {
-                                colMapping[19] = new SqlBulkCopyColumnMapping("CGAORG", "CGAORG"); //澶囨敞
+                                colMapping[i++] = new SqlBulkCopyColumnMapping("CGAORG", "CGAORG"); //澶囨敞
                             }
                             else
                             {
@@ -1956,11 +1993,15 @@
                             }
                             if (dt.Columns.Contains("CGA018"))
                             {
-                                colMapping[20] = new SqlBulkCopyColumnMapping("CGA018", "CGA018"); //澶囨敞
+                                colMapping[i++] = new SqlBulkCopyColumnMapping("CGA018", "CGA018"); //澶囨敞
                             }
                             if (dt.Columns.Contains("CGA0018"))
                             {
-                                colMapping[20] = new SqlBulkCopyColumnMapping("CGA0018", "CGA018"); //澶囨敞
+                                colMapping[i++] = new SqlBulkCopyColumnMapping("CGA0018", "CGA018"); //澶囨敞
+                            }
+                            if (dt.Columns.Contains("CGA0019"))
+                            {
+                                colMapping[i++] = new SqlBulkCopyColumnMapping("CGA0019", "CGA019"); //澶囨敞
                             }
 
 
@@ -2073,6 +2114,18 @@
                             colMapping[22] = new SqlBulkCopyColumnMapping("CGB0020", "CGB020"); //瓒呮敹姣斾緥
                             colMapping[23] = new SqlBulkCopyColumnMapping("CGB0021", "CGB021"); //鍚◣鍗曚环
                             colMapping[24] = new SqlBulkCopyColumnMapping("CGB0022", "CGB022"); //浠风◣鍚堣
+                            if (dt.Columns.Contains("CGB0024"))
+                            {
+                                colMapping[25] = new SqlBulkCopyColumnMapping("CGB0024", "CGB024"); //婧愬崟绫诲瀷
+                            }
+                            if (dt.Columns.Contains("CGB0025"))
+                            {
+                                colMapping[26] = new SqlBulkCopyColumnMapping("CGB0025", "CGB025"); //婧愬崟鍗曞彿
+                            }
+                            if (dt.Columns.Contains("CGB0026"))
+                            {
+                                colMapping[27] = new SqlBulkCopyColumnMapping("CGB0026", "CGB026"); //婧愬崟鏄庣粏ID
+                            }
                             DataTableToSQLServer(dt, conStr, "CGDB", colMapping, ref ErrorMsg);
 
                             foreach (DataRow dF in dt.Rows)
@@ -2080,7 +2133,7 @@
                                 string UP = string.Format(@"EXEC API_UPDATE_CGDB {0},{1} ", dF["CGB001"].ToString(), dF["CGB002"].ToString());
                                 _sqlHelper.ExecuteNonQuery(UP);
                             }
-
+                            
                             #endregion
                         }
 
@@ -2102,6 +2155,13 @@
                         #endregion
                     }
                 }
+
+                //if (statue == "濮斿")
+                //{
+                //    string WWSQL = string.Format(@"EXEC API_CREATE_LLD '{0}' ", CGA001);
+                //    _sqlHelper.ExecuteNonQuery(WWSQL);
+                //}
+
                 return true;
             }
             catch (Exception ex)
@@ -3125,7 +3185,10 @@
         /// <returns></returns>
         private bool MesToErp(DataRow dr, ref string ErrorMsg,string rtaskid)
         {
-            string sql = string.Format(@" update  sysdec set  states='NEWIN' WHERE TASK_ID='{0}' ", rtaskid);
+            var logId = Guid.NewGuid();
+            string sql = string.Format(@" update  sysdec set  states='NEWIN' WHERE TASK_ID='{0}' 
+                                    insert into SYSDECLOG 
+                                    select *,'{1}',GETDATE(),GETDATE() from SYSDEC where TASK_ID = '{0}' ", rtaskid, logId);
 
             _sqlHelper.ExecuteNonQuery(sql);
             try
@@ -3153,13 +3216,31 @@
 
                 _sqlHelper.ExecuteNonQuery(sql);
 
+
+                if (res.Contains("OK") || res.Contains("MES鍗曞彿鍞竴妫�娴嬩笉閫氳繃"))
+                {
+                    sql = string.Format(@" update  SYSDECLOG set  states='SUCCESS',msg = '{1}',endtime = GETDATE() WHERE logId='{0}' ", logId, res);
+
+                    _sqlHelper.ExecuteNonQuery(sql);
+                }
+                else
+                {
+                    sql = string.Format(@" update  SYSDECLOG set  states='FAIL',msg = '{1}',endtime = GETDATE()  WHERE logId='{0}' ", logId, res);
+
+                    _sqlHelper.ExecuteNonQuery(sql);
+                }
+
+                if (string.IsNullOrWhiteSpace(res)) {
+                    res = "鏁版嵁鏈夊紓甯�";
+                }
+
                 //string res = a.arg0.ws.MES_TO_ERP_DataTransport(task_name, descript, create_time, creator, operatype, source_table, target_table, data, data_inserted, data_deleted);
                 if (res.Contains("OK"))
                 {
                     ErrorMsg = res;
                     return true;
                 }
-                else if (res.Contains("MES鍗曞彿鍞竴妫�娴嬩笉閫氳繃"))
+                else if(res.Contains("MES鍗曞彿鍞竴妫�娴嬩笉閫氳繃"))
                 {
                     ErrorMsg = res;
                     return true;
@@ -4269,6 +4350,404 @@
         }
         #endregion
 
+        #region 26.ERPTHA閿�鍞��璐ч�氱煡鍗�(鍚屾鎺ㄩ��) bool TB_ERPTOMES_XSTH(string task_name,DataSet ds, string operatype, ref string ErrorMsg)
+        /// <summary>
+        /// ERPTHA閿�鍞��璐ч�氱煡鍗�(鍚屾鎺ㄩ��)
+        /// </summary>
+        /// <param name="task_name">浠诲姟鍚嶇О</param>
+        /// <param name="ds">鏁版嵁闆�</param>
+        /// <param name="operatype">鎵ц绫诲瀷</param>
+        /// <param name="ErrorMsg">閿欒璇存槑</param>
+        /// <returns></returns>
+        private bool TB_ERPTOMES_XSTH(string task_name, DataSet ds, string operatype, ref string ErrorMsg)
+        {
+            string sql = "";
+            //鐢ㄦ潵鎷糏D闆嗗悎
+            List<string> IDList = new List<string>();
+            string dtName = "";
+            string XSTHA001 = "";
+            if (operatype != "INSERT" && operatype != "UPDATE")
+            {
+                sql = string.Format(@" delete from GS_XSTHA where XSTHA001 in ('{0}') ", operatype);
+                string sqlTT = string.Format(@" delete from GS_XSTHB where XSTHB001 in ('{0}') ", operatype);
+                _sqlHelper.ExecuteNonQuery(sql);
+                _sqlHelper.ExecuteNonQuery(sqlTT);
+                return true;
+            }
+
+
+            if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+            {
+                ErrorMsg = "鐢熸垚鏁版嵁琛ㄥけ璐�";
+                return false;
+            }
+            try
+            {
+                foreach (DataTable dt in ds.Tables)
+                {
+                    dtName = dt.TableName;
+                    IDList.Clear();
+                    //涓讳粠琛ㄧ殑鍚屾锛屼慨鏀瑰拰鏂板涓�鏍凤紝鍏堝垹闄ゅ師璁板綍鍚庢彃鍏ユ柊璁板綍,瑕佹眰鍚屾杩囨潵鐨勬暟鎹篃鏄暣鍗曞畬鏁存暟鎹�
+                    if (operatype == "INSERT" || operatype == "UPDATE")
+                    {
+                        #region INSERT
+                        if (dt.TableName == "ERPSALRETURNNOTICEA")
+                        {
+                            #region 閿�鍞��璐ч�氱煡鍗曚富琛ㄧ殑澶勭悊
+                            dt.Columns.Add("AUDITING", typeof(string));
+
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                IDList.Add(dr["ERPID"].ToString());
+
+                                dr["AUDITING"] = "Y";
+                                XSTHA001 = dr["XSTHA001"].ToString();
+
+                                switch (dr["XSTHA005"].ToString())
+                                {
+                                    case "A":
+                                        dr["XSTHA005"] = "鍒涘缓";
+                                        break;
+                                    case "B":
+                                        dr["XSTHA005"] = "瀹℃牳涓�";
+                                        break;
+                                    case "C":
+                                        dr["XSTHA005"] = "宸插鏍�";
+                                        break;
+                                    case "D":
+                                        dr["XSTHA005"] = "閲嶆柊瀹℃牳";
+                                        break;
+                                    case "Z":
+                                        dr["XSTHA005"] = "鏆傚瓨";
+                                        break;
+                                }
+                                
+                            }
+
+                            //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
+                            DeleteDataBeforeInsert("GS_XSTHA", "ID", string.Join("','", IDList), "");
+                            //if (!DeleteDataBeforeInsert("PURDDA", "ERPID", string.Join("','", IDList), ""))
+                            //{
+                            //    ErrorMsg = "PURDDA閲嶅閿垹闄ゅけ璐ワ紒";
+                            //    return false;
+                            //}
+
+                            SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count];
+
+                            colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp");
+                            colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "ID"); //ID 
+                            colMapping[2] = new SqlBulkCopyColumnMapping("XSTHA001", "XSTHA001"); //閫�璐ч�氱煡鍗曞彿
+                            colMapping[3] = new SqlBulkCopyColumnMapping("XSTHA003", "XSTHA003"); //鍗曟嵁鏃ユ湡
+                            colMapping[4] = new SqlBulkCopyColumnMapping("XSTHA004", "XSTHA004"); //鍗曟嵁绫诲瀷
+                            colMapping[5] = new SqlBulkCopyColumnMapping("XSTHA005", "XSTHA005"); //鍗曟嵁鐘舵��
+                            colMapping[6] = new SqlBulkCopyColumnMapping("XSTHA006", "XSTHA006"); //鍗曟嵁绫诲瀷
+                            colMapping[7] = new SqlBulkCopyColumnMapping("XSTHA007", "XSTHA007"); //閿�鍞粍缁�
+                            colMapping[8] = new SqlBulkCopyColumnMapping("XSTHA008", "XSTHA008"); //閿�鍞儴闂�
+                            colMapping[9] = new SqlBulkCopyColumnMapping("XSTHA009", "XSTHA009"); //閫�璐у鎴� 
+                            colMapping[10] = new SqlBulkCopyColumnMapping("XSTHA010", "XSTHA010"); //缁撶畻甯佸埆
+                            colMapping[11] = new SqlBulkCopyColumnMapping("XSTHA011", "XSTHA011"); //搴撳瓨缁勭粐
+                            colMapping[12] = new SqlBulkCopyColumnMapping("XSTHA012", "XSTHA012"); //澶囨敞
+                            colMapping[13] = new SqlBulkCopyColumnMapping("XSTHA013", "XSTHA013"); //閫�璐у師鍥�
+
+
+                            DataTableToSQLServer(dt, conStr, "GS_XSTHA", colMapping, ref ErrorMsg);
+                            #endregion
+                        }
+                        if (dt.TableName == "ERPSALRETURNNOTICEB")
+                        {
+                            #region 閲囪喘璁㈠崟鏄庣粏鐨勫鐞�
+                            dt.Columns.Add("AUDITING", typeof(string));
+
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                IDList.Add(dr["ERPID"].ToString());
+
+                                dr["AUDITING"] = "Y";
+                            }
+
+                            //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
+                            DeleteDataBeforeInsert("GS_XSTHB", "PID", string.Join("','", IDList), "");
+                            //if (!DeleteDataBeforeInsert("PURDDB", "ERPID+DDB002", string.Join("','", IDList), ""))
+                            //{
+                            //    ErrorMsg = "PURDDB閲嶅閿垹闄ゅけ璐ワ紒";
+                            //    return false;
+                            //}
+
+                            SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count];
+                            colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp");
+                            colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "PID"); //ERPID
+                            colMapping[2] = new SqlBulkCopyColumnMapping("XSTHB001", "XSTHB001"); //鐗╂枡ID
+                            colMapping[3] = new SqlBulkCopyColumnMapping("XSTHB002", "XSTHB002"); //鐗╂枡缂栫爜
+                            colMapping[4] = new SqlBulkCopyColumnMapping("XSTHB003", "XSTHB003"); //鐗╂枡鍚嶇О
+                            colMapping[5] = new SqlBulkCopyColumnMapping("XSTHB004", "XSTHB004"); //瑙勬牸鍨嬪彿
+                            colMapping[6] = new SqlBulkCopyColumnMapping("XSTHB005", "XSTHB005"); //閿�鍞崟浣�
+                            colMapping[7] = new SqlBulkCopyColumnMapping("XSTHB006", "XSTHB006"); //瀹為��鏁伴噺
+                            colMapping[8] = new SqlBulkCopyColumnMapping("XSTHB007", "XSTHB007"); //瀹㈡埛鐗╂枡缂栫爜
+                            colMapping[9] = new SqlBulkCopyColumnMapping("XSTHB008", "XSTHB008"); //瀹㈡埛鐗╂枡鍚嶇О
+                            colMapping[10] = new SqlBulkCopyColumnMapping("XSTHB009", "XSTHB009"); //閫�璐х被鍨�
+                            colMapping[11] = new SqlBulkCopyColumnMapping("XSTHB010", "XSTHB010"); //浠撳簱
+                            colMapping[12] = new SqlBulkCopyColumnMapping("XSTHB011", "XSTHB011"); //閫�璐ф棩鏈�
+                            colMapping[13] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //鏄庣粏ID
+                            //colMapping[14] = new SqlBulkCopyColumnMapping("XSTHB006", "XSTHB012"); //鏄庣粏ID
+                            DataTableToSQLServer(dt, conStr, "GS_XSTHB", colMapping, ref ErrorMsg);
+
+                            #endregion
+                        }
+
+                        #endregion
+                    }
+                    else //DELETE
+                    {
+                        //ErrorMsg = "鎵ц鍒犻櫎鏁版嵁琛�";
+                        #region DELETE
+                        //if (dt.TableName == "ERPCGA")
+                        //{
+                        //    foreach (DataRow dr in dt.Rows)
+                        //    {
+                        //        IDList.Add(dr["ERPID"].ToString());
+                        //    }
+                        //    sql = string.Format(@" delete from PURDDA where ERPID in ('{0}');  delete from PURDDB where ERPID in ('{0}'); ", string.Join("','", IDList));
+                        //}
+                        //_sqlHelper.ExecuteNonQuery(sql);
+                        #endregion
+                    }
+                }
+                    string UP = string.Format(@"EXEC API_UPDATE_XSTH '{0}' ", XSTHA001);
+                    _sqlHelper.ExecuteNonQuery(UP);
+                return true;
+            }
+            catch (Exception ex)
+            {
+                ErrorMsg = "[" + dtName + "]" + ex.Message;
+                return false;
+            }
+        }
+        #endregion
+
+        #region 27.ERPCTHA閲囪喘閫�璐ч�氱煡鍗�(鍚屾鎺ㄩ��) bool TB_ERPTOMES_CGTH(string task_name,DataSet ds, string operatype, ref string ErrorMsg)
+        /// <summary>
+        /// ERPCGA閲囪喘璁㈠崟锝滃澶栬鍗�(鍚屾鎺ㄩ��)
+        /// </summary>
+        /// <param name="task_name">浠诲姟鍚嶇О</param>
+        /// <param name="ds">鏁版嵁闆�</param>
+        /// <param name="operatype">鎵ц绫诲瀷</param>
+        /// <param name="ErrorMsg">閿欒璇存槑</param>
+        /// <returns></returns>
+        private bool TB_ERPTOMES_CGTH(string task_name, DataSet ds, string operatype, ref string ErrorMsg)
+        {
+            string sql = "";
+            //鐢ㄦ潵鎷糏D闆嗗悎
+            List<string> IDList = new List<string>();
+            string dtName = "";
+            if (operatype != "INSERT" && operatype != "UPDATE")
+            {
+                sql = string.Format(@" delete from GS_CGTHA where CGTHA001 in ('{0}') ", operatype);
+                string sqlTT = string.Format(@" delete from GS_CGTHB where CGTHB001 in ('{0}') ", operatype);
+                _sqlHelper.ExecuteNonQuery(sql);
+                _sqlHelper.ExecuteNonQuery(sqlTT);
+                return true;
+            }
+
+
+            if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+            {
+                ErrorMsg = "鐢熸垚鏁版嵁琛ㄥけ璐�";
+                return false;
+            }
+            try
+            {
+                foreach (DataTable dt in ds.Tables)
+                {
+                    dtName = dt.TableName;
+                    IDList.Clear();
+                    //涓讳粠琛ㄧ殑鍚屾锛屼慨鏀瑰拰鏂板涓�鏍凤紝鍏堝垹闄ゅ師璁板綍鍚庢彃鍏ユ柊璁板綍,瑕佹眰鍚屾杩囨潵鐨勬暟鎹篃鏄暣鍗曞畬鏁存暟鎹�
+                    if (operatype == "INSERT" || operatype == "UPDATE")
+                    {
+                        #region INSERT
+                        if (dt.TableName == "ERPCGTHA")
+                        {
+                            #region 閿�鍞��璐ч�氱煡鍗曚富琛ㄧ殑澶勭悊
+                            dt.Columns.Add("AUDITING", typeof(string));
+
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                IDList.Add(dr["ERPID"].ToString());
+                                dr["AUDITING"] = "Y";
+                                dr["AUDITING"] = "Y";
+
+                                switch (dr["CGTHA008"].ToString())
+                                {
+                                    case "A":
+                                        dr["CGTHA008"] = "妫�楠岄��鏂�";
+                                        break;
+                                    case "B":
+                                        dr["CGTHA008"] = "搴撳瓨閫�鏂�";
+                                        break;
+                                }
+
+                                switch (dr["CGTHA009"].ToString())
+                                {
+                                    case "A":
+                                        dr["CGTHA009"] = "閫�鏂欒ˉ鏂�";
+                                        break;
+                                    case "B":
+                                        dr["CGTHA009"] = "閫�鏂欐墸娆�";
+                                        break;
+                                }
+
+                                switch (dr["CGTHA015"].ToString())
+                                {
+                                    case "A":
+                                        dr["CGTHA015"] = "鍒涘缓";
+                                        break;
+                                    case "B":
+                                        dr["CGTHA015"] = "瀹℃牳涓�";
+                                        break;
+                                    case "C":
+                                        dr["CGTHA015"] = "宸插鏍�";
+                                        break;
+                                    case "D":
+                                        dr["CGTHA015"] = "閲嶆柊瀹℃牳";
+                                        break;
+                                    case "Z":
+                                        dr["CGTHA015"] = "鏆傚瓨";
+                                        break;
+                                }
+                            }
+
+                            //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
+                            DeleteDataBeforeInsert("GS_CGTHA", "ID", string.Join("','", IDList), "");
+                            //if (!DeleteDataBeforeInsert("PURDDA", "ERPID", string.Join("','", IDList), ""))
+                            //{
+                            //    ErrorMsg = "PURDDA閲嶅閿垹闄ゅけ璐ワ紒";
+                            //    return false;
+                            //}
+
+                            SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count];
+
+                            colMapping[0] = new SqlBulkCopyColumnMapping("CGTHA001", "CGTHA001"); //鍗曟嵁缂栧彿
+                            colMapping[1] = new SqlBulkCopyColumnMapping("CGTHA002", "CGTHA002"); //鍗曟嵁鏃ユ湡
+                            colMapping[2] = new SqlBulkCopyColumnMapping("CGTHA003", "CGTHA003"); //鍗曟嵁绫诲瀷
+                            colMapping[3] = new SqlBulkCopyColumnMapping("CGTHA004", "CGTHA004"); //鍗曟嵁绫诲瀷
+                            colMapping[4] = new SqlBulkCopyColumnMapping("CGTHA005", "CGTHA005"); //涓氬姟绫诲瀷 
+                            colMapping[5] = new SqlBulkCopyColumnMapping("CGTHA006", "CGTHA006"); //渚涘簲鍟�
+                            colMapping[6] = new SqlBulkCopyColumnMapping("CGTHA007", "CGTHA007"); //閲囪喘缁勭粐
+                            colMapping[7] = new SqlBulkCopyColumnMapping("CGTHA008", "CGTHA008"); //閫�鏂欑被鍨�
+                            colMapping[8] = new SqlBulkCopyColumnMapping("CGTHA009", "CGTHA009"); //閫�鏂欐柟寮�
+                            colMapping[9] = new SqlBulkCopyColumnMapping("CGTHA010", "CGTHA010"); //琛ユ枡鏂瑰紡
+                            colMapping[10] = new SqlBulkCopyColumnMapping("CGTHA011", "CGTHA011"); //鐢宠缁勭粐
+                            colMapping[11] = new SqlBulkCopyColumnMapping("CGTHA012", "CGTHA012"); //闇�姹傜粍缁�
+                            colMapping[12] = new SqlBulkCopyColumnMapping("CGTHA013", "CGTHA013"); //甯佸埆
+                            colMapping[13] = new SqlBulkCopyColumnMapping("CGTHA015", "CGTHA015"); //鍗曟嵁鐘舵��
+                            colMapping[14] = new SqlBulkCopyColumnMapping("CGTHA016", "CGTHA016"); //澶囨敞
+                            colMapping[15] = new SqlBulkCopyColumnMapping("CGTHA017", "CGTHA017"); //缁撶畻缁勭粐
+                            colMapping[16] = new SqlBulkCopyColumnMapping("ERPID", "ID"); //ERPID
+                            colMapping[17] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp");
+
+                            DataTableToSQLServer(dt, conStr, "GS_CGTHA", colMapping, ref ErrorMsg);
+                            #endregion
+                        }
+                        if (dt.TableName == "ERPCGTHB")
+                        {
+                            #region 閲囪喘璁㈠崟鏄庣粏鐨勫鐞�
+                            dt.Columns.Add("AUDITING", typeof(string));
+
+                            foreach (DataRow dr in dt.Rows)
+                            {
+                                IDList.Add(dr["ERPID"].ToString());
+
+                                dr["AUDITING"] = "Y";
+                                //搴旈��鏁伴噺
+                                if (dr["CGTHB006"].ToString() == "")
+                                {
+                                    dr["CGTHB006"] = "0";
+                                }
+                                else
+                                {
+                                    double A = Convert.ToDouble(dr["CGTHB006"].ToString());
+                                    string B = A.ToString();
+                                    dr["CGTHB006"] = B;
+                                }
+
+                                //瀹為��鏁伴噺
+                                if (dr["CGTHB007"].ToString() == "")
+                                {
+                                    dr["CGTHB007"] = "0";
+                                }
+                                else
+                                {
+                                    double A = Convert.ToDouble(dr["CGTHB007"].ToString());
+                                    string B = A.ToString();
+                                    dr["CGTHB007"] = B;
+                                }
+
+                                if (dr["CGTHB008"].ToString() == "")
+                                {
+                                    dr["CGTHB008"] = "0";
+                                }
+                                else
+                                {
+                                    double A = Convert.ToDouble(dr["CGTHB008"].ToString());
+                                    string B = A.ToString();
+                                    dr["CGTHB008"] = B;
+                                }
+                            }
+
+                            //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿�
+                            DeleteDataBeforeInsert("GS_CGTHB", "PID", string.Join("','", IDList), "");
+                            //if (!DeleteDataBeforeInsert("PURDDB", "ERPID+DDB002", string.Join("','", IDList), ""))
+                            //{
+                            //    ErrorMsg = "PURDDB閲嶅閿垹闄ゅけ璐ワ紒";
+                            //    return false;
+                            //}
+
+                            SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count];
+                            colMapping[0] = new SqlBulkCopyColumnMapping("AUDITING", "flagApp");
+                            colMapping[1] = new SqlBulkCopyColumnMapping("ERPID", "PID"); //ERPID
+                            colMapping[2] = new SqlBulkCopyColumnMapping("CGTHB001", "CGTHB001"); //閲囪喘閫�鏂欓�氱煡鍗曞彿
+                            colMapping[3] = new SqlBulkCopyColumnMapping("CGTHB002", "CGTHB002"); //搴忓彿
+                            colMapping[4] = new SqlBulkCopyColumnMapping("CGTHB003", "CGTHB003"); //鐗╂枡缂栫爜
+                            colMapping[5] = new SqlBulkCopyColumnMapping("CGTHB004", "CGTHB004"); //鐗╂枡鍚嶇О
+                            colMapping[6] = new SqlBulkCopyColumnMapping("CGTHB005", "CGTHB005"); //瑙勬牸鍨嬪彿 
+                            colMapping[7] = new SqlBulkCopyColumnMapping("CGTHB006", "CGTHB006"); //鐢宠閫�鏂欐暟閲�
+                            colMapping[8] = new SqlBulkCopyColumnMapping("CGTHB007", "CGTHB007"); //琛ユ枡鏁伴噺
+                            colMapping[9] = new SqlBulkCopyColumnMapping("CGTHB008", "CGTHB008"); //鎵f鏁伴噺
+                            colMapping[10] = new SqlBulkCopyColumnMapping("CGTHB009", "CGTHB009"); //搴撳瓨鍗曚綅
+                            colMapping[11] = new SqlBulkCopyColumnMapping("CGTHB010", "CGTHB010"); //璁′环鍗曚綅
+                            colMapping[12] = new SqlBulkCopyColumnMapping("CGTHB011", "CGTHB011"); //閫�璐у師鍥�
+                            colMapping[13] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //鏄庣粏ID
+                            DataTableToSQLServer(dt, conStr, "GS_CGTHB", colMapping, ref ErrorMsg);
+                            #endregion
+                        }
+
+                        #endregion
+                    }
+                    else //DELETE
+                    {
+                        //ErrorMsg = "鎵ц鍒犻櫎鏁版嵁琛�";
+                        #region DELETE
+                        //if (dt.TableName == "ERPCGA")
+                        //{
+                        //    foreach (DataRow dr in dt.Rows)
+                        //    {
+                        //        IDList.Add(dr["ERPID"].ToString());
+                        //    }
+                        //    sql = string.Format(@" delete from PURDDA where ERPID in ('{0}');  delete from PURDDB where ERPID in ('{0}'); ", string.Join("','", IDList));
+                        //}
+                        //_sqlHelper.ExecuteNonQuery(sql);
+                        #endregion
+                    }
+                }
+                return true;
+            }
+            catch (Exception ex)
+            {
+                ErrorMsg = "[" + dtName + "]" + ex.Message;
+                return false;
+            }
+        }
+        #endregion
+
         private bool XKY_GET_DHD(DataRow dr, ref string ErrorMsg)
         {
 
diff --git a/frmMain.cs b/frmMain.cs
index d683adc..8a30951 100644
--- a/frmMain.cs
+++ b/frmMain.cs
@@ -163,7 +163,9 @@
                                                                                 'TB_ERPTOMES_GDRK',
                                                                                 'TB_ERPTOMES_WCK',
                                                                                 'TB_ERPTOMES_CGDH',
-                                                                                'TB_ERPTOME_KHWL') then 2
+                                                                                'TB_ERPTOME_KHWL',
+                                                                                'TB_ERPTOMES_XSTH',
+                                                                                'TB_ERPTOMES_CGTH') then 2
                                                              when task_name in ('TB_MESTOERP_WGRK',
                                                                                 'TB_MESTOERP_WWRK',
                                                                                 'TB_MESTOERP_QTRK',
@@ -185,10 +187,13 @@
                                                                                 'TB_MESTOERP_TransferIn',
                                                                                 'TB_MESTOERP_WLQDBBV2',
                                                                                 'TB_MESTOERP_WWDDXD',
-                                                                                'TB_MESTOERP_WWCG'
+                                                                                'TB_MESTOERP_WWCG',
+                                                                                'TB_MESTOERP_WWLL',
+                                                                                'TB_MESTOERP_XSTH'
                                                                                 ) then 3
 			                                                    else 4 end gp,* 
-	                                                    from SYSDEC  WITH(nolock) where states='NEW'  AND   descript IN ('鐢ㄦ枡娓呭崟鍙樻洿','楂樺啿鐗╂枡鍙樻洿','鐗╂枡淇℃伅琛�','浠撳簱淇℃伅琛�','閮ㄩ棬淇℃伅琛�','鍛樺伐淇℃伅琛�','閮ㄩ棬淇℃伅琛�','棰嗘枡鍗�','鎴愬搧鍏ュ簱鍗�','閲囪喘鍏ュ簱鍗�','鏀舵枡閫氱煡鍗�','鐢熶骇璁㈠崟涓嬭揪','鐗╂枡瀹㈡埛瀵瑰簲琛�','閲囪喘璁㈠崟','鍙戣揣閫氱煡鍗�','閿�鍞嚭搴撳崟','鐢熶骇棰嗘枡鍗�','鍒嗘璋冨叆鍗�','鐢熶骇閫�鏂欏崟','鐩存帴璋冩嫧鍗�','鐢熶骇琛ユ枡鍗�','濮斿璁㈠崟','鍏朵粬鍏ュ簱鍗�','鍏朵粬鍑哄簱鍗�','渚涘簲鍟嗕俊鎭〃','濮斿璁㈠崟涓嬭揪','濮斿涓嬫帹閲囪喘')
+	                                                    from SYSDEC  WITH(nolock) where states='NEW'  AND   descript IN ('鐢ㄦ枡娓呭崟鍙樻洿','楂樺啿鐗╂枡鍙樻洿','鐗╂枡淇℃伅琛�','浠撳簱淇℃伅琛�','閮ㄩ棬淇℃伅琛�','鍛樺伐淇℃伅琛�','閮ㄩ棬淇℃伅琛�','棰嗘枡鍗�','濮斿棰嗘枡鍗�','閿�鍞��璐у崟',
+                                                                                  '鎴愬搧鍏ュ簱鍗�','閲囪喘鍏ュ簱鍗�','鏀舵枡閫氱煡鍗�','鐢熶骇璁㈠崟涓嬭揪','鐗╂枡瀹㈡埛瀵瑰簲琛�','閲囪喘璁㈠崟','鍙戣揣閫氱煡鍗�','閿�鍞��璐�','閲囪喘閫�璐�','閿�鍞嚭搴撳崟','鐢熶骇棰嗘枡鍗�','鍒嗘璋冨叆鍗�','鐢熶骇閫�鏂欏崟','鐩存帴璋冩嫧鍗�','鐢熶骇琛ユ枡鍗�','濮斿璁㈠崟','鍏朵粬鍏ュ簱鍗�','鍏朵粬鍑哄簱鍗�','渚涘簲鍟嗕俊鎭〃','濮斿璁㈠崟涓嬭揪','濮斿涓嬫帹閲囪喘')
                                                                 --and task_name='TB_ERPTOMES_CG' 
                                                         order by create_time
 														union all
@@ -226,7 +231,9 @@
                                                                                 'TB_ERPTOMES_GDRK',
                                                                                 'TB_ERPTOMES_WCK',
                                                                                 'TB_ERPTOMES_CGDH',
-                                                                                'TB_ERPTOME_KHWL') then 2
+                                                                                'TB_ERPTOME_KHWL',
+                                                                                'TB_ERPTOMES_XSTH',
+                                                                                'TB_ERPTOMES_CGTH') then 2
                                                              when task_name in ('TB_MESTOERP_WGRK',
                                                                                 'TB_MESTOERP_WWRK',
                                                                                 'TB_MESTOERP_QTRK',
@@ -246,7 +253,8 @@
                                                                                 'TB_MESTOERP_WLQDBBV2',
                                                                                 'TB_MESTOERP_TransferIn',
                                                                                 'TB_MESTOERP_WWDDXD',
-                                                                                'TB_MESTOERP_WWCG') then 3
+                                                                                'TB_MESTOERP_WWCG',
+                                                                                'TB_MESTOERP_XSTH') then 3
 			                                                    else 4 end gp,* 
 	                                                    from SYSDEC  WITH(nolock) where states='FAIL' and retry_times<1 and CREATE_TIME>'2024-06-14 13:13:34'  AND descript IN ('鐢ㄦ枡娓呭崟鍙樻洿','楂樺啿鐗╂枡鍙樻洿','鐗╂枡淇℃伅琛�','浠撳簱淇℃伅琛�','閮ㄩ棬淇℃伅琛�','鍛樺伐淇℃伅琛�','鐢熶骇鎶曟枡鍗�','閮ㄩ棬淇℃伅琛�','棰嗘枡鍗�','鎴愬搧鍏ュ簱鍗�','閲囪喘鍏ュ簱鍗�','鐢熶骇璁㈠崟涓嬭揪','鐗╂枡瀹㈡埛瀵瑰簲琛�','閲囪喘璁㈠崟','鍙戣揣閫氱煡鍗�','閿�鍞嚭搴撳崟','鍒嗘璋冨叆鍗�','鐢熶骇棰嗘枡鍗�','鐢熶骇閫�鏂欏崟','鐢熶骇琛ユ枡鍗�','渚涘簲鍟嗕俊鎭〃','濮斿璁㈠崟涓嬭揪','濮斿涓嬫帹閲囪喘')
                                                                             and task_name not in ('TB_MESTOERP_WGRK',

--
Gitblit v1.9.3