海波 张
2 天以前 f9ee14fbfe22a0a56350580838bb6e4b57f829dc
process/TaskProcess.cs
@@ -54,13 +54,13 @@
            if (load)
            {
                Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_START_LOC}取货完成,起点解绑容器{mst.S_CNTR_CODE}","解锁");
                LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList());
            }
            else
            {
                Console.WriteLine($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}");
                LogHelper.Info($"任务{mst.S_CODE} 货位{mst.S_END_LOC}卸货完成,终点绑定容器{mst.S_CNTR_CODE}","解锁");
                LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
            }
@@ -71,7 +71,7 @@
        /// </summary>
        /// <param name="mst"></param>
        internal static void CacheBitCancelUpdate(WMSTask mst) {
            LogHelper.Info($"CacheBitCancelUpdate解锁:任务号:{mst.S_CODE}", "解锁");
            LocationHelper.UnLockLoc(mst.S_START_LOC);
            LocationHelper.UnLockLoc(mst.S_END_LOC);
@@ -142,42 +142,42 @@
            else if (state == 1004) {
                LogHelper.Info($"等待交互,任务号={mst.S_CODE}", "安全交互");
                var wcsCode = "";
                //var wcsCode = "";
                if (mst.S_TYPE.Contains("入库")|| mst.S_TYPE.Contains("回库"))
                {
                    wcsCode = mst.S_CODE.Replace(@"_1", "_2");
                }
                //if (mst.S_TYPE.Contains("入库")|| mst.S_TYPE.Contains("回库"))
                //{
                //    wcsCode = mst.S_CODE.Replace(@"_1", "_2");
                //}
                if (mst.S_TYPE.Contains("出库"))
                {
                    wcsCode = mst.S_CODE.Replace(@"_2", "_1");
                }
                //if (mst.S_TYPE.Contains("出库"))
                //{
                //    wcsCode = mst.S_CODE.Replace(@"_2", "_1");
                //}
                LogHelper.Info($"等待交互,查询校验任务号={wcsCode}", "安全交互");
                //等待rfid校验
                var rfidFlag = TaskHelper.GetRfid(wcsCode);
                //LogHelper.Info($"等待交互,查询校验任务号={wcsCode}", "安全交互");
                ////等待rfid校验
                //var rfidFlag = TaskHelper.GetRfid(wcsCode);
                LogHelper.Info($"等待交互,任务号={mst.S_CODE},RFID校验信息"+JsonConvert.SerializeObject(rfidFlag), "安全交互");
                if (rfidFlag!=null)
                {
                    if (rfidFlag.S_RESULT.Contains("成功"))
                    {
                        LogHelper.Info($"任务号={mst.S_CODE},等待交管成功,修改参数6为1,4为0", "安全交互");
                        NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
                        NDCApi.ChangeOrderParam(mst.S_CODE, 6, "1");
                    }
                    else {
                        var startSite = LocationHelper.GetAgvSiteZc(mst.S_START_LOC);
                        var endSite = LocationHelper.GetAgvSiteZc(mst.S_END_LOC);
                        LogHelper.Info($"任务{mst.S_CODE}RFID校验失败,改参数1为{startSite},改参数2为{endSite},参数4为0,6为1", "安全交互");
                        NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite);
                        NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite);
                        NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
                        Thread.Sleep(1000);
                        NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2");
                    }
                }
                //LogHelper.Info($"等待交互,任务号={mst.S_CODE},RFID校验信息"+JsonConvert.SerializeObject(rfidFlag), "安全交互");
                //if (rfidFlag!=null)
                //{
                //    if (rfidFlag.S_RESULT.Contains("成功"))
                //    {
                //        LogHelper.Info($"任务号={mst.S_CODE},等待交管成功,修改参数6为1,4为0", "安全交互");
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 6, "1");
                //    }
                //    else {
                //        var startSite = LocationHelper.GetAgvSiteZc(mst.S_START_LOC);
                //        var endSite = LocationHelper.GetAgvSiteZc(mst.S_END_LOC);
                //        LogHelper.Info($"任务{mst.S_CODE}RFID校验失败,改参数1为{startSite},改参数2为{endSite},参数4为0,6为1", "安全交互");
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 1, startSite);
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 2, endSite);
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 4, "0");
                //        Thread.Sleep(1000);
                //        NDCApi.ChangeOrderParam(mst.S_CODE, 6, "2");
                //    }
                //}
            }
        }
@@ -245,9 +245,6 @@
            try
            {
                //空托入库判断空托出缓存表,有对应记录直接改道到缓存表终点
                if (workFlow.FLOWCODE=="3") {
                    var kt = db.Queryable<MesKtTask>().Where(e => e.TOOLS_TPYE==task.TOOLSTYPE && e.Status=="N").OrderBy(a=>a.CreateDate).First();
@@ -1023,6 +1020,8 @@
                    work.T_END_TIME = DateTime.Now;
                    var db = new SqlHelper<object>().GetInstance();
                    db.Updateable(work).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE, it.T_MODIFY, it.T_END_TIME }).ExecuteCommand();
                    LogHelper.Info($"cancelTask1取消{model.task_no},解锁", "解锁");
                    LocationHelper.UnLockLoc(work.S_START_LOC);
                    LocationHelper.UnLockLoc(work.S_END_LOC);
                    if (!string.IsNullOrEmpty(work.CONNECTION))
@@ -1050,6 +1049,7 @@
                                //未执行直接修改状态为取消
                                TaskHelper.opMesTask(task, 3);
                                TaskHelper.Fail(task);
                                TaskProcess.CacheBitCancelUpdate(task);
                                ContainerHelper.delCntr(task.S_CNTR_CODE);
@@ -2193,9 +2193,10 @@
                    {
                        if (connection != "")
                        {
                            LogHelper.Info($"{operation.S_CODE}锁货位", "上锁");
                            LocationHelper.LockLoc(operation.S_START_LOC, "出库锁", 2);
                            LocationHelper.LockLoc(operation.S_END_LOC, "入库锁", 1);
                            LocationHelper.LockLoc(operation.CONNECTION, "其他锁", 3);
                            LocationHelper.LockLoc(operation.CONNECTION, "其它锁", 3);
                        }