111
lss
2025-07-03 2f8733caf7ae5c94483fa332e0d3af69b61a0eb0
HH.WCS.Mobox3/HH.WCS.Mobox3.JiaTong/core/WCSCore.cs
@@ -27,15 +27,15 @@
                {
                    if (model.state <= 7)
                    {
                        //有任务号请求
                        switch (model.state)
                        {
                            case 1:
                                WCSHelper.Begin(TN_Task);
                                WCSHelper.Begin(TN_Task, model.forklift_no);
                                break;
                            #region MyRegion
                            case 3:
                                WCSHelper.UpdateAgvNo(TN_Task, model.forklift_no);
                                WCSHelper.UpdateStatus(TN_Task, "开始取货");
                                break;
                            case 4:
@@ -47,13 +47,19 @@
                                break;
                            case 6:
                                WCSHelper.UpdateStatus(TN_Task, "卸货完成");
                                TaskProcess.OperateStatus(TN_Task, 6);
                                if (!string.IsNullOrEmpty(TN_Task.S_NOTE) && (TN_Task.S_NOTE.Trim() == "入库" || TN_Task.S_NOTE.Trim() == "空托回库"))
                                {
                                    LocationHelper.UnlockLoc(TN_Task.S_END_LOC);
                                }
                                else
                                {
                                    TaskProcess.OperateStatus(TN_Task, 6);
                                }
                                break;
                            #endregion
                            case 2:
                                WCSHelper.End(TN_Task);
                                break; ;
                                break;
                            case 7:
                                TaskProcess.OperateStatus(TN_Task, 7);
                                WCSHelper.Fail(TN_Task);
@@ -61,9 +67,14 @@
                                break;
                        }
                        WCSHelper.AddActionRecord(model.task_no, model.state, model.forklift_no, model.ext_data);
                        //调用第三方接口(如果有)
                        //物料到位通知
                        if ((TN_Task.S_TYPE == "出平库" ||TN_Task.S_TYPE == "余料返回" || TN_Task.S_NOTE == "出库"|| TN_Task.S_NOTE == "异常库区入库") && model.state == 2)
                        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);
@@ -71,6 +82,7 @@
                        //任务回报 任务来源 1.钢丝立库  2.胶片库  3.预备库 5.mes下发
                        if (TN_Task.Z_TYPE == 5)
                        {
                            //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);
                        }
@@ -81,10 +93,6 @@
                            {
                                url = Settings.tableUrls.Find(a => a.id == 1).url;
                            }
                            else if (TN_Task.Z_TYPE == 2)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 7).url;
                            }
                            else if (TN_Task.Z_TYPE == 3)
                            {
                                url = Settings.tableUrls.Find(a => a.id == 9).url;
@@ -93,7 +101,7 @@
                            {
                                url = Settings.tableUrls.Find(a => a.id == 11).url;
                            }
                            else if (TN_Task.Z_TYPE == 6)
                            else if (TN_Task.Z_TYPE == 6)//wms室内到货回报
                            {
                                url = Settings.tableUrls.Find(a => a.id == 14).url;
                            }
@@ -101,36 +109,33 @@
                            {
                                LogHelper.Info($"任务回报:任务类型错误");
                            }
                            if (TN_Task.S_TYPE.Contains("电梯"))
                            {
                                if (TN_Task.S_TYPE == "电梯1")
                                {
                                    if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
                                    {
                                        TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                    }
                                }
                                else if (TN_Task.S_TYPE == "电梯2")
                                {
                                    if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
                                    {
                                        TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                    }
                                }
                            }
                            //原材料接口需要加上token
                            if (TN_Task.Z_TYPE == 4)
                            else if (TN_Task.Z_TYPE == 4)
                            {
                                Console.WriteLine($"原材料任务回报{TN_Task.S_EQ_NO}");
                                var db = new SqlHelper<object>().GetInstance();
                                var mstbyEqno = db.Queryable<WCSTask>().Where(a => a.S_EQ_NO.Trim() == TN_Task.S_EQ_NO).ToList();
                                //分档任务回报,任务1只回报1 3 4 任务2只回报 5 6 2
                                if (TN_Task.S_TYPE.Contains("电梯"))
                                {
                                    if (TN_Task.S_TYPE == "电梯1")
                                    {
                                        if (TN_Task.S_CODE == "1" || TN_Task.S_CODE == "3" || TN_Task.S_CODE == "4")
                                        {
                                            TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                        }
                                    }
                                    else if (TN_Task.S_TYPE == "电梯2")
                                    {
                                        if (TN_Task.S_CODE == "5" || TN_Task.S_CODE == "6" || TN_Task.S_CODE == "2")
                                        {
                                            TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                        }
                                    }
                                }
                                else
                                {
                                    TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                                }
                                TaskProcess.Reportbackmobox(TN_Task.S_EQ_NO, TN_Task.S_CODE, model.state, url);
                            }
                            else
                            {
@@ -159,15 +164,18 @@
                    }
                    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);
                        }
                        //安全请求等
                        string url = "";
                        if (TN_Task.Z_TYPE == 1)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 2).url;
                        }
                        else if (TN_Task.Z_TYPE == 2)
                        {
                            url = Settings.tableUrls.Find(a => a.id == 8).url;
                        }
                        else if (TN_Task.Z_TYPE == 3)
                        {
@@ -183,7 +191,7 @@
                        }
                        if (!string.IsNullOrEmpty(url))
                        {
                            TaskProcess.OperateReq(model,url, TN_Task);
                            TaskProcess.OperateReq(model, url, TN_Task);
                        }
                        else
                        {
@@ -201,7 +209,7 @@
        {
            //查询任务
            //获取所有等待的任务
            Console.WriteLine("开始任务推送");
            var list = WCSHelper.GetTaskListByState("等待");
            if (list.Count > 0)