From 9d36af31f3646a9ece38f17fcde31f1320d767ec Mon Sep 17 00:00:00 2001 From: cdk <2441919651@qq.com> Date: 星期二, 24 六月 2025 13:29:09 +0800 Subject: [PATCH] 增加采购退货 --- HandleData/AE_MES_ERP.cs | 596 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 577 insertions(+), 19 deletions(-) diff --git a/HandleData/AE_MES_ERP.cs b/HandleData/AE_MES_ERP.cs index ca6af41..6d57826 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閲戣澏鏉$爜鍑哄簱锛堥鏂欏崟锛�(鍚屾鎺ㄩ��) @@ -144,6 +146,11 @@ case "TB_MESTOERP_SCDDXD"://鎺ㄩ�佸鏍搁�佽揣鍗� 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; case "TB_MESTOERP_GDRK"://ERP宸ュ崟鍏ュ簱鏌ヨ @@ -178,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; @@ -1198,6 +1212,7 @@ private bool TB_ERPTOMES_GYS(DataSet ds, string operatype, ref string ErrorMsg) { string sql = ""; + string dtName = ""; //鐢ㄦ潵鎷糏D闆嗗悎 List<string> IDList = new List<string>(); @@ -1225,7 +1240,7 @@ { #region INSERT //dt.Columns.Add("MAA005", typeof(string)); - + dtName = dt.TableName; foreach (DataRow dr in dt.Rows) { IDList.Add(dr["ERPID"].ToString()); @@ -1248,9 +1263,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") @@ -1269,8 +1288,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 @@ -1283,13 +1318,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; } } @@ -1843,6 +1879,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); @@ -1881,11 +1919,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 { @@ -1901,6 +1949,12 @@ { dr["CGA002"] = task_name == "TB_ERPTOMES_CG" ? "3301" : "3302"; } + + if (dr["CGA005"].ToString() == "鏍囧噯濮斿璁㈠崟") + { + statue = "濮斿"; + CGA001 = dr["CGA001"].ToString(); + } } //鎻掑叆鍓嶅厛鍒犻櫎閲嶅閿� @@ -1912,7 +1966,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"); //閲囪喘鍗曞彿 @@ -1934,7 +1988,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 { @@ -1942,11 +1996,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"); //澶囨敞 } @@ -2059,6 +2117,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) @@ -2066,7 +2136,7 @@ string UP = string.Format(@"EXEC API_UPDATE_CGDB {0},{1} ", dF["CGB001"].ToString(), dF["CGB002"].ToString()); _sqlHelper.ExecuteNonQuery(UP); } - + #endregion } @@ -2088,6 +2158,13 @@ #endregion } } + + //if (statue == "濮斿") + //{ + // string WWSQL = string.Format(@"EXEC API_CREATE_LLD '{0}' ", CGA001); + // _sqlHelper.ExecuteNonQuery(WWSQL); + //} + return true; } catch (Exception ex) @@ -2240,7 +2317,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('-'); @@ -3096,7 +3188,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 @@ -3117,17 +3212,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 @@ -3981,7 +4095,10 @@ colMapping[23] = new SqlBulkCopyColumnMapping("FHB022", "DFB022"); //鍑哄簱涓嬬嚎 colMapping[24] = new SqlBulkCopyColumnMapping("FHB023", "DFB023"); //鏄惁鎺у埗鍑哄簱鏁伴噺 colMapping[25] = new SqlBulkCopyColumnMapping("FHB024", "DFB024"); //绱鍑哄簱鏁� - colMapping[26] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //鏄庣粏ID + colMapping[26] = new SqlBulkCopyColumnMapping("FHB025", "DFB025"); //浜у搧绫诲瀷 + colMapping[27] = new SqlBulkCopyColumnMapping("FHB026", "DFB026"); //鐖舵爣璇� + colMapping[28] = new SqlBulkCopyColumnMapping("FHB027", "DFB027"); //鏍囪瘑鍒� + colMapping[29] = new SqlBulkCopyColumnMapping("ERP_EntryID", "ID"); //鏄庣粏ID DataTableToSQLServer(dt, conStr, "COMDFB", colMapping, ref ErrorMsg); #endregion } @@ -4232,6 +4349,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