From eae9ea5e30ccaf156919f208563781bf560e0949 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 17 Jul 2024 16:02:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A9=BF=E6=8B=94=E8=BD=B4=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=90=8C=E6=AF=8D=E5=8D=B7=E5=A5=97=E8=BD=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IBstIvtShafttubeivtService.java | 8 ++++++ .../dao/mapper/BstIvtShafttubeivtMapper.java | 2 ++ .../dao/mapper/BstIvtShafttubeivtMapper.xml | 9 ++++++ .../impl/BstIvtShafttubeivtServiceImpl.java | 5 ++++ .../IPdmBiSlittingproductionplanService.java | 7 +++++ .../PdmBiSlittingproductionplanMapper.java | 2 ++ .../PdmBiSlittingproductionplanMapper.xml | 7 +++++ ...dmBiSlittingproductionplanServiceImpl.java | 5 ++++ .../slitter/auto/AutoCallAirShaftTask.java | 28 ++++++++++++++++--- .../service/impl/SlitterServiceImpl.java | 7 +++-- 10 files changed, 74 insertions(+), 6 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/IBstIvtShafttubeivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/IBstIvtShafttubeivtService.java index 28505e434..61edd60c2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/IBstIvtShafttubeivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/IBstIvtShafttubeivtService.java @@ -95,4 +95,12 @@ public interface IBstIvtShafttubeivtService extends IService List getNotTaskShaftCacheEmpty(BstIvtShafttubeivt startPoint); void setHaveShaft(JSONObject param); + + /** + * 获取其他穿拔轴机数据 + * @param pointCode / + * @param location / + * @return / + */ + List getOtherCBJData(String pointCode, String location); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java index 029d4d16b..c03347bdb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java @@ -33,4 +33,6 @@ public interface BstIvtShafttubeivtMapper extends BaseMapper * @return / */ List getNotTaskShaftCacheEmpty(@Param("startPoint") BstIvtShafttubeivt startPoint); + + List getOtherCBJData(String pointCode, String location); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml index b8225bd44..5057355b1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml @@ -50,4 +50,13 @@ AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status '07' AND t.point_code1 = b.point_code) ORDER BY b.sort_seq ASC + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/impl/BstIvtShafttubeivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/impl/BstIvtShafttubeivtServiceImpl.java index 2e01aefd2..b486b4421 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/impl/BstIvtShafttubeivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/impl/BstIvtShafttubeivtServiceImpl.java @@ -144,4 +144,9 @@ public class BstIvtShafttubeivtServiceImpl extends ServiceImpl getOtherCBJData(String pointCode, String location) { + return bstIvtShafttubeivtMapper.getOtherCBJData(pointCode, location); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java index 598e83058..0098320c8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/IPdmBiSlittingproductionplanService.java @@ -91,4 +91,11 @@ public interface IPdmBiSlittingproductionplanService extends IService getByContainerNames(List collect); + + /** + * 获取分切计划数据 + * @param dto / + * @return / + */ + List getCurrentPlanInfos(SlitterPlanDistinctDto dto); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java index c3ada8353..52a7ea1bc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.java @@ -15,4 +15,6 @@ public interface PdmBiSlittingproductionplanMapper extends BaseMapper getAllCutPlan(); List getAllHalfPlan(List qzzs); + + List getCurrentPlanInfos(SlitterPlanDistinctDto dto); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml index 997024a17..7be5f3ea3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/bi/slittingproductionplan/service/dao/mapper/PdmBiSlittingproductionplanMapper.xml @@ -140,4 +140,11 @@ WHERE rn = 1; + 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 6097bc1bf..c10bf65a6 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 @@ -149,5 +149,10 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl getCurrentPlanInfos(SlitterPlanDistinctDto dto) { + return pdmBiSlittingproductionplanMapper.getCurrentPlanInfos(dto); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index 134133676..eb2387c60 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -112,7 +112,7 @@ public class AutoCallAirShaftTask { List plans = planAll.stream() .filter(p -> prefixList.stream() .anyMatch(prefix -> p.getResource_name().startsWith(prefix)) && - checkComputationPoint(p) && checkHasTask(p)) + checkComputationPoint(p, empty) && checkHasTask(p)) .collect(Collectors.toList()); if (plans.size() == 0) { // 如果不需要套轴,就只做拔轴 @@ -185,7 +185,7 @@ public class AutoCallAirShaftTask { List qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize, specification); if (qzzPoint.size() == 0) { // 调用ACS滚条气涨轴下来 - toAcsOutShaft(qzzSize, location, empty); +// toAcsOutShaft(qzzSize, location, empty); // 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划 saveCutPlanMessage(empty, needPlans, qzzSize); toCallAgvMovePaperTube(needPlans, location, empty); @@ -196,7 +196,7 @@ public class AutoCallAirShaftTask { if (ObjectUtil.isEmpty(startPoint)) { // 如果不存在,则发起信号滚气涨轴 // 调用ACS滚条气涨轴下来 - toAcsOutShaft(qzzSize, location, empty); +// toAcsOutShaft(qzzSize, location, empty); // 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划 saveCutPlanMessage(empty, needPlans, qzzSize); toCallAgvMovePaperTube(needPlans, location, empty); @@ -526,13 +526,33 @@ public class AutoCallAirShaftTask { * @param dto * @return */ - public boolean checkComputationPoint(SlitterPlanDistinctDto dto) { + public boolean checkComputationPoint(SlitterPlanDistinctDto dto, BstIvtShafttubeivt empty) { // 同设备,同母卷,同组别的点位 if (ObjectUtil.isNotEmpty(dto)) { List cuts = bcutpointivtService.getCachePointSame(dto); if (cuts.size() > 0) { return true; } + // 判断穿拔轴机是否存在正在套轴的,存在也不继续。 + List shafts = bstIvtShafttubeivtService.getOtherCBJData(empty.getPoint_code(), empty.getPoint_location()); + if (shafts.size() > 0) { + BstIvtShafttubeivt shafttubeivt = shafts.get(0); + String containerCode = ObjectUtil.isNotEmpty(shafttubeivt.getContainer_name1()) + ? shafttubeivt.getContainer_name1() : shafttubeivt.getContainer_name2(); + // 获取这个子卷号的分切计划 + PdmBiSlittingproductionplan byContainerName = slittingproductionplanService.getByContainerName(containerCode); + if ("1".equals(byContainerName.getOrder_type())) { + // 判断母卷 + if (byContainerName.getParent_container_name().equals(dto.getParent_container_name())) { + return false; + } + } else { + // 判断改切 + if (byContainerName.getRestruct_container_name().equals(dto.getParent_container_name())) { + return false; + } + } + } // 校验是否在拔轴暂存位、分切对接位有相同设备的分切计划信息。 // 有就返回false, 没有就返回true List cuts2 = bcutpointivtService.getReallyQzzSameDevice(dto.getResource_name()); 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 28ecea796..f2972d1ec 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 @@ -208,7 +208,7 @@ public class SlitterServiceImpl implements SlitterService { } List plans = slittingproductionplanService.getByQzzNo(qzzNo); if (plans.size() == 0) { - log.error("查询不到气胀轴编码「" + qzzNo + "」对应的子卷信息!"); + log.error("查询不到气胀轴编码「" + qzzNo + "」对应状态[结束]的子卷信息!"); throw new BadRequestException("查询不到气胀轴编码「" + qzzNo + "」对应的子卷信息!"); } // 反馈 纸管尺寸 @@ -294,8 +294,9 @@ public class SlitterServiceImpl implements SlitterService { lockPointR.unlock(); } } + } else { + throw new BadRequestException("[" + collect + "]对应的分切计划状态已更改,异常处理位没位置!"); } - throw new BadRequestException("找不到[" + collect + "]对应的分切计划!"); } // 分切计划设置纸卷重量 for (PdmBiSlittingproductionplan plan : plans) { @@ -1143,6 +1144,8 @@ public class SlitterServiceImpl implements SlitterService { + demoPlan.getUp_or_down(); plans.forEach(p -> { p.setQzzno(qzzNo); + p.setStatus("09"); + p.setEnd_time(ObjectUtil.isEmpty(p.getEnd_time()) ? DateUtil.now() : p.getEnd_time()); TaskUtils.updateOptMessageBySlitterPlan(p); }); if (pointCode1.endsWith("A")) {