From 3ff49fe4f0851e24a3c9c5ae66848a93366fe203 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Fri, 22 Aug 2025 14:03:16 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E5=A5=97=E8=BD=B4=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E3=80=81=E4=B8=8B=E5=8D=B7=E7=9A=84=E5=A3=81?= =?UTF-8?q?=E5=8E=9A=E9=95=BF=E5=BA=A6=E4=BF=A1=E6=81=AF=E6=8F=90=E4=BE=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/controller/SlitterPdaController.java | 6 ++++ .../tasks/slitter/service/SlitterService.java | 6 ++++ .../service/impl/SlitterServiceImpl.java | 29 +++++++++++++++ .../tasks/slitter/util/SlitterTaskUtil.java | 36 +++++++++++++++++++ 4 files changed, 77 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java index 11baf0eee..ebd06b652 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java @@ -267,5 +267,11 @@ public class SlitterPdaController { public ResponseEntity doCallTubeShaft(@RequestBody JSONObject param) { return new ResponseEntity<>(slitterService.doCallTubeShaft(param), HttpStatus.OK); } + @PostMapping("/getTubeLength") + @Log("获取轴长") + @SaIgnore + public ResponseEntity getTubeLength(@RequestBody JSONObject param) { + return new ResponseEntity<>(slitterService.getTubeLength(param), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java index e5bbe72b0..c4ad986bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java @@ -392,4 +392,10 @@ public interface SlitterService { * @param param */ List doCallTubeShaftShow(JSONObject param); + + /** + * 获取轴长 + * @param param + */ + JSONObject getTubeLength(JSONObject param); } 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 5452e0608..0e0da7f78 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 @@ -174,6 +174,16 @@ public class SlitterServiceImpl implements SlitterService { List tubes = Stream.of(point.getTube_code1(), point.getTube_code2()) .filter(ObjectUtil::isNotEmpty) .collect(Collectors.toList()); + if (ObjectUtil.isNotEmpty(point.getTube_name1()) && ObjectUtil.isNotEmpty(point.getTube_name2())) { + // 判断是否超过长度 + Integer tubeLen1 = SlitterTaskUtil.getPaperLengthByCodeInt(point.getTube_name1()); + Integer tubeLen2 = SlitterTaskUtil.getPaperLengthByCodeInt(point.getTube_name2()); + if (tubeLen1 + tubeLen2 > 1700) { + stepTipLogs.add("两个管芯相加长度超出轴长度,请检查!"); + redisUtils.set("ERROR" + deviceCode, stepTipLogs); + throw new BadRequestException("两个管芯相加长度超出轴长度,请检查!"); + } + } List gxQtyList = papervehicleService.getGxPoints(point.getPoint_location(), tubes); // point.getTube_code1() 编码 , getTube_name1() : 纸制筒管|纸管|6英寸|1300 or 纸制筒管|纸管|3英寸|12|650 res.put("device_code", deviceCode); @@ -2973,6 +2983,25 @@ public class SlitterServiceImpl implements SlitterService { return callPlanViewVOS.stream().filter(p -> p.getResource_name().equals(deviceCode)).collect(Collectors.toList()); } + @Override + public JSONObject getTubeLength(JSONObject param) { + // container_name + String containerName = param.getString("container_name"); + PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName); + if (ObjectUtil.isEmpty(plan)) { + throw new BadRequestException("计划未找到,请确保MES已推送。"); + } + JSONObject tube = new JSONObject(); + String[] split = SlitterTaskUtil.getTubeConvertInfo(plan).split("\\*"); + tube.put("bh", split[3]); + tube.put("length", SlitterTaskUtil.getPaperLength(plan)); + JSONObject res = new JSONObject(); + res.put("status", HttpStatus.HTTP_OK); + res.put("data", tube); + res.put("message", "获取信息成功!"); + return res; + } + public List getRedisListValue(String key) { List stepTipLogs = (List) redisUtils.get(key); if (CollectionUtil.isEmpty(stepTipLogs)) { 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 827138d94..c1dbb7c5c 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 @@ -359,6 +359,42 @@ public class SlitterTaskUtil { String[] split = paperStr.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); return split[split.length - 1]; } + + /** + * 获取: 长*外径*内径*壁厚*重量*薄壁厚*阶梯长度 + * @param plan + * @return + */ + public static String getTubeConvertInfo(PdmBiSlittingproductionplan plan) { +// String s = "玻璃纤维及其制品|FRP管|6英寸|15|1700"; + String paperStr = ""; + if (plan.getPaper_tube_or_FRP().equals(SlitterConstant.SLITTER_TYPE_PAPER)) { + paperStr = plan.getPaper_tube_model(); + } else { + paperStr = plan.getFRP_model(); + } + return getComposePaperTubeInformation(paperStr); + } + + /** + * 获取纸管长度 + * @param plan 分切计划 + * @return / + */ + public static String getPaperLengthByCode(String name) { +// String name = "玻璃纤维及其制品|FRP管|6英寸|15|1700"; + String[] split = name.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); + return split[split.length - 1]; + } + /** + * 获取纸管长度 + * @param plan 分切计划 + * @return / + */ + public static Integer getPaperLengthByCodeInt(String name) { +// String name = "玻璃纤维及其制品|FRP管|6英寸|15|1700"; + return Integer.valueOf(getPaperLengthByCode(name)); + } public static String getPaperSize(PdmBiSlittingproductionplan plan) { // String s = "玻璃纤维及其制品|FRP管|6英寸|15|1700"; String paperStr = "";