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