lch
2024-08-10 4804f45e28ac1ebd661db19d2f2203f99ce24232
优化推ERP的接口,在第一次推送未响应时不会推送第二次
已修改1个文件
41 ■■■■ 文件已修改
HandleData/AE_MES_ERP.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HandleData/AE_MES_ERP.cs
@@ -40,6 +40,9 @@
        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部门信息表(同步推送)
@@ -141,13 +144,13 @@
                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);
@@ -161,7 +164,7 @@
                    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":
@@ -830,7 +833,7 @@
                    //选择想要的列插入新表
                    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"); //    物料编码
@@ -896,6 +899,10 @@
                    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);
@@ -929,14 +936,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}'
                                        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);
@@ -3087,8 +3094,11 @@
        /// <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();
@@ -3109,6 +3119,11 @@
                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"))
                {
@@ -3129,8 +3144,12 @@
            }
        }
        #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();
@@ -3151,6 +3170,10 @@
                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"))
                {