From 642780a87aa22b7e83d33ab9779a490da7468f9a Mon Sep 17 00:00:00 2001 From: cdk <2441919651@qq.com> Date: 星期一, 14 七月 2025 09:05:26 +0800 Subject: [PATCH] 物料增加固定提前期和物料属性 --- HandleData/AE_MES_ERP.cs | 663 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 629 insertions(+), 34 deletions(-) diff --git a/HandleData/AE_MES_ERP.cs b/HandleData/AE_MES_ERP.cs index 8360e9c..9807ec0 100644 --- a/HandleData/AE_MES_ERP.cs +++ b/HandleData/AE_MES_ERP.cs @@ -126,9 +126,11 @@ case "TB_MESTOERP_WWRK"://MESWWRK閲戣澏鏉$爜鍏ュ簱锛堝澶栧叆搴擄級(鍚屾鎺ㄩ��) case "TB_MESTOERP_QTRK"://MESQTRK閲戣澏鏉$爜鍏ュ簱锛堝叾浠栧叆搴擄級(鍚屾鎺ㄩ��) case "TB_MESTOERP_CPRK"://MESCPRK閲戣澏鏉$爜鍏ュ簱锛堜骇鍝佸叆搴擄級(鍚屾鎺ㄩ��) + case "TB_MESTOERP_SLTZ"://MESCPRK閲戣澏锛堟敹鏂欓�氱煡鍗曪級(鍚屾鎺ㄩ��) case "TB_MESTOERP_CGRK"://MESCPRK閲戣澏鏉$爜鍏ュ簱锛堥噰璐叆搴擄級(鍚屾鎺ㄩ��) case "TB_MESTOERP_XSCK"://MESCPRK閲戣澏鏉$爜鍑哄簱锛堥攢鍞嚭搴擄級(鍚屾鎺ㄩ��) case "TB_MESTOERP_WLQDBB"://MESGCBOM閲戣澏楂樺啿鐢ㄦ枡鍙樻洿(鍚屾鎺ㄩ��) + case "TB_MESTOERP_WLQDBBV2"://MESGCBOM閲戣澏鐢ㄦ枡鍙樻洿(鍚屾鎺ㄩ��) case "TB_MESTOERP_DD"://MESDD閲戣澏鏉$爜鍏ュ簱锛堣皟鎷級(鍚屾鎺ㄩ��) case "TB_MESTOERP_PYPK"://MESPYPK閲戣澏鏉$爜鍏ュ簱锛堢洏鐩堢洏浜忥級(鍚屾鎺ㄩ��) case "TB_MESTOERP_LL"://MESLL閲戣澏鏉$爜鍑哄簱锛堥鏂欏崟锛�(鍚屾鎺ㄩ��) @@ -145,6 +147,9 @@ case "TB_MESTOERP_TransferIn"://鍒嗗竷寮忚皟鍏ュ崟 case "TB_MESTOERP_ZJDB"://鐩存帴璋冩嫧鍗� case "TB_MESTOERP_WWDDXD"://濮斿璁㈠崟涓嬭揪 + case "TB_MESTOERP_WWLL"://濮斿棰嗘枡鍗� + case "TB_MESTOERP_XSTH"://閿�鍞��璐� + case "TB_MESTOERP_CGTL"://閲囪喘閫�璐� case "TB_MESTOERP_WWCG"://濮斿涓嬫帹閲囪喘 result = MesToErp(drSource, ref msg, rtaskid); break; @@ -180,7 +185,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; @@ -833,10 +845,10 @@ // return false; //} //閫夋嫨鎯宠鐨勫垪鎻掑叆鏂拌〃 - DataTable dtHead = dt.DefaultView.ToTable(true, "WLA001", "WLA002", "WLA003", "WLA004", "WLA005", "WLA006", "WLA007", "WLA008", "WLA009", "WLA010", "WLA011", "WLA012", "WLA015", "ERPID", "AUDITING", "WLA013", - "WLA014", "WLA020", "WLA021", "WLA022", "WLA023", "WLA024", "WLA025", "WLA026", "WLA027", "WLA028", "WLA029", "WLA030", "WLA031", "WLA032", "WLA033", "WLA034", "WLA035", "WLA036", "WLA037", "WLA038", "WLA039", - "WLA040", "WLA041","WLA042", "WLA043", "WLA044", "WLA045", "WLA046", "WLA047", "WLA048", "WLA049", "WLA050", "WLA051", "WLA052", "WLA053", "WLA054", "WLA055","WLA056", "WLA057", "WLA058"); - SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dtHead.Columns.Count]; + DataTable dtHead = dt.DefaultView.ToTable(true, "WLA001", "WLA002", "WLA003", "WLA004", "WLA005", "WLA006", "WLA007", "WLA008", "WLA009", "WLA010", "WLA011", "WLA012", "WLA015", "ERPID", "AUDITING", "WLA013", + "WLA014", "WLA020", "WLA021", "WLA022", "WLA023", "WLA024", "WLA025", "WLA026", "WLA027", "WLA028", "WLA029", "WLA030", "WLA031", "WLA032", "WLA033", "WLA034", "WLA035", "WLA036", "WLA037", "WLA038", "WLA039", + "WLA040", "WLA041", "WLA042", "WLA043", "WLA044", "WLA045", "WLA046", "WLA047", "WLA048", "WLA049", "WLA050", "WLA051", "WLA052", "WLA053", "WLA054", "WLA055", "WLA056", "WLA057", "WLA058", "WLA059", "WLA060", "WLA061"); + SqlBulkCopyColumnMapping[] colMapping = new SqlBulkCopyColumnMapping[dt.Columns.Count]; colMapping[0] = new SqlBulkCopyColumnMapping("WLA001", "WL001"); // 鐗╂枡缂栫爜 colMapping[1] = new SqlBulkCopyColumnMapping("WLA002", "WL002"); // 鐗╂枡鍚嶇О @@ -903,8 +915,13 @@ colMapping[53] = new SqlBulkCopyColumnMapping("WLA056", "WL069"); colMapping[54] = new SqlBulkCopyColumnMapping("WLA057", "WL070"); colMapping[55] = new SqlBulkCopyColumnMapping("WLA058", "WL071"); - - + colMapping[56] = new SqlBulkCopyColumnMapping("WLA059", "WL072"); + if (dt.Columns.Contains("WLA060")) + { + colMapping[57] = new SqlBulkCopyColumnMapping("WLA060", "WL073"); // 鍥哄畾鎻愬墠鏈� + colMapping[58] = new SqlBulkCopyColumnMapping("WLA061", "WL074"); // 鐗╂枡灞炴�� + } + return DataTableToSQLServer(dtHead, conStr, "GS_WL", colMapping, ref ErrorMsg); @@ -918,8 +935,10 @@ { string str = dr["WLA016"].ToString(); string strT = dr["WLA018"].ToString(); - //dr["WLA011"] = str + "." + strT; - sql += string.Format(@" update GS_WL + //dr["WLA011"] = str + "." + strT; + if (dt.Columns.Contains("WLA060")) + { + sql += string.Format(@" update GS_WL set WL001='{1}', WL002='{2}', @@ -938,15 +957,50 @@ WL008='{15}',ERPID='{16}', WL039='{17}',WL040='{18}',WL041='{19}',WL042='{20}',WL043='{21}',WL044='{22}',WL045='{23}',WL046='{24}',WL047='{25}',WL048='{26}', WL049='{27}',WL050='{28}',WL051='{29}',WL052='{30}',WL053='{31}',WL054='{32}',WL055='{33}',WL056='{34}',WL057='{35}',WL058='{36}', - WL059='{37}',WL060='{38}',WL061='{39}',WL062='{40}',WL063='{41}',WL064='{42}',WL065='{43}',WL066='{44}',WL067='{45}',WL068='{46}',WL069='{47}',WL070='{48}',WL071='{49}' + WL059='{37}',WL060='{38}',WL061='{39}',WL062='{40}',WL063='{41}',WL064='{42}',WL065='{43}',WL066='{44}',WL067='{45}',WL068='{46}', + WL069='{47}',WL070='{48}',WL071='{49}',WL072='{50}',WL073='{51}',WL074='{52}' where WL001='{0}'; ", dr["WLA001"] - , dr["WLA001"], dr["WLA002"], dr["WLA003"], dr["WLA004"], dr["WLA005"], dr["WLA006"], dr["WLA007"] - , dr["WLA008"], dr["WLA009"], dr["WLA010"], dr["WLA011"], dr["WLA015"], dr["WLA013"], dr["WLA014"], dr["WLA025"], dr["ERPID"] - , dr["WLA026"], dr["WLA027"], dr["WLA028"], dr["WLA029"], dr["WLA030"], dr["WLA031"], dr["WLA032"], dr["WLA033"], dr["WLA034"] - , dr["WLA035"], dr["WLA036"], dr["WLA037"], dr["WLA038"], dr["WLA039"], dr["WLA040"], dr["WLA041"], dr["WLA042"], dr["WLA043"] - , dr["WLA044"], dr["WLA045"], dr["WLA046"], dr["WLA047"], dr["WLA048"], dr["WLA049"], dr["WLA050"], dr["WLA051"], dr["WLA052"] - , dr["WLA053"], dr["WLA054"], dr["WLA055"], dr["WLA056"], dr["WLA057"], dr["WLA058"] - ); + , dr["WLA001"], dr["WLA002"], dr["WLA003"], dr["WLA004"], dr["WLA005"], dr["WLA006"], dr["WLA007"] + , dr["WLA008"], dr["WLA009"], dr["WLA010"], dr["WLA011"], dr["WLA015"], dr["WLA013"], dr["WLA014"], dr["WLA025"], dr["ERPID"] + , dr["WLA026"], dr["WLA027"], dr["WLA028"], dr["WLA029"], dr["WLA030"], dr["WLA031"], dr["WLA032"], dr["WLA033"], dr["WLA034"] + , dr["WLA035"], dr["WLA036"], dr["WLA037"], dr["WLA038"], dr["WLA039"], dr["WLA040"], dr["WLA041"], dr["WLA042"], dr["WLA043"] + , dr["WLA044"], dr["WLA045"], dr["WLA046"], dr["WLA047"], dr["WLA048"], dr["WLA049"], dr["WLA050"], dr["WLA051"], dr["WLA052"] + , dr["WLA053"], dr["WLA054"], dr["WLA055"], dr["WLA056"], dr["WLA057"], dr["WLA058"], dr["WLA059"], dr["WLA060"], dr["WLA061"] + ); + } + else + { + sql += string.Format(@" update GS_WL + set + WL001='{1}', + WL002='{2}', + WL004='{3}', + WL005='{4}', + WL007='{5}', + WL011='{6}', + WL012='{7}', + WL013='{8}', + WL020='{9}', + WL026='{10}', + WL003='{11}', + WL024='{12}', + WL015='{13}', + WL017='{14}', + WL008='{15}',ERPID='{16}', + WL039='{17}',WL040='{18}',WL041='{19}',WL042='{20}',WL043='{21}',WL044='{22}',WL045='{23}',WL046='{24}',WL047='{25}',WL048='{26}', + WL049='{27}',WL050='{28}',WL051='{29}',WL052='{30}',WL053='{31}',WL054='{32}',WL055='{33}',WL056='{34}',WL057='{35}',WL058='{36}', + WL059='{37}',WL060='{38}',WL061='{39}',WL062='{40}',WL063='{41}',WL064='{42}',WL065='{43}',WL066='{44}',WL067='{45}',WL068='{46}', + WL069='{47}',WL070='{48}',WL071='{49}',WL072='{50}' + where WL001='{0}'; ", dr["WLA001"] + , dr["WLA001"], dr["WLA002"], dr["WLA003"], dr["WLA004"], dr["WLA005"], dr["WLA006"], dr["WLA007"] + , dr["WLA008"], dr["WLA009"], dr["WLA010"], dr["WLA011"], dr["WLA015"], dr["WLA013"], dr["WLA014"], dr["WLA025"], dr["ERPID"] + , dr["WLA026"], dr["WLA027"], dr["WLA028"], dr["WLA029"], dr["WLA030"], dr["WLA031"], dr["WLA032"], dr["WLA033"], dr["WLA034"] + , dr["WLA035"], dr["WLA036"], dr["WLA037"], dr["WLA038"], dr["WLA039"], dr["WLA040"], dr["WLA041"], dr["WLA042"], dr["WLA043"] + , dr["WLA044"], dr["WLA045"], dr["WLA046"], dr["WLA047"], dr["WLA048"], dr["WLA049"], dr["WLA050"], dr["WLA051"], dr["WLA052"] + , dr["WLA053"], dr["WLA054"], dr["WLA055"], dr["WLA056"], dr["WLA057"], dr["WLA058"], dr["WLA059"] + ); + } + } //int A = _sqlHelper.ExecuteNonQuery(sqlL); return _sqlHelper.ExecuteNonQuery(sql) > 0; @@ -1200,6 +1254,7 @@ private bool TB_ERPTOMES_GYS(DataSet ds, string operatype, ref string ErrorMsg) { string sql = ""; + string dtName = ""; //鐢ㄦ潵鎷糏D闆嗗悎 List<string> IDList = new List<string>(); @@ -1227,7 +1282,7 @@ { #region INSERT //dt.Columns.Add("MAA005", typeof(string)); - + dtName = dt.TableName; foreach (DataRow dr in dt.Rows) { IDList.Add(dr["ERPID"].ToString()); @@ -1250,9 +1305,13 @@ 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", "GYS006"); //澶囨敞 + } //colMapping[8] = new SqlBulkCopyColumnMapping("AUDITING", "AUDITING"); - return DataTableToSQLServer(dt, conStr, "GS_GYS", colMapping, ref ErrorMsg); + DataTableToSQLServer(dt, conStr, "GS_GYS", colMapping, ref ErrorMsg); #endregion } else if (operatype == "UPDATE") @@ -1271,8 +1330,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 @@ -1285,13 +1360,14 @@ } sql = string.Format(@" delete from GS_GYS where ERPID in ('{0}'); ", string.Join("','", IDList)); - return _sqlHelper.ExecuteNonQuery(sql) > 0; + _sqlHelper.ExecuteNonQuery(sql); #endregion } + return true; } catch (Exception ex) { - ErrorMsg = ex.Message; + ErrorMsg = "[" + dtName + "]" + ex.Message; return false; } } @@ -1845,6 +1921,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); @@ -1883,11 +1961,21 @@ if (dr.Table.Columns.Contains("CGAORG")) { org = "涓藉痉"; - - string UP = string.Format(@"EXEC [WMS_CGLD_TOJX] '{0}' ", rtaskid); - _sqlHelper.ExecuteNonQuery(UP); - dr["NEWERPID"] = "LD"+dr["ERPID"].ToString(); - IDList.Add("LD"+dr["ERPID"].ToString()); + dr["NEWERPID"] = "LD" + dr["ERPID"].ToString(); + IDList.Add("LD" + dr["ERPID"].ToString()); + + if (dr["CGA0018"].ToString() == "103") + { + string UP = string.Format(@"EXEC [WMS_CGLD_TOJX] '{0}' ", rtaskid); + _sqlHelper.ExecuteNonQuery(UP); + + string SYSDEC = string.Format(@"UPDATE SYSDEC SET STATES='IGNORE' WHERE task_name='TB_ERPTOMES_CG' AND STATES='NEW' AND TASK_ID ='{0}'", rtaskid); + _sqlHelper.ExecuteNonQuery(SYSDEC); + + return true; + } + + } else { @@ -1903,6 +1991,12 @@ { dr["CGA002"] = task_name == "TB_ERPTOMES_CG" ? "3301" : "3302"; } + + if (dr["CGA005"].ToString() == "鏍囧噯濮斿璁㈠崟") + { + statue = "濮斿"; + CGA001 = dr["CGA001"].ToString(); + } } //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿� @@ -1914,7 +2008,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"); //閲囪喘鍗曞彿 @@ -1936,7 +2030,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 { @@ -1944,11 +2038,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"); //澶囨敞 } @@ -2061,6 +2159,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) @@ -2068,7 +2178,7 @@ string UP = string.Format(@"EXEC API_UPDATE_CGDB {0},{1} ", dF["CGB001"].ToString(), dF["CGB002"].ToString()); _sqlHelper.ExecuteNonQuery(UP); } - + #endregion } @@ -2090,6 +2200,13 @@ #endregion } } + + //if (statue == "濮斿") + //{ + // string WWSQL = string.Format(@"EXEC API_CREATE_LLD '{0}' ", CGA001); + // _sqlHelper.ExecuteNonQuery(WWSQL); + //} + return true; } catch (Exception ex) @@ -2242,7 +2359,22 @@ { if (dF["TLA020"].ToString().Contains("瑁呴厤")) { - if (dF["TLA023"].ToString().Contains("-")) + if (dF["TLA023"].ToString().Contains("*")) + { + string[] tr = dF["TLA023"].ToString().Split('*'); + + //int i = dF["TLA023"].ToString().LastIndexOf('-'); + string StrNew = tr[1].ToString();//dF["TLA023"].ToString().Substring(i + 1, 10); + string SQLT = string.Format(@"SELECT TOP 1 * FROM WOMCAA(NOLOCK) WHERE CAA018='{0}' ", StrNew); + DataTable CAA = _sqlHelper.ExecuteDataTable(SQLT); + if (CAA.Rows.Count > 0) + { + string UP = string.Format(@"UPDATE WOMCAA SET CAA016='{0}',CAA017='{1}',CAA018='{2}' WHERE CAA002='{3}' ", CAA.Rows[0]["CAA016"].ToString(), CAA.Rows[0]["CAA017"].ToString(), CAA.Rows[0]["CAA018"].ToString(), dF["TLA002"].ToString()); + _sqlHelper.ExecuteNonQuery(UP); + } + + } + else if (dF["TLA023"].ToString().Contains("-")) { string[] tr = dF["TLA023"].ToString().Split('-'); @@ -3098,7 +3230,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 @@ -3119,17 +3254,36 @@ // sendt.arg0. US.category = task_name; US.data = data_inserted; - US.op = operatype; + US.op = dr["mesid"].ToString(); string res = a.Body(US).msg.ToString(); sql = string.Format(@" update sysdec set states='NEW' WHERE TASK_ID='{0}' ", rtaskid); _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); + } + //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鍗曞彿鍞竴妫�娴嬩笉閫氳繃")) + { + ErrorMsg = "OK-" + res; return true; } else @@ -4237,6 +4391,447 @@ } #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()); + if (dt.Columns.Contains("XSTHB012")) + { + switch (dr["XSTHB012"].ToString()) + { + case "Son": + dr["XSTHB012"] = "濂椾欢瀛愰」"; + break; + case "Standard": + dr["XSTHB012"] = "鏍囧噯浜у搧"; + break; + case "Parent": + dr["XSTHB012"] = "濂椾欢鐖堕」"; + break; + case "Service": + dr["XSTHB012"] = "鏈嶅姟"; + break; + } + } + 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 + if (dt.Columns.Contains("XSTHB012")) + { + colMapping[14] = new SqlBulkCopyColumnMapping("XSTHB012", "XSTHB012"); //鏄庣粏浜у搧绫诲瀷 + } + 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; + } + + if (dt.Columns.Contains("CGTHB012")) + { + switch (dr["CGTHB012"].ToString()) + { + case "Son": + dr["CGTHB012"] = "濂椾欢瀛愰」"; + break; + case "Standard": + dr["CGTHB012"] = "鏍囧噯浜у搧"; + break; + case "Parent": + dr["CGTHB012"] = "濂椾欢鐖堕」"; + break; + case "Service": + dr["CGTHB012"] = "鏈嶅姟"; + break; + } + } + } + + //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿� + 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 + if (dt.Columns.Contains("CGTHB012")) + { + colMapping[14] = new SqlBulkCopyColumnMapping("CGTHB012", "CGTHB012"); //鏄庣粏浜у搧绫诲瀷 + } + 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) { -- Gitblit v1.9.3