杨前锦
2025-07-01 a93b0e99036c24b9bd58c79bf5e7364b1ba28bae
HH.WCS.Mobox3/HH.WCS.Mobox3.YNJT_BZP/core/WCSCore.cs
@@ -37,7 +37,6 @@
                        var wmsTask = WMSHelper.GetWmsTask(TN_Task.S_OP_CODE);
                        if (wmsTask != null && wmsTask.N_B_STATE < 2) 
                        {
                            WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
                            if (model.State <= 7)
                            {
                                //有任务号请求
@@ -152,7 +151,7 @@
                                if (agvJBLoc != null && agvJBLoc.action == 1)
                                {
                                    //是则查询WCS的任务执行情况
                                    var wcsTask = WCSHelper.GetTaskBySrcNoAndScheduleType(TN_Task.S_OP_CODE, "WCS");
                                    var wcsTask = WCSHelper.GetTaskBySrcNoAndScheduleType(TN_Task.S_OP_CODE, "WCS" , wmsTask.S_TYPE);
                                    if (wcsTask != null)
                                    {
                                        bool existAction = WCSHelper.CheckActionRecordExist(wcsTask.S_CODE, 7);
@@ -214,6 +213,8 @@
                                //安全请求等
                                TaskProcess.OperateReq(model.No, model.State, model.ForkliftNo, model.ExtData);
                            }
                            WCSHelper.AddActionRecord(model.No, model.State, model.ForkliftNo, model.ExtData);
                        }
                    }
                }
@@ -371,7 +372,6 @@
                                            return agvLoc;
                                        }
                                    }
                                    LogHelper.Info($"任务号:{taskNo},入库接驳位货位都已禁用", "AGV");
                                }
                                else
@@ -409,6 +409,46 @@
                                        WMSHelper.updateEmptyTrayBuffer(emptyTray);
                                    }
                                }
                                else
                                {
                                    var endLoc = WMSHelper.GetInstockEndLoc(container.N_TYPE, null, 1);
                                    if (endLoc != null)
                                    {
                                        Location agvLoc = null;
                                        var locCodes = Settings.getAgvJBLocList(endLoc.N_ROADWAY, 1);
                                        if (locCodes.Count > 0)
                                        {
                                            foreach (var locCode in locCodes)
                                            {
                                                agvLoc = LocationHelper.GetLoc(locCode);
                                                if (agvLoc != null && agvLoc.C_ENABLE == "Y")
                                                {
                                                    cst.S_END_LOC = agvLoc.S_CODE;
                                                    cst.S_END_AREA = agvLoc.S_AREA_CODE;
                                                    WCSHelper.UpdateTaskEnd(cst);
                                                    mst.S_END_LOC = endLoc.S_CODE;
                                                    mst.S_END_AREA = endLoc.S_AREA_CODE;
                                                    WMSHelper.UpdateTaskEnd(mst);
                                                    LocationHelper.LockLoc(endLoc.S_CODE, 1);
                                                    LogHelper.Info($"任务号:{taskNo},AGV申请的终点:{agvLoc.S_CODE}", "AGV");
                                                    return agvLoc;
                                                }
                                            }
                                            LogHelper.Info($"任务号:{taskNo},入库接驳位货位都已禁用", "AGV");
                                        }
                                        else
                                        {
                                            LogHelper.Info($"任务号:{taskNo},没有配置立库接驳位", "AGV");
                                        }
                                    }
                                    else
                                    {
                                        LogHelper.Info($"任务号:{taskNo},立库没有满足条件的空货位", "AGV");
                                    }
                                }
                            }
                        }
                    }