From 5aa655b2b048f07788febbc1fa967f914c8bc2c1 Mon Sep 17 00:00:00 2001 From: lgh Date: Tue, 19 Jul 2022 10:39:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=BF=87=E7=A8=8B=E4=B8=AD?= =?UTF-8?q?=E8=83=BD=E6=BA=90=E6=B6=88=E8=80=97=E8=AE=B0=E5=BD=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mt/wms/empty/task/ScheduledTask.java | 44 ++++++++++++++----- 1 file changed, 34 insertions(+), 10 deletions(-) diff --git a/6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java b/6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java index bbd59d7..1c2a911 100644 --- a/6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java +++ b/6.program/wms-empty/src/main/java/com/mt/wms/empty/task/ScheduledTask.java @@ -270,6 +270,19 @@ public class ScheduledTask extends BaseService { if (currTaskId==0){ continue; } + CurrTask currTask = currTaskServiceBiz.getById(currTaskId); + //任务为null说明是已删除的任务,不记录 + if (currTask==null){ + continue; + } + //任务结束时间不为null,说明是已结束的任务,不记录 + if (currTask.getEndTime()!=null){ + continue; + } + //任务不在加工状态,不记录 + if (currTask.getIsIn()!=1){ + continue; + } //加工炉 if (kilnInfo.getType()==1){ //一号油搅拌转速 @@ -357,15 +370,22 @@ public class ScheduledTask extends BaseService { Long kilnId = kilnInfo.getId(); String identificationNumber = readPlcToString(nameSpaceNote, "DischargeIdentNumber"); Long currTaskId = Long.valueOf(JSONObject.parseObject(identificationNumber).get("result").toString()); - + //任务id为0说明不是自动任务,不记录 if (currTaskId==0){ continue; } CurrTask currTask = currTaskServiceBiz.getById(currTaskId); - if (currTask!=null){ - if (currTask.getEndTime()!=null){ - continue; - } + //任务为null说明是已删除的任务,不记录 + if (currTask==null){ + continue; + } + //任务结束时间不为null,说明是已结束的任务,不记录 + if (currTask.getEndTime()!=null){ + continue; + } + //任务不在加工状态,不记录 + if (currTask.getIsIn()!=1){ + continue; } //加工炉 if (kilnInfo.getType()==1){ @@ -521,6 +541,8 @@ public class ScheduledTask extends BaseService { .orderByAsc(InStockInfo.IN_TIME)); if (inStockInfoList.size() > 0) { InStockInfo inStockInfo = inStockInfoList.get(0); + logger.info("加工炉"+kilnInfo.getCode()+"readyIn为"+kilnReadyIn.toString()+" allowIn为"+kilnAllowIn.toString()); + logger.info("缓存区等待队列第一位:"+inStockInfo.toString()); CurrTask currTask = currTaskServiceBiz.getById(inStockInfo.getTaskId()); Location location = locationServiceBiz.getById(inStockInfo.getLocationId()); //是否有小车在运行 @@ -530,11 +552,13 @@ public class ScheduledTask extends BaseService { //计算出路径最短的车辆id Long vehicleId = taskDistanceUtils.chooseVehicle(location.getCode(), kilnInfo.getCode()); //占用车辆 - VehicleInfo vehicleInfo = vehicleInfoServiceBiz.getById(vehicleId); - vehicleInfo.setStatus(1); - vehicleInfo.setUpdateTime(LocalDateTime.now()); - vehicleInfoServiceBiz.updateById(vehicleInfo); - asynRunTaskService.asynRunTaskForStockToKiln(inStockInfo.getId(), vehicleId); + if (vehicleId!=0){ + VehicleInfo vehicleInfo = vehicleInfoServiceBiz.getById(vehicleId); + vehicleInfo.setStatus(1); + vehicleInfo.setUpdateTime(LocalDateTime.now()); + vehicleInfoServiceBiz.updateById(vehicleInfo); + asynRunTaskService.asynRunTaskForStockToKiln(inStockInfo.getId(), vehicleId); + } } } }