海波 张
12 小时以前 5321419f5fddb4e877fe90ccd90ebdc1a115af64
core/Monitor.cs
@@ -162,7 +162,6 @@
                                switch (model.state)
                                {
                                    case 1:
                                        TaskHelper.opMesTask(wmsTask, 1);
                                        TaskHelper.Begin(wmsTask, model.forklift_no);
                                        //胎面交互
                                        TaskHelper.TmSafety(wmsTask);
@@ -174,6 +173,7 @@
                                        TaskHelper.UpdateStatus(wmsTask, "取货完成");
                                        LocationHelper.UnLockLoc(wmsTask.S_START_LOC);
                                        TaskProcess.OperateStatus(wmsTask, 4);
                                        TaskHelper.opMesTask(wmsTask, 1);
                                        break;
                                    case 5:
                                        TaskHelper.UpdateStatus(wmsTask, "开始卸货");
@@ -209,8 +209,11 @@
                                            {
                                                //agv执行通知 wcs取消  
                                                WcsTask.WcsCallback(wmsTask, model.state, model.forklift_no.ToString());
                                                TaskHelper.Fail(wcsTask1);
                                                TaskProcess.OperateStatus(wcsTask1, 7);
                                                if (wcsTask1.S_B_STATE.Trim() != "取消" && wcsTask1.S_B_STATE.Trim() != "失败" && wcsTask1.S_B_STATE.Trim() != "完成")
                                                {
                                                    TaskHelper.Fail(wcsTask1);
                                                    TaskProcess.OperateStatus(wcsTask1, 7);
                                                }
                                            }
                                        
@@ -347,7 +350,7 @@
                        //寻找立库区空托
                        start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA);
                        start = LocationHelper.FindStartcolByLoclistAndcntr(strrtList, workFlow.STARTAREA,workFlow.CONNECTION);
                        LogHelper.Info($"空托{kt.task_no}出库任务下发起点信息" + JsonConvert.SerializeObject(start), "空托出库");
@@ -369,22 +372,20 @@
                        var cntrCode = LocationHelper.GetLocCntrCode(start.S_CODE);
                        if (workFlow.SENDWCS == "Y")
                        {
                            //正式代码,调用接口寻找可用接驳位
                        {
                            var connectionList = LocationHelper.GetConnectionList(workFlow.CONNECTION);
                            //根据接驳位任务数量获取均衡接驳位集合优先任务数少的接驳位
                            var balanceConnectionList = LocationHelper.GetBalanceConnectionList(connectionList);
                            foreach (var item in balanceConnectionList)
                            {
                                if (item.loc.N_CURRENT_NUM < 2 && item.loc.CONNEC_ROADWAY == start.N_ROADWAY)
                                if (item.loc.CONNEC_ROADWAY == start.N_ROADWAY)
                                {
                                    connection = item.loc.S_CODE;
                                    connectionArea = item.loc.S_AREA_Name;
                                    LogHelper.Info($"空托{kt.task_no}出库任务下发寻找到可用接驳位{connection}", "空托出库");
                                    LogHelper.Info($"ZCSendTask出库任务下发寻找到可用接驳位{connection}", "Mes任务下发");
                                    break;
                                }
                            }
                            if (connection == "")
                            {
                                LogHelper.Info($"空托{kt.task_no}出库任务下发寻找接驳位失败", "Mes任空托出库务下发");
@@ -400,9 +401,6 @@
                            continue;
                        }
                        LocationHelper.LockLoc(start.S_CODE, "出库锁", 2);
                      
@@ -444,10 +442,16 @@
                            CONNECTION_AREA = connectionArea
                        };
                        //创建作业
                        if (WMSHelper.CreateWmsWork(operation) && TaskHelper.ChangeMesKtTask(kt))
                        {
                            if (connection != "")
                            {
                                LocationHelper.LockLoc(operation.S_START_LOC, "出库锁", 2);
                                LocationHelper.LockLoc(operation.S_END_LOC, "入库锁", 1);
                                LocationHelper.LockLoc(operation.CONNECTION, "入库锁", 1);
                            }
                            LogHelper.Info($"空托{kt.task_no}出库作业创建成功{operation.S_CODE}", "空托出库");
                        }
                        else