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); + } } } }