海波 张
2025-05-14 04eed9fb0fdb0a4c09c482f78d4449f941cfaadb
dispatch/WcsTask.cs
@@ -397,8 +397,8 @@
                        ContainerHelper.CreateCntrItem(rel);
                    //添加托盘
                    if (model.code == "1" || model.contNo == "99") {
                    //添加托盘 异常托盘不添加
                    if (!(model.code == "1" || model.contNo == "99")) {
                        Container cntr1 = new Container();
                        cntr1.S_CODE = model.contNo;
                        cntr1.C_ENABLE = "Y";
@@ -635,11 +635,12 @@
                                    TaskHelper.Fail(transportTask);
                                    TaskProcess.OperateStatus(transportTask, 7);
                                    var agvTask = newDb.Queryable<WMSTask>().Where(e => e.S_CODE == transportTask.S_OP_CODE+"_1")?.First();
                                    var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv");
                                    if (agvTask == null)
                                    {
                                        LogHelper.Info($"RFID校验失败,没找到对应{transportTask.S_OP_CODE+"_1"}任务", "Wcs任务执行通知");
                                        throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE + "_1"}任务");
                                        LogHelper.Info($"RFID校验失败,没找到对应{transportTask.S_OP_CODE}的agv任务", "Wcs任务执行通知");
                                        throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE }的agv任务");
                                    }
                                    var workFlow = TaskHelper.selectWorkFlowByType(agvTask.N_TYPE.ToString(), agvTask.TOOLSTYPE);
                                  
@@ -695,7 +696,7 @@
                            TaskHelper.Fail(transportTask);
                            TaskProcess.OperateStatus(transportTask, 7);
                            LocationHelper.updateLocLock(transportTask.S_START_LOC, 4, "异常锁");
                            var agvTask = TaskHelper.GetTask(transportTask.S_OP_CODE + "_1");
                            var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv");
                            if (agvTask!=null)
                            {
                                TaskHelper.Fail(agvTask);
@@ -927,63 +928,35 @@
                LogHelper.Info("查询到安全请求信号记录表已经存在数据,此次信号不下达给立库", "agv执行通知");
                return true;
            }
            if (mst.S_TYPE.Contains("入库"))
            switch (state)
            {
                 Type = "2";
                 bit = mst.S_END_LOC;
                if (state == 1103)
                {
                    Meshod = "AgvRequest";
                    bit = mst.S_END_LOC;
                }
                else if (state == 7)
                {
                    Type = "3";
                    Meshod = "AgvRequestCancel";
                }
                else if (state == 4)
                {
                    //申请出门
                    Type = "4";
                    Meshod = "AgvRequest";
                    bit = mst.S_END_LOC;
                }
                else
                {
                    Meshod = "Complete";
                }
            }
            else if (mst.S_TYPE.Contains("出库"))
            {
                Type = "1";
                bit = mst.S_START_LOC;
                if (state == 1101)
                {
                    Meshod = "AgvRequest";
                }
                else if (state == 7)
                {
                    Type = "3";
                    Meshod = "AgvRequestCancel";
                }
                else if (state == 3)
                {
                    //申请进门
                    Type = "3";
                    Meshod = "AgvRequest";
                case 1101:
                    Type = "1";
                    bit = mst.S_START_LOC;
                }
                else
                {
                    Meshod = "AgvRequest";
                    break;
                case 1102:
                    Type = "1";
                    bit = mst.S_START_LOC;
                    Meshod = "Complete";
                }
                    break;
                case 1103:
                    Type = "2";
                    bit = mst.S_END_LOC;
                    Meshod = "AgvRequest";
                    break;
                case 1104:
                    Type = "5";
                    bit = mst.S_END_LOC;
                    Meshod = "Complete";
                    break;
                case 7:
                    Type = "2";
                    bit = "";
                    Meshod = "AgvRequestCancel";
                    break;
            }
            else
            {
                LogHelper.Info("除了出入库其余不需要安全请求", "agv执行通知");
                return true;
            }