diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java index 5ef1b8c3b..50600f6e1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/impl/PdmBiSlittingproductionplanServiceImpl.java @@ -160,6 +160,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl getByContainerNames(List collect) { LambdaQueryWrapper lam = new QueryWrapper().lambda(); lam.in(PdmBiSlittingproductionplan::getContainer_name, collect); + lam.eq(PdmBiSlittingproductionplan::getIs_delete,"0"); return pdmBiSlittingproductionplanMapper.selectList(lam); } @@ -207,6 +208,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); lam.eq(PdmBiSlittingproductionplan::getResource_name, deviceCode) .like(PdmBiSlittingproductionplan::getContainer_name, "虚拟") + .lt(PdmBiSlittingproductionplan::getStatus, "03") .eq(PdmBiSlittingproductionplan::getIs_delete, "0"); return this.list(lam); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java index 9bc015e9b..0717f1832 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSendAirShaftAgvTask.java @@ -122,7 +122,7 @@ public class AutoSendAirShaftAgvTask { SlitterTaskUtil.getNumberByResourceCode(demoPlan.getResource_name()), area)); if (emptyPoint.size() == 0) { - log.warn("找不到对应的位置!"); + log.warn("当前分切机找不到空闲的对接位置!"); continue; } // 创建任务 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 9c0533322..6c93bbb57 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -1974,9 +1974,31 @@ public class SlitterServiceImpl implements SlitterService { String downRightSizeV = param.getString("down_right_size_v"); // 获取设备的 List checkPlans = slittingproductionplanService.getXnPlanByDevice(deviceCode); - if (!doCheckCanCallAgain(checkPlans)) { - throw new BadRequestException("气胀轴正在准备或配送中、未使用,不允许二次呼叫套轴!"); + //判断是否有未配送完成的虚拟分切计划 + if (ObjectUtil.isNotEmpty(checkPlans)) { + PdmBiSlittingproductionplan now_checkPlan = checkPlans.get(0); + if("01".equals(now_checkPlan.getStatus())){ + log.debug(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!"); + throw new BadRequestException(deviceCode+"气胀轴正在准备,不允许二次呼叫套轴!"); + }else if("02".equals(now_checkPlan.getStatus())){ + log.debug(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!"); + throw new BadRequestException(deviceCode+"气胀轴配送中,不允许二次呼叫套轴!"); + } } + //判断分切暂存位是否有已配送的气胀轴或未下料完成的子卷 + //根据机台号获取分切区域表 + StIvtCutpointivt deviceCut = cutpointivtService.getPintByExtCode(deviceCode, false); + //获取机台对应的空闲对接位 + List emptyPoint = slitterMapper.getEmptyCutPointNotTask(deviceCut.getProduct_area(), + deviceCut.getSort_seq(), + SlitterTaskUtil.getPointLocationInCutDevice( + SlitterTaskUtil.getNumberByResourceCode(deviceCode), + deviceCut.getProduct_area())); + if (emptyPoint.size() == 0) { + log.debug(deviceCode+"对接缓存位不是空位或存在执行中的任务!"); + throw new BadRequestException(deviceCode+"对接缓存位不是空位或存在执行中的任务!"); + } + List plans = new ArrayList<>(); // 虚拟计划 for (int i = 0; i < 4; i++) { @@ -2145,14 +2167,14 @@ public class SlitterServiceImpl implements SlitterService { return res; } - private boolean doCheckCanCallAgain(List checkPlans) { + private PdmBiSlittingproductionplan doCheckCanCallAgain(List checkPlans) { // 如果is_paper_ok = 2那就不允许 for (PdmBiSlittingproductionplan checkPlan : checkPlans) { - if ("2".equals(checkPlan.getIs_paper_ok())) { - return false; + if ("2".equals(checkPlan.getStatus())) { + return checkPlan; } } - return true; + return null; } @Override