From f6cbfb876fa34d5adb24ecc26babc64fd504ac15 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Fri, 11 Jul 2025 14:33:13 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BA=BA=E5=B7=A5=E5=91=BC=E5=8F=AB?= =?UTF-8?q?=E5=A5=97=E8=BD=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/controller/SlitterPdaController.java | 12 +++++ .../PdmBiSlittingproductionplanMapper.xml | 6 ++- .../tasks/slitter/SlitterDownTrussTask.java | 9 ---- .../tasks/slitter/mapper/SlitterMapper.java | 2 + .../tasks/slitter/mapper/SlitterMapper.xml | 52 +++++++++++++++++- .../tasks/slitter/service/SlitterService.java | 12 +++++ .../service/impl/SlitterServiceImpl.java | 53 ++++++++++++++++++- 7 files changed, 133 insertions(+), 13 deletions(-) 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 18021980a..11baf0eee 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 @@ -255,5 +255,17 @@ public class SlitterPdaController { public ResponseEntity cutCacheInventory(@RequestBody JSONObject param) { return new ResponseEntity<>(slitterService.cutCacheInventory(param), HttpStatus.OK); } + @PostMapping("/doCallTubeShaftShow") + @Log("呼叫套轴") + @SaIgnore + public ResponseEntity doCallTubeShaftShow(@RequestBody JSONObject param) { + return new ResponseEntity<>(slitterService.doCallTubeShaftShow(param), HttpStatus.OK); + } + @PostMapping("/doCallTubeShaft") + @Log("呼叫套轴") + @SaIgnore + public ResponseEntity doCallTubeShaft(@RequestBody JSONObject param) { + return new ResponseEntity<>(slitterService.doCallTubeShaft(param), HttpStatus.OK); + } } 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 bc436ca99..2b992a018 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 @@ -18,12 +18,13 @@ p.up_or_down, p.qzz_size, p.qzz_generation, - MIN(p.start_time) AS start_time, + MIN(p.call_time) AS start_time, MAX(p.manufacture_sort) AS manufacture_sort FROM `pdm_bi_slittingproductionplan` p WHERE p.`status` = '01' AND p.is_child_tz_ok = '0' AND p.is_paper_ok = '1' + AND p.is_call = '1' AND p.is_delete = '0' AND IFNULL(p.up_or_down, '') ]]> '' AND IFNULL(p.left_or_right, '') ]]> '' @@ -46,12 +47,13 @@ p.up_or_down, p.qzz_size, p.qzz_generation, - MIN(p.start_time) AS start_time, + MIN(p.call_time) AS start_time, MAX(p.manufacture_sort) AS manufacture_sort FROM `pdm_bi_slittingproductionplan` p WHERE p.`status` = '01' AND p.is_child_tz_ok = '0' AND p.is_paper_ok = '1' + AND p.is_call = '1' AND p.is_delete = '0' AND IFNULL(p.up_or_down, '') ]]> '' AND IFNULL(p.left_or_right, '') ]]> '' diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SlitterDownTrussTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SlitterDownTrussTask.java index bf13e4b26..8578f19f3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SlitterDownTrussTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/SlitterDownTrussTask.java @@ -119,8 +119,6 @@ public class SlitterDownTrussTask extends AbstractAcsTask { log.info("即将下卷的上下轴的子卷号数据1:{}", downCons); List downPlans = slittingproductionplanService.getByContainerNames(downCons); log.info("即将下卷的上下轴的子卷号数据2:{}", downPlans); -// SlitterTaskUtil.setPaperWeightStr(point1.getRemark(), downPlans); -// log.info("即将下卷的上下轴的子卷号数据3:{}", downPlans); // 下来的卷的集合 List needUpdates = new ArrayList<>(); // 绑定气胀轴编码(可能没有气胀轴编码) @@ -159,13 +157,7 @@ public class SlitterDownTrussTask extends AbstractAcsTask { } } -// downPlans.forEach(downPlan -> { -// downPlan.setStatus("09"); -// downPlan.setEnd_time(DateUtil.now()); -// TaskUtils.updateOptMessageBySlitterPlan(downPlan); -// }); log.info("即将下卷的上下轴的子卷号数据4-需要更新的新数组:{}", needUpdates); -// slittingproductionplanService.updateBatchById(downPlans); for (int i = 0; i < needUpdates.size(); i++) { boolean flag = slittingproductionplanService.updateById(needUpdates.get(i)); log.info(flag+"即将下卷的上下轴的子卷号数据5:{}", needUpdates); @@ -201,7 +193,6 @@ public class SlitterDownTrussTask extends AbstractAcsTask { p1.setUpdate_optname(SecurityUtils.getCurrentNickName()); p1.setUpdate_optid(SecurityUtils.getCurrentUserId()); }); -// slittingproductionplanService.updateBatchById(plans); for (int i = 0; i < plans.size(); i++) { slittingproductionplanService.updateById(plans.get(i)); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.java index dfe387cc3..32c7546d7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.java @@ -64,4 +64,6 @@ public interface SlitterMapper { List showManualView(); List showManualViewNoXn(); + + List showManualCall(Integer days); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml index 11068d2c0..84ed79a1d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml @@ -198,7 +198,7 @@ p.qzz_size, p.qzz_generation, p.is_paper_ok, - MIN(p.start_time) AS start_time, + MIN(p.call_time) AS start_time, IF(p.paper_tube_or_FRP = '1', p.paper_tube_description, p.FRP_description) AS tube, MIN(p.`status`) AS `status`, MAX(p.qzzno) AS qzzno, @@ -206,6 +206,7 @@ FROM `pdm_bi_slittingproductionplan` p WHERE p.`status` '09' AND p.is_delete = '0' + AND p.is_call = '1' AND IFNULL(p.up_or_down, '') ]]> '' AND IFNULL(p.left_or_right, '') ]]> '' AND DATE (p.start_time) >= DATE_SUB(CURDATE() @@ -232,4 +233,53 @@ manufacture_sort desc, start_time + 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 e1be1d675..e5bbe72b0 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 @@ -380,4 +380,16 @@ public interface SlitterService { JSONObject tzTaskINfo(JSONObject entity); void recover(JSONObject param); + + /** + * 呼叫套轴 + * @param param + */ + JSONObject doCallTubeShaft(JSONObject param); + + /** + * 呼叫套轴展示 + * @param param + */ + List doCallTubeShaftShow(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 b27a46172..dd1417b90 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 @@ -66,6 +66,7 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.concurrent.TimeUnit; +import java.util.function.Consumer; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -80,8 +81,12 @@ import static org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil.getPointLocati @Slf4j @Service public class SlitterServiceImpl implements SlitterService { + /** 是否使用虚拟卷 */ public final static String USE_XN = "USE_XN"; - + /** 套轴期限 */ + public final static String TZ_DAY = "TZ_DAY"; + /** 套轴区域 */ + public final static String PARAM_CODE_PLAN_AREA = "PARAM_CODE_PLAN_AREA"; @Autowired private BstIvtStockingivtMapper bstIvtStockingivtMapper; @Autowired @@ -2938,6 +2943,52 @@ public class SlitterServiceImpl implements SlitterService { slittingproductionplanService.update(lam); } + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject doCallTubeShaft(JSONObject param) { + // param: device_code、row + String deviceCode = param.getString("device_code"); + JSONObject row = param.getJSONObject("row"); + String parentContainerName = row.getString("parent_container_name"); + String splitGroup = row.getString("split_group"); + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq(PdmBiSlittingproductionplan::getSplit_group, splitGroup) + .eq(PdmBiSlittingproductionplan::getResource_name, deviceCode) + .and(la -> la.eq(PdmBiSlittingproductionplan::getParent_container_name, parentContainerName) + .or() + .eq(PdmBiSlittingproductionplan::getRestruct_container_name, parentContainerName)); + List plans = slittingproductionplanService.list(lam); + for (PdmBiSlittingproductionplan plan : plans) { + plan.setIs_call("1"); + plan.setCall_time(DateUtil.now()); + plan.setUpdate_optid(SecurityUtils.getCurrentUserId()); + plan.setUpdate_optname(SecurityUtils.getCurrentNickName()); + plan.setUpdate_time(DateUtil.now()); + } + slittingproductionplanService.updateBatchById(plans); + JSONObject res = new JSONObject(); + res.put("status", HttpStatus.HTTP_OK); + res.put("message", "呼叫套轴成功!"); + return res; + } + + @Override + public List doCallTubeShaftShow(JSONObject param) { + // param: device_code + String deviceCode = param.getString("device_code"); + Param tzDay = paramService.findByCode(TZ_DAY); + Integer days = Integer.valueOf(ObjectUtil.isEmpty(tzDay.getValue()) ? "0" : tzDay.getValue()); + // 区域固定B1、B2 +// Param paramObj = paramService.findByCode(PARAM_CODE_PLAN_AREA); +// String value = paramObj.getValue(); +// List area = Arrays.asList(value.split("[,,]")); + List callPlanViewVOS = slitterMapper.showManualCall(days); + if (callPlanViewVOS.size() == 0) { + return null; + } + return callPlanViewVOS.stream().filter(p -> p.getResource_name().equals(deviceCode)).collect(Collectors.toList()); + } + public List getRedisListValue(String key) { List stepTipLogs = (List) redisUtils.get(key); if (CollectionUtil.isEmpty(stepTipLogs)) {