From 6b6ab8cdc54c95650e56f5561c3d8c19745192b5 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 26 Aug 2024 10:47:20 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=BB=BB=E5=8A=A1=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E5=AD=90=E5=8D=B7=E5=8F=B7=E5=88=B0=E4=BB=BB=E5=8A=A1=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IPdmBiSlittingproductionplanService.java | 8 ++++++++ ...dmBiSlittingproductionplanServiceImpl.java | 7 +++++++ .../slitter/auto/AutoCallAirShaftTask.java | 5 ++++- .../auto/AutoSlitterCacheDownAgvTask.java | 1 + .../slitter/auto/AutoUpShaftTrussTask.java | 1 + .../service/impl/SlitterServiceImpl.java | 19 ++++++++++++++----- 6 files changed, 35 insertions(+), 6 deletions(-) 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 03c23aecd..b96d69547 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 @@ -66,6 +66,14 @@ public interface IPdmBiSlittingproductionplanService extends IService getByQzzNos(List qzzNo, String status); + /** + * 根据气胀轴数组获取分切计划 + * @param qzzNo / + * @param status 状态 + * @return / + */ + List getByQzzNos(List qzzNo); + /** * 获取需要的分切计划 * @param qzzs / 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 10a77d758..d7fc6fef2 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 @@ -105,6 +105,13 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl getByQzzNos(List qzzNo) { + LambdaQueryWrapper lam = new QueryWrapper().lambda(); + lam.in(PdmBiSlittingproductionplan::getQzzno, qzzNo) + .eq(PdmBiSlittingproductionplan::getIs_delete, "0"); + return pdmBiSlittingproductionplanMapper.selectList(lam); + } @Override public List getAllHalfPlan(List qzzs) { 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 3572795b6..f902193ba 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 @@ -133,7 +133,7 @@ public class AutoCallAirShaftTask { // todo: 这里需要注意不要去校验071的任务,不然提前释放货位没意义。 List emptyShaftPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1", "1", location, "0"); - // 如果满了就只做拔轴 预留一个货位,防止套轴直接站满 + // 如果满了就只做拔轴 预留一个货位?,防止套轴直接站满 if (emptyShaftPoint.size() == 0) { log.info("暂存位没有空位!正在检测是否存在半个点位!"); // 校验是否存在半个位置,且有分切计划 @@ -250,6 +250,7 @@ public class AutoCallAirShaftTask { param.put("casingCount", needPlans.size()); // 拔管数量 param.put("pullCount", oldPlans.size()); + param.put("containers", oldPlans.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList())); trussCallAirShaftTask.createTask(param); toCallAgvMovePaperTube(needPlans, location, empty); // 将分切计划is_paper_ok 1(纸管已经准备好) -> 2(已经套轴) @@ -485,11 +486,13 @@ public class AutoCallAirShaftTask { throw new BadRequestException("气涨轴[" + qzzNo + "]对应的分切计划不存在!"); } PdmBiSlittingproductionplan plan = list.get(0); + List collect = list.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList()); JSONObject param = new JSONObject(); param.put("point_code1", pointCode1); param.put("point_code2", empty.getPoint_code()); param.put("vehicle_code", qzzNo); param.put("qzz_no", qzzNo); + param.put("containers", collect); // 当前纸管信息 SlitterTaskUtil.putCurrentPaperSpec(param, list); // 套管数量 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSlitterCacheDownAgvTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSlitterCacheDownAgvTask.java index 94965c4e6..58a88d429 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSlitterCacheDownAgvTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoSlitterCacheDownAgvTask.java @@ -28,6 +28,7 @@ import java.util.concurrent.TimeUnit; * @see SlitterDownAgvTask#createTask(JSONObject) */ @Slf4j +@Deprecated @Component public class AutoSlitterCacheDownAgvTask { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoUpShaftTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoUpShaftTrussTask.java index 4d6bdfb4f..2c21e8bee 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoUpShaftTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoUpShaftTrussTask.java @@ -28,6 +28,7 @@ import java.util.stream.Stream; * @Date: 2024/2/1 */ @Slf4j +@Deprecated @Component public class AutoUpShaftTrussTask { @Autowired 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 3e361a0c4..0f6f30d13 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 @@ -515,9 +515,7 @@ public class SlitterServiceImpl implements SlitterService { List cutPointList = slitterMapper.getReadyShaftPoint(device.getExt_code()); // 任务参数 JSONObject taskParam = new JSONObject(); - // 设置纸管长度 -// taskParam.put("up_length", getPaperLength(currentUpPlan)); -// taskParam.put("down_lengtht", getPaperLength(currentDownPlan)); + taskParam.put("containers", containers); if (timePlans.size() == 0 || cutPointList.size() == 0) { // 如果没有下一组的分切计划,就只做下卷任务(判断下单/下双) // 获取分切对接位没任务的空位置 @@ -1020,6 +1018,14 @@ public class SlitterServiceImpl implements SlitterService { if (ObjectUtil.isEmpty(point.getQzz_no1()) && ObjectUtil.isEmpty(point.getQzz_no2())) { throw new BadRequestException("点位:" + point.getPoint_code() + " 的气胀轴编码为空!"); } + JSONObject taskParam = new JSONObject(); + // 将子卷信息存到任务中 + List qzzNos = Stream.of(point.getQzz_no1(), point.getQzz_no2()).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(qzzNos)) { + List plans = slittingproductionplanService.getByQzzNos(qzzNos); + List collect = plans.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList()); + taskParam.put("containers", collect); + } List areaEmptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1", "1", "0", "2"); if (areaEmptyNotTaskPoint.size() == 0) { @@ -1035,7 +1041,6 @@ public class SlitterServiceImpl implements SlitterService { } try { if (tryLock) { - JSONObject taskParam = new JSONObject(); taskParam.put("point_code1", point.getPoint_code()); taskParam.put("point_code2", endPoint.getPoint_code()); taskParam.put("vehicle_code1", point.getQzz_no1()); @@ -1544,6 +1549,11 @@ public class SlitterServiceImpl implements SlitterService { if (!"B2".equals(cut.getProduct_area())) { throw new BadRequestException("操作失败,只有B2才能去暂存位!"); } + JSONObject taskParam = new JSONObject(); + List collect = Stream.of(cut.getQzz_no1(), cut.getQzz_no2()).filter(ObjectUtil::isNotEmpty).collect(Collectors.toList()); + List byQzzNos = slittingproductionplanService.getByQzzNos(collect); + List containers = byQzzNos.stream().map(PdmBiSlittingproductionplan::getContainer_name).collect(Collectors.toList()); + taskParam.put("containers", containers); List areaEmptyNotTaskPoint = bcutpointivtService.getAreaNotTaskPointByStatus("2", "1", "0","0"); if (areaEmptyNotTaskPoint.size() == 0) { @@ -1560,7 +1570,6 @@ public class SlitterServiceImpl implements SlitterService { } try { if (tryLock) { - JSONObject taskParam = new JSONObject(); taskParam.put("point_code1", cut.getPoint_code()); taskParam.put("point_code2", endPoint.getPoint_code()); taskParam.put("vehicle_code1", cut.getQzz_no1());