lss
昨天 1319cb7072623dff12369a889af766db2d166def
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
@@ -1,4 +1,5 @@
using HH.WCS.JiaTong.dispatch;
using HH.WCS.JiaTong.device;
using HH.WCS.JiaTong.dispatch;
using HH.WCS.JiaTong.process;
using HH.WCS.JiaTong.util;
using HH.WCS.JiaTong.wms;
@@ -9,7 +10,9 @@
using System.Linq;
using System.Net.NetworkInformation;
using System.Security.Policy;
using System.Threading;
using System.Threading.Tasks;
using System.Web.Services.Description;
using static HH.WCS.JiaTong.api.ApiModel;
using static HH.WCS.JiaTong.util.Settings;
@@ -74,31 +77,28 @@
                        }
                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                        //物料到位通知
                        if ((TN_Task.S_TYPE == "出平库" || TN_Task.S_TYPE == "余料返回") && model.state == 6)
                        {
                            string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                            TaskProcess.MESIteminfoback(TN_Task, urlitem);
                        }
                        if ((TN_Task.S_NOTE == "出库" || TN_Task.S_NOTE == "异常库区入库") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6)
                        {
                            string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                            TaskProcess.MESIteminfoback(TN_Task, urlitem);
                        }
                        //任务回报 任务来源 1.钢丝立库  2.胶片库  3.预备库 5.mes下发
                        if (TN_Task.Z_TYPE == 5)
                        {
                        //复杂业务线程处理 不影响回报
                            //物料到位通知
                            if ((TN_Task.S_TYPE == "出平库" || TN_Task.S_TYPE == "余料返回") && model.state == 6)
                            {
                                string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                                TaskProcess.MESIteminfoback(TN_Task, urlitem);
                            }
                            if ((TN_Task.S_NOTE == "出库" || TN_Task.S_NOTE == "异常库区入库") && !string.IsNullOrEmpty(TN_Task.S_MES_NO) && model.state == 6)
                            {
                                string urlitem = Settings.tableUrls.Find(a => a.id == 5).url;
                                TaskProcess.MESIteminfoback(TN_Task, urlitem);
                            }
                            //任务回报 任务来源 1.钢丝立库  2.胶片库  3.预备库 5.mes下发
                            //TN_Task = WCSHelper.GetTask(TN_Task.S_CODE);
                            string urlstate = Settings.tableUrls.Find(a => a.id == 4).url;
                            TaskProcess.MESReportback(TN_Task, model.state, urlstate);
                        }
                        else
                        {
                            //立库与wms任务回报
                            TableUrl url = null;
                            switch (TN_Task.Z_TYPE)
                            {
                                case 1:
                                    url = Settings.tableUrls.Find(a => a.id == 1);
                                    if (url != null)
@@ -169,47 +169,52 @@
                                    break;
                            }
                        }
                    }
                    else
                    {
                        var db = new SqlHelper<TaskAction>().GetInstance();
                        var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First();
                        if (taskAction == null)
                        {
                            WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                        }
                            var db = new SqlHelper<TaskAction>().GetInstance();
                            var taskAction = db.Queryable<TaskAction>().Where(a => a.S_TASK_CODE == model.task_no && a.N_ACTION_CODE == model.state).First();
                            if (taskAction == null)
                            {
                                WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                            }
                        //安全请求等
                        string url = "";
                        string name = "";
                        if (TN_Task.Z_TYPE == 1)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 2).url;
                            name = "ML";
                        }
                        else if (TN_Task.Z_TYPE == 3)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 10).url;
                            name = "YBK";
                        }
                        else if (TN_Task.Z_TYPE == 4)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 11).url;
                            name = "YCL";
                        }
                        else
                        {
                            LogHelper.Info($"安全请求:任务类型错误,当前任务类型{TN_Task.Z_TYPE}");
                        }
                        if (!string.IsNullOrEmpty(url))
                        {
                            TaskProcess.OperateReq(model, url, TN_Task, name);
                        }
                        else
                        {
                            LogHelper.Info($"安全请求:未找到回报地址,请检查配置文件==>{JsonConvert.SerializeObject(Settings.tableUrls)}");
                        }
                            //安全请求等
                            string url = "";
                            string name = "";
                            if (TN_Task.Z_TYPE == 1)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 2).url;
                                name = "ML";
                            }
                            else if (TN_Task.Z_TYPE == 3)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 10).url;
                                name = "YBK";
                            }
                            else if (TN_Task.Z_TYPE == 4)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 11).url;
                                name = "YCL";
                            }
                            else
                            {
                                LogHelper.Info($"安全请求:任务类型错误,当前任务类型{TN_Task.Z_TYPE}");
                            }
                            if (!string.IsNullOrEmpty(url))
                            {
                                TaskProcess.OperateReq(model, url, TN_Task, name);
                            }
                            else
                            {
                                LogHelper.Info($"安全请求:未找到回报地址,请检查配置文件==>{JsonConvert.SerializeObject(Settings.tableUrls)}");
                            }
                    }
                }
            }
@@ -237,7 +242,7 @@
                        {
                            var AreaCodes = AreasByGroup.Select(a => a.S_CODE).ToList();
                            LogHelper.Info($"任务{mst.S_CODE},根据终点区域获取库区编码:{JsonConvert.SerializeObject(AreaCodes)}");
                            var updateMst = db.Queryable<WCSTask>().Where(a => AreaCodes.Contains(a.S_END_AREA.Trim()) && a.S_B_STATE == "等待推送").OrderBy(a=>a.T_CREATE).First();
                            var updateMst = db.Queryable<WCSTask>().Where(a => AreaCodes.Contains(a.S_END_AREA.Trim()) && a.S_B_STATE == "等待推送").OrderBy(a => a.T_CREATE).First();
                            updateMst.S_B_STATE = "等待";
                            db.Updateable(updateMst).UpdateColumns(it => new { it.S_B_STATE }).ExecuteCommand();
                        }