南骏 池
2024-12-10 f35e2bfe37af2efa93ee6c8d986379325bdd0e84
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部门信息表(同步推送)
@@ -123,6 +126,7 @@
                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金蝶高冲用料变更(同步推送)
@@ -141,13 +145,15 @@
                case "TB_MESTOERP_SCDDXD"://推送审核送货单
                case "TB_MESTOERP_TransferIn"://分布式调入单
                case "TB_MESTOERP_ZJDB"://直接调拨单
                    result = MesToErp(drSource, ref msg);
                case "TB_MESTOERP_WWDDXD"://委外订单下达
                case "TB_MESTOERP_WWCG"://委外下推采购
                    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 +167,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 +836,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 +902,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 +939,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);
@@ -1214,7 +1224,7 @@
            try
            {
                DataTable dt = ds.Tables[0];
                if (operatype == "INSERT")
                if (operatype == "INSERT" || operatype == "UPDATE")
                {
                    #region INSERT
                    //dt.Columns.Add("MAA005", typeof(string));
@@ -1261,7 +1271,7 @@
                                        GYS005='{5}',
                                        FUseOrgld='{6}'
                                    where ERPID='{0}'; ", dr["ERPID"]
                                                        , dr["GYS001"], dr["GYS002"], dr["GYS003"], dr["GYS004"], dr["GYS005"], dr["FUseOrgld"]);
                                                        , dr["GYSA001"], dr["GYSA002"], dr["GYSA003"], dr["GYSA004"], dr["GYSA005"], dr["FUseOrgld"]);
                    }
                    return _sqlHelper.ExecuteNonQuery(sql) > 0;
                    #endregion
@@ -1874,11 +1884,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
                                {
@@ -2233,7 +2253,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('-');
@@ -3087,8 +3122,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 +3147,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 +3172,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 +3198,9 @@
                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"))
                {
@@ -3959,7 +4009,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
                        }