From 4be3280f46c8856cbe31ba95f7ee01c5409fe263 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 7 Jan 2025 09:02:02 +0800 Subject: [PATCH 1/4] =?UTF-8?q?opt:=20B2=E7=83=98=E7=83=A4=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E4=BC=98=E5=85=88=E9=80=81=E5=88=B0=E4=B8=AD=E4=B8=93?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mps/service/impl/BakingServiceImpl.java | 39 ++++++++++++------- .../wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql | 22 +++++++++++ .../org/nl/wms/sch/tasks/InCoolIvtTask.java | 36 ++++++++++------- 3 files changed, 70 insertions(+), 27 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index 175711c2c..50780f10f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RedisUtils; @@ -619,32 +620,42 @@ public class BakingServiceImpl implements BakingService { } map.put("point_type", "1"); // B2出来要根据锂电或者标箔去不同地方(状态5) + String orderType = raw_jo.getString("order_type"); + JSONObject lithiumPoint = null; + String endPointCode = null; if (jsonPoint.getString("product_area").equals("B2")) { - String orderType = raw_jo.getString("order_type"); // order_type 1-标箔;2-锂电 if ("2".equals(orderType)) { map.put("point_type", "5"); + // 如果是B2锂电就优先去表处中转区 + lithiumPoint = WQL.getWO("PDA_OVENINANDOUT_01").addParam("flag", "5").process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(lithiumPoint)) { + endPointCode = lithiumPoint.getString("point_code"); + } } } - JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - // 如果为空 - if (ObjectUtil.isEmpty(jsonCooIvt) && !jsonPoint.getString("product_area").equals("B2")) { - if (StrUtil.equals(jsonPoint.getString("point_location"), "0")) { - map.put("point_location", "1"); + if (ObjectUtil.isEmpty(lithiumPoint)) { + JSONObject jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); + // 如果为空 + if (ObjectUtil.isEmpty(jsonCooIvt) && !jsonPoint.getString("product_area").equals("B2")) { + if (StrUtil.equals(jsonPoint.getString("point_location"), "0")) { + map.put("point_location", "1"); + } + if (StrUtil.equals(jsonPoint.getString("point_location"), "1")) { + map.put("point_location", "0"); + } + jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); } - if (StrUtil.equals(jsonPoint.getString("point_location"), "1")) { - map.put("point_location", "0"); + if (ObjectUtil.isEmpty(jsonCooIvt)) { + throw new BadRequestException("冷却区空位不足"); } - jsonCooIvt = WQL.getWO("PDA_OVENINANDOUT_01").addParamMap(map).process().uniqueResult(0); - } - if (ObjectUtil.isEmpty(jsonCooIvt)) { - throw new BadRequestException("冷却区空位不足"); + endPointCode = jsonCooIvt.getString("full_point_code"); } // 3.创建任务 JSONObject param = new JSONObject(); param.put("point_code1", point_code1); - param.put("point_code2", jsonCooIvt.getString("full_point_code")); + param.put("point_code2", endPointCode); param.put("container_name", container_name); param.put("product_area", jsonPoint.getString("product_area")); @@ -673,7 +684,7 @@ public class BakingServiceImpl implements BakingService { jsonCool.put("qty_unit_id", jsonMater.get("base_unit_id")); jsonCool.put("task_id", task_id); jsonCool.put("start_point_code", point_code1); - jsonCool.put("end_point_code", jsonCooIvt.getString("full_point_code")); + jsonCool.put("end_point_code", endPointCode); jsonCool.put("create_mode", "03"); jsonCool.put("create_id", currentUserId); jsonCool.put("create_name", currentUsername); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql index 1f3600ce1..32181fc70 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_OVENINANDOUT_01.wql @@ -341,3 +341,25 @@ ENDSELECT ENDQUERY ENDIF + IF 输入.flag = "5" + QUERY + SELECT + * + FROM + `sch_base_point` p + WHERE + p.region_code = 'B2-BCZZ' + AND p.point_type = '8' + AND p.point_status = '1' + AND 0 = ( + SELECT + COUNT(*) + FROM + sch_base_task t + WHERE + t.task_status < '07' + AND t.is_delete = '0' + AND (t.point_code1 = p.point_code OR t.point_code2 = p.point_code OR t.point_code3 = p.point_code OR t.point_code4 = p.point_code)) + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java index 5566f45a4..9ad251720 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InCoolIvtTask.java @@ -114,7 +114,29 @@ public class InCoolIvtTask extends AbstractAcsTask { // 校验终点是否存在 JSONObject jsonIvt = ivtTab.query("full_point_code ='" + point_code2 + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("终点未找到可用点位:" + point_code2); + // 判断是不是暂存位 + JSONObject zzPoint = pointTab.query("point_code ='" + point_code2 + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(zzPoint)) { + throw new BadRequestException("终点未找到可用点位:" + point_code2); + } + zzPoint.put("material_code", jsonTask.getString("material_code")); + // 有料 + zzPoint.put("point_status", "2"); + zzPoint.put("update_optid", SecurityUtils.getCurrentUserId()); + zzPoint.put("update_optname", SecurityUtils.getCurrentNickName()); + zzPoint.put("update_time", DateUtil.now()); + pointTab.update(zzPoint); + } else { + // 更新冷却库存状态 + JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + jsonTask.getString("material_code") + "'").uniqueResult(0); + + jsonIvt.put("full_point_status", "02"); + jsonIvt.put("cool_ivt_status", "04"); + jsonIvt.put("instorage_time", DateUtil.now()); + jsonIvt.put("container_name", raw_jo.getString("container_name")); + jsonIvt.put("workorder_id", raw_jo.getString("workorder_id")); + jsonIvt.put("ivt_qty", raw_jo.getString("qty")); + ivtTab.update(jsonIvt); } // 更新暂存位状态为空位 @@ -123,18 +145,6 @@ public class InCoolIvtTask extends AbstractAcsTask { jsonPoint.put("material_code", ""); pointTab.update(jsonPoint); - // 更新冷却库存状态 - JSONObject raw_jo = WQLObject.getWQLObject("pdm_bi_rawfoilworkorder").query("container_name = '" + jsonTask.getString("material_code") + "'").uniqueResult(0); - - jsonIvt.put("full_point_status", "02"); - jsonIvt.put("cool_ivt_status", "04"); - jsonIvt.put("instorage_time", DateUtil.now()); - jsonIvt.put("container_name", raw_jo.getString("container_name")); - jsonIvt.put("workorder_id", raw_jo.getString("workorder_id")); - jsonIvt.put("ivt_qty", raw_jo.getString("qty")); - ivtTab.update(jsonIvt); - - // 将入冷却信息发送给mes JSONObject param = new JSONObject(); String userName = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("MES_USERNAME").getValue(); From 8f47bed08e3b186e0da4fc719a891e6a640ac6a6 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 7 Jan 2025 10:26:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?opt:=20B2=E5=88=86=E5=88=87=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E4=BD=8D=E4=B8=8B=E6=96=99=E6=A0=A1=E9=AA=8C=E8=B5=B7?= =?UTF-8?q?=E7=82=B9=E9=97=AE=E9=A2=98=EF=BC=8C=E5=BC=82=E5=B8=B8=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.java | 7 +++++++ .../nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.xml | 8 ++++++++ .../nl/b_lms/sch/task/service/IschBaseTaskService.java | 7 +++++++ .../sch/task/service/impl/SchBaseTaskServiceImpl.java | 5 +++++ .../nl/b_lms/sch/tasks/slitter/mapper/SlitterMapper.xml | 2 +- .../tasks/slitter/service/impl/SlitterServiceImpl.java | 6 +++--- 6 files changed, 31 insertions(+), 4 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.java index 2a9dbc3d5..dd5960fcb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.java @@ -27,4 +27,11 @@ public interface SchBaseTaskMapper extends BaseMapper { * @return / */ List getTaskByPlanQzzNoAndDevice(String resourceName); + + /** + * 检测点位起点的任务是否存在 + * @param code + * @return + */ + List checkHaveStartTask(String code); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.xml index 2bb3eb947..0732f1748 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/dao/mapper/SchBaseTaskMapper.xml @@ -7,6 +7,7 @@ SELECT * FROM sch_base_task WHERE task_status '071' AND task_status ]]> '07' + AND is_delete = '0' AND ( point_code1 = #{code} OR point_code2 = #{code} OR point_code3 = #{code} @@ -20,4 +21,11 @@ AND p.resource_name = #{resourceName} AND IFNULL(p.qzzno, '') ]]> '' + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java index 06cf7e932..13b3e98b1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/IschBaseTaskService.java @@ -87,6 +87,13 @@ public interface IschBaseTaskService extends IService { * @return / */ Boolean checkHaveTaskByZcPoint(BstIvtCutpointivt point); + + /** + * 判断是否有起点未完成的任务 + * @param pointCode + * @return + */ + List checkHaveStartTask(String pointCode); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 2cff1f339..e7c0c6ce1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -161,6 +161,11 @@ public class SchBaseTaskServiceImpl extends ServiceImpl 0; } + @Override + public List checkHaveStartTask(String pointCode) { + return schBaseTaskMapper.checkHaveStartTask(pointCode); + } + } 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 f8eea79df..7f8d7e2f5 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 @@ -60,7 +60,7 @@ AND bcp.point_location = #{location} AND 0 = ( SELECT COUNT(*) FROM sch_base_task t - WHERE t.task_status '071' AND t.task_status ]]> '07' AND (t.point_code2 = bcp.point_code OR t.point_code2 = bcp.truss_point_code1 + WHERE t.task_status '071' AND t.task_status ]]> '07' AND t.is_delete = '0' AND (t.point_code2 = bcp.point_code OR t.point_code2 = bcp.truss_point_code1 OR t.point_code4 = bcp.truss_point_code1 OR t.point_code2 = bcp.truss_point_code2 OR t.point_code4 = bcp.truss_point_code2) ) AND 0 = ABS(bcp.sort_seq - #{sortSeq}) 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 73ca8abd4..ea6aecb3b 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 @@ -530,8 +530,8 @@ public class SlitterServiceImpl implements SlitterService { device.getSort_seq(), getPointLocationInCutDevice(getNumberByResourceCode(demoPlan.getResource_name()), area)); if (emptyPoints.size() == 0) { - log.error("分切机【" + device.getExt_code() + "】找不到对应的对接位!"); - throw new BadRequestException("分切机【" + device.getExt_code() + "】找不到对应的对接位!"); + log.error("分切机【" + device.getExt_code() + "】找不到对应的对接位, 或已存在任务!"); + throw new BadRequestException("分切机【" + device.getExt_code() + "】找不到对应的对接位,或已存在任务!"); } // 枷锁 BstIvtCutpointivt emptyPoint = emptyPoints.get(0); @@ -1549,7 +1549,7 @@ public class SlitterServiceImpl implements SlitterService { // param: point_code String pointCode = param.getString("point_code"); // 校验是否存在任务 - List taskList = taskService.checkHaveTask(pointCode); + List taskList = taskService.checkHaveStartTask(pointCode); if (taskList.size() > 0) { throw new BadRequestException("操作失败,点位[" + pointCode + "]存在未完成的任务!"); } From 35a550c0399b589d8a3c40957fc8074468f9bd39 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 7 Jan 2025 17:18:33 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat=EF=BC=9A=E5=AD=90=E5=8D=B7=E9=87=8D?= =?UTF-8?q?=E9=87=8F=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pda/controller/SlitterPdaController.java | 6 ++++++ .../sch/tasks/slitter/service/SlitterService.java | 7 +++++++ .../slitter/service/impl/SlitterServiceImpl.java | 15 +++++++++++++++ 3 files changed, 28 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 82956087b..c4cf60834 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 @@ -163,6 +163,12 @@ public class SlitterPdaController { public ResponseEntity doSubRollWeightBinding(@RequestBody JSONObject param) { return new ResponseEntity<>(slitterDevices.doSubRollWeightBinding(param), HttpStatus.OK); } + @PostMapping("/doSubRollWeightBindingTip") + @Log("手持子卷重量绑定提示") + @SaIgnore + public ResponseEntity doSubRollWeightBindingTip(@RequestBody JSONObject param) { + return new ResponseEntity<>(slitterDevices.doSubRollWeightBindingTip(param), HttpStatus.OK); + } @PostMapping("/doUpShaftToSlitter") @Log("手持分切机上气胀轴") @SaIgnore 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 453732827..303107d37 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 @@ -291,4 +291,11 @@ public interface SlitterService { * @return */ JSONObject doUpShaftToSlitterByDeviceTip(JSONObject param); + + /** + * 子卷维护重量提示 + * @param param + * @return + */ + JSONObject doSubRollWeightBindingTip(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 ea6aecb3b..544a588f9 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 @@ -1869,4 +1869,19 @@ public class SlitterServiceImpl implements SlitterService { res.put("tip", tips.stream().collect(Collectors.joining(","))); return res; } + + @Override + public JSONObject doSubRollWeightBindingTip(JSONObject param) { + log.info("手持维护重量 - {}", param); + //container_name: 子卷号 + String containerName = param.getString("container_name"); + Assert.notBlank(containerName, "子卷号不能为空!"); + PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName); + String rollWeight = "子卷毛重:【" + plan.getWeight() + "】"; + String paperWeight = "纸管重量:【" + plan.getPaper_weight() + "】"; + JSONObject res = new JSONObject(); + res.put("status", HttpStatus.HTTP_OK); + res.put("tip", "系统记录的重量数值:" + rollWeight + ", " + paperWeight); + return res; + } } From 268d39109897614562a72e1213bf1af9d80c0c24 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 7 Jan 2025 17:22:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix=EF=BC=9A=E5=AD=90=E5=8D=B7=E9=87=8D?= =?UTF-8?q?=E9=87=8F=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tasks/slitter/service/impl/SlitterServiceImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 544a588f9..64ee63031 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 @@ -1872,15 +1872,18 @@ public class SlitterServiceImpl implements SlitterService { @Override public JSONObject doSubRollWeightBindingTip(JSONObject param) { - log.info("手持维护重量 - {}", param); + JSONObject res = new JSONObject(); + res.put("status", HttpStatus.HTTP_OK); //container_name: 子卷号 String containerName = param.getString("container_name"); Assert.notBlank(containerName, "子卷号不能为空!"); PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName); + if (ObjectUtil.isEmpty(plan)) { + res.put("tip", "子卷信息在系统中不存在,请核对子卷号!"); + return res; + } String rollWeight = "子卷毛重:【" + plan.getWeight() + "】"; String paperWeight = "纸管重量:【" + plan.getPaper_weight() + "】"; - JSONObject res = new JSONObject(); - res.put("status", HttpStatus.HTTP_OK); res.put("tip", "系统记录的重量数值:" + rollWeight + ", " + paperWeight); return res; }