优化推ERP的接口,在第一次推送未响应时不会推送第二次
| | |
| | | public bool ErpToMesData(string taskid, DataSet inputds, string operatype, DataRow drSource, ref string msg,ref string flag,string rtaskid) |
| | | { |
| | | bool result = true; |
| | | |
| | | |
| | | |
| | | switch (taskid) |
| | | { |
| | | //1.ERPBMA部门信息表(同步推送) |
| | |
| | | case "TB_MESTOERP_SCDDXD"://推送审核送货单 |
| | | case "TB_MESTOERP_TransferIn"://分布式调入单 |
| | | case "TB_MESTOERP_ZJDB"://直接调拨单 |
| | | result = MesToErp(drSource, ref msg); |
| | | result = MesToErp(drSource, ref msg, rtaskid); |
| | | break; |
| | | case "TB_MESTOERP_GDRK"://ERP工单入库查询 |
| | | result = MesToErp(drSource, ref msg); |
| | | result = MesToErp(drSource, ref msg, rtaskid); |
| | | break; |
| | | case "TB_MESTOERP_CGRKLD": |
| | | result = MesToErpLD(drSource, ref msg); |
| | | result = MesToErpLD(drSource, ref msg, rtaskid); |
| | | break; |
| | | case "TB_ERPTOMES_XSD": |
| | | result = TB_ERPTOMES_XSD(inputds, operatype, ref msg); |
| | |
| | | result = TB_ERPTOMES_CGDH(inputds, operatype, ref msg); |
| | | break; |
| | | case "TB_MESTOERP_ICMO"://超入工单生成 |
| | | result = MesToErp(drSource, ref msg); |
| | | result = MesToErp(drSource, ref msg,rtaskid); |
| | | break; |
| | | //23.TB_ERPTOMES_GDRK工单入库数量查询(同步推送) |
| | | case "TB_ERPTOMES_GDRK": |
| | |
| | | //选择想要的列插入新表 |
| | | 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"); |
| | | "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]; |
| | | |
| | | colMapping[0] = new SqlBulkCopyColumnMapping("WLA001", "WL001"); // 物料编码 |
| | |
| | | colMapping[51] = new SqlBulkCopyColumnMapping("WLA054", "WL067"); |
| | | colMapping[52] = new SqlBulkCopyColumnMapping("WLA055", "WL068"); |
| | | colMapping[53] = new SqlBulkCopyColumnMapping("WLA056", "WL069"); |
| | | colMapping[54] = new SqlBulkCopyColumnMapping("WLA057", "WL070"); |
| | | colMapping[55] = new SqlBulkCopyColumnMapping("WLA058", "WL071"); |
| | | |
| | | |
| | | |
| | | |
| | | return DataTableToSQLServer(dtHead, conStr, "GS_WL", colMapping, ref ErrorMsg); |
| | |
| | | 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}' |
| | | 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}' |
| | | 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["WLA053"], dr["WLA054"], dr["WLA055"], dr["WLA056"], dr["WLA057"], dr["WLA058"] |
| | | ); |
| | | } |
| | | //int A = _sqlHelper.ExecuteNonQuery(sqlL); |
| | |
| | | /// <param name="operatype">执行类型</param> |
| | | /// <param name="ErrorMsg">错误说明</param> |
| | | /// <returns></returns> |
| | | private bool MesToErp(DataRow dr, ref string ErrorMsg) |
| | | private bool MesToErp(DataRow dr, ref string ErrorMsg,string rtaskid) |
| | | { |
| | | string sql = string.Format(@" update sysdec set states='NEWIN' WHERE TASK_ID='{0}' ", rtaskid); |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | try |
| | | { |
| | | string task_name = dr["task_name"].ToString(); |
| | |
| | | US.data = data_inserted; |
| | | US.op = operatype; |
| | | string res = a.Body(US).msg.ToString(); |
| | | |
| | | sql = string.Format(@" update sysdec set states='NEW' WHERE TASK_ID='{0}' ", rtaskid); |
| | | |
| | | _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")) |
| | | { |
| | |
| | | } |
| | | } |
| | | #endregion |
| | | private bool MesToErpLD(DataRow dr, ref string ErrorMsg) |
| | | private bool MesToErpLD(DataRow dr, ref string ErrorMsg, string rtaskid) |
| | | { |
| | | |
| | | string sql = string.Format(@" update sysdec set states='NEWIN' WHERE TASK_ID='{0}' ", rtaskid); |
| | | |
| | | _sqlHelper.ExecuteNonQuery(sql); |
| | | try |
| | | { |
| | | string task_name = dr["task_name"].ToString(); |
| | |
| | | US.data = data_inserted; |
| | | US.op = operatype; |
| | | string res = a.Body(US).msg.ToString(); |
| | | |
| | | sql = string.Format(@" update sysdec set states='NEW' WHERE TASK_ID='{0}' ", rtaskid); |
| | | |
| | | _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")) |
| | | { |