海波 张
2025-06-04 2efbd25f2160cb68cf2464f370aca3d1ea21f86f
process/TaskProcess.cs
@@ -441,6 +441,23 @@
                LogHelper.Info($"推送任务{mst.S_CODE}", "NDC");
                if (mst.S_TYPE.Contains("出库"))
                {
                    var wcsTask = TaskHelper.GetTaskByWork("wcs", mst.S_OP_CODE);
                    if (wcsTask == null) {
                        LogHelper.Info($"推送任务{mst.S_CODE},没找到作业:{mst.S_OP_CODE}对应的出库任务", "NDC");
                        return false;
                    }
                    if (wcsTask.S_B_STATE=="未执行")
                    {
                        LogHelper.Info($"推送任务{mst.S_CODE},对应的Wcs出库任务未执行,暂不推送", "NDC");
                        return false;
                    }
                }
                start = LocationHelper.GetAgvSiteZc(mst.S_START_LOC);
                end = LocationHelper.GetAgvSiteZc(mst.S_END_LOC);
@@ -456,6 +473,7 @@
                if (work==null)
                {
                    LogHelper.Info($"推送任务{mst.S_CODE},没找到作业:{mst.S_OP_CODE}", "NDC");
                    return false;
                }
                if (string.IsNullOrEmpty(work.CONNECTION))
@@ -2143,13 +2161,56 @@
        }
        internal static void inPri(WMSTask mst)
        {
            LogHelper.Info($"任务{mst.S_CODE}进入inpri", "入库优先级");
            var inprilist = TaskHelper.GetInPri();
            var db = new SqlHelper<object>().GetInstance();
            foreach (var item in inprilist)
            {
                LogHelper.Info("入库优先级记录信息"+JsonConvert.SerializeObject(item), "入库优先级");
                if (item.Type=="0" && mst.S_TYPE.Contains("空托出"))
                {
                    if (mst.S_END_LOC.Contains(item.OutEndLoc))
                    {
                        var task = db.Queryable<WMSTask>().Where(a => a.S_B_STATE.Trim() == "已推送" && a.S_SCHEDULE_TYPE.Contains("agv") && !a.S_TYPE.Contains("空托") && (a.S_TYPE.Contains("入库")|| a.S_TYPE.Contains("回库")) && a.S_START_LOC.Contains(item.InStartLoc)).First();
                        LogHelper.Info($"查找起点{item.InStartLoc}满托入库任务信息:" + JsonConvert.SerializeObject(task), "入库优先级");
                        if (task != null)
                        {
                            NDCApi.ChangeOrderPri(task.S_CODE, item.Pri);
                        }
                    }
                }
                if (item.Type == "1"  && !mst.S_TYPE.Contains("空托") && mst.S_TYPE.Contains("出库"))
                {
                    if (mst.S_END_LOC.Contains(item.OutEndLoc))
                    {
                        var task = db.Queryable<WMSTask>().Where(a => a.S_B_STATE.Trim() == "已推送" && a.S_SCHEDULE_TYPE.Contains("agv") && a.S_TYPE.Contains("空托入库") && a.S_START_LOC.Contains(item.InStartLoc)).First();
                        LogHelper.Info($"查找起点{item.InStartLoc}空托入库任务信息:" + JsonConvert.SerializeObject(task), "入库优先级");
                        if (task != null)
                        {
                            NDCApi.ChangeOrderPri(task.S_CODE, item.Pri);
                        }
                    }
                }
            }
            LogHelper.Info($"任务{mst.S_CODE},结束inpri", "入库优先级");
        }
        public class signalInfo