From 6a39e3c7fd934f29d270abc2b649b275707c0b71 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Sun, 13 Apr 2025 11:09:14 +0800 Subject: [PATCH] =?UTF-8?q?fix:=203/6=E5=AF=B8=E5=90=8C=E4=B8=AA=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E5=AF=BC=E8=87=B4=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...dmBiSlittingproductionplanServiceImpl.java | 2 +- .../slitter/auto/AutoCallAirShaftTask.java | 54 ++++++++++++++----- .../tasks/slitter/util/SlitterTaskUtil.java | 4 ++ 3 files changed, 46 insertions(+), 14 deletions(-) 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 50600f6e1..eed2b3abd 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 @@ -174,7 +174,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); lam.eq(PdmBiSlittingproductionplan::getQzzno, qzzNo) .eq(PdmBiSlittingproductionplan::getIs_delete, "0") - .eq(PdmBiSlittingproductionplan::getStatus, status); + .eq(ObjectUtil.isNotEmpty(status), PdmBiSlittingproductionplan::getStatus, status); return pdmBiSlittingproductionplanMapper.selectList(lam); } 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 60b194320..fdd301f54 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 @@ -232,7 +232,9 @@ public class AutoCallAirShaftTask { // update: 不需要(同标箔或者锂电分开) // todo: 需要校验区域0/1 List qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize, specification); - if (qzzPoint.size() == 0) {//若套轴暂存位没有相同规格的气胀轴,直接去气胀轴库找即可 + log.info("查找到满足到对应尺寸的点位-{}", qzzPoint); + if (qzzPoint.size() == 0) { + //若套轴暂存位没有相同规格的气胀轴,直接去气胀轴库找即可 // 调用ACS滚条气涨轴下来 if (!toAcsOutShaft(qzzSize,location, empty)) { log.error("穿拔轴{}不进行套轴,跳过!", empty.getPoint_code()); @@ -245,16 +247,48 @@ public class AutoCallAirShaftTask { } // 查找一条没任务的点位 BstIvtCutpointivt startPoint = qzzPoint.get(0); + // 当前纸管的规格信息 + String oldQzzNo = ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) + ? startPoint.getQzz_no1() : startPoint.getQzz_no2(); + if (oldQzzNo == null) { + log.error("当前气胀轴的编码为空!"); + return; + } + String startPointCode = ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) + ? startPoint.getTruss_point_code1() : startPoint.getTruss_point_code2(); + if (startPointCode == null) { + log.error("当前点位的编码为空!"); + return; + } + // 如果A6寸 B3寸,则需要过滤到精确点位 + if (ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) && ObjectUtil.isNotEmpty(startPoint.getQzz_no2())) { + // 获取需要的数据 + List aPlans = slittingproductionplanService.getByQzzNoByStatus(startPoint.getQzz_no1(), null); + List bPlans = slittingproductionplanService.getByQzzNoByStatus(startPoint.getQzz_no2(), null); + log.info("筛选得到的计划值:{},{}", aPlans, bPlans); + if (aPlans.size() > 0) { + PdmBiSlittingproductionplan aPlan = aPlans.get(0); + if (needPlan.getQzz_size().equals(aPlan.getQzz_size())) { + oldQzzNo = aPlan.getQzzno(); + startPointCode = startPoint.getTruss_point_code1(); + } else { + if (bPlans.size() > 0) { + PdmBiSlittingproductionplan bPlan = bPlans.get(0); + if (needPlan.getQzz_size().equals(bPlan.getQzz_size())) { + oldQzzNo = bPlan.getQzzno(); + startPointCode = startPoint.getTruss_point_code2(); + } + } + } + } + } // 创建任务 JSONObject param = new JSONObject(); - param.put("point_code1", ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) - ? startPoint.getTruss_point_code1() : startPoint.getTruss_point_code2()); + param.put("point_code1", startPointCode); param.put("point_code2", empty.getPoint_code()); - param.put("vehicle_code", ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) - ? startPoint.getQzz_no1() : startPoint.getQzz_no2()); + param.put("vehicle_code", oldQzzNo); // 气胀轴号 - param.put("qzz_no", ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) - ? startPoint.getQzz_no1() : startPoint.getQzz_no2()); + param.put("qzz_no", oldQzzNo); param.put("needPlan", planDto); // 是否拔轴 param.put("is_pulling", SlitterConstant.SLITTER_YES); @@ -263,12 +297,6 @@ public class AutoCallAirShaftTask { param.put("qzz_size", needPlan.getQzz_size()); // 所需的纸管规格 SlitterTaskUtil.putNeedPaperSpec(param, needPlans); - // 当前纸管的规格信息 - String oldQzzNo = ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) - ? startPoint.getQzz_no1() : startPoint.getQzz_no2(); - if (oldQzzNo == null) { - throw new BadRequestException("当前气胀轴的编码为空!"); - } // 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划 saveCutPlanMessage(empty, needPlans, qzzSize); // 设置是否套轴:1:正常套轴,2:待定(到后面还会申请套轴) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java index 7f8e3cf8f..1bd94a182 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java @@ -134,6 +134,10 @@ public class SlitterTaskUtil { return sb.toString(); } + public static void main(String[] args) { + System.out.println(getComposePaperTubeInformation("玻璃纤维及其制品|FRP管|6英寸|15|1100", "1")); + } + /** * 设置所需的套管纸管信息 * @param param 任务参数