From fa05b5a784244c2042b7d383282ad66dfc54f100 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 9 Dec 2024 11:12:34 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=AD=90=E5=8D=B7=E7=BB=B4?= =?UTF-8?q?=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SlitterPdaServiceImpl.java | 81 ++++++++++++++----- .../main/java/org/nl/wms/util/TaskUtils.java | 14 ++++ 2 files changed, 73 insertions(+), 22 deletions(-) diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java index f9e82a791..9ef522328 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java @@ -20,14 +20,13 @@ import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService; import org.nl.wms.pdm.ivt.bcut.service.IBstIvtCutpointivtService; import org.nl.wms.pdm.ivt.bcut.service.dao.BstIvtCutpointivt; -import org.nl.wms.pdm.ivt.cut.service.dao.StIvtCutpointivt; import org.nl.wms.pdm.ivt.cut.service.IstIvtCutpointivtService; +import org.nl.wms.pdm.ivt.cut.service.dao.StIvtCutpointivt; import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; -import org.nl.wms.sch.task_manage.tasks.nbj.SendShaftAGVTask; import org.nl.wms.sch.task_manage.tasks.slitter.*; import org.nl.wms.util.TaskUtils; import org.slf4j.MDC; @@ -76,6 +75,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { private SlitterInHotAGVTask slitterInHotAGVTask; @Autowired private SlitterRebakeAGVTask slitterRebakeAGVTask; + @Override public JSONObject queryOrderInfo(JSONObject param) { JSONObject result = new JSONObject(); @@ -355,29 +355,29 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { if (ObjectUtil.isEmpty(containerName)) { throw new BadRequestException("子卷号不能为空!"); } - List collect = Arrays.stream(containerName.split(",")).collect(Collectors.toList()); + StIvtCutpointivt slitterDevice = cutpointivtService.getPintByUpOrDownCode(pointCode1, false); + String qzzNo; + List collect = Arrays.stream(containerName.split("[,,|、/]")).collect(Collectors.toList()); List plans = slittingproductionplanService.getByContainerNames(collect); if (plans.size() == 0) { - throw new BadRequestException("子卷号:[" + containerName + "] 的分切计划没找到,检查是否推送或者子卷号是否正确!"); + // 生产分切计划 + qzzNo = doCreatePlan(collect, slitterDevice, pointCode1); +// throw new BadRequestException("子卷号:[" + containerName + "] 的分切计划没找到,检查是否推送或者子卷号是否正确!"); + } else { + PdmBiSlittingproductionplan demoPlan = plans.get(0); + String resourceName = demoPlan.getResource_name(); + qzzNo = TaskUtils.createVirtualQzzNo(resourceName, "yyMMddHHmmss", demoPlan); + if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) { + qzzNo = demoPlan.getQzzno(); + } + for (PdmBiSlittingproductionplan plan : plans) { + plan.setQzzno(qzzNo); + plan.setStatus("05"); + TaskUtils.updateOptMessageBySlitterPlan(plan); + } + slittingproductionplanService.updateBatchById(plans); } - PdmBiSlittingproductionplan demoPlan = plans.get(0); - String resourceName = demoPlan.getResource_name(); - String qzzNo = resourceName.substring(0, 2) - + resourceName.substring(resourceName.length() - 2) - + demoPlan.getSplit_group() - + TaskUtils.getDateTime("yyMMddHHmmss") + "-" - + demoPlan.getUp_or_down(); - if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) { - qzzNo = demoPlan.getQzzno(); - } - for (PdmBiSlittingproductionplan plan : plans) { - plan.setQzzno(qzzNo); - plan.setStatus("05"); - TaskUtils.updateOptMessageBySlitterPlan(plan); - } - slittingproductionplanService.updateBatchById(plans); // 气胀轴编码设置到分切机器上 - StIvtCutpointivt slitterDevice = cutpointivtService.getPintByUpOrDownCode(pointCode1, false); if (pointCode1.equals(slitterDevice.getUp_point_code())) { slitterDevice.setUp_qzzno(qzzNo); } else { @@ -390,6 +390,43 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { return res; } + private String doCreatePlan(List collect, StIvtCutpointivt slitterDevice, String point) { + List plans = new ArrayList<>(); + String upOrDown = "S".equals(point.substring(point.length() - 1)) ? "1" : "2"; + String qzzno = TaskUtils.createVirtualQzzNo(slitterDevice.getExt_code(), + "yyMMddHHmmss", + upOrDown); + for (int i = 0; i < collect.size(); i++) { + String containerName = collect.get(i); + PdmBiSlittingproductionplan p = new PdmBiSlittingproductionplan(); + p.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + p.setOrder_type("1"); + p.setContainer_name(containerName); + p.setProduct_name("-"); + p.setResource_name(slitterDevice.getExt_code()); + p.setSplit_group("A"); + p.setManufacture_sort("1"); + p.setMfg_order_name("1"); + p.setManufacture_date(DateUtil.now()); + p.setPaper_tube_or_FRP("1"); + p.setSplit_breadth(BigDecimal.ONE); + p.setSplit_height(BigDecimal.ONE); + p.setSplit_weight(BigDecimal.ONE); + p.setStatus("05"); + p.setIs_parent_ok("1"); + p.setIs_child_tz_ok("1"); + p.setIs_child_ps_ok("1"); + p.setQzzno(qzzno); + p.setSale_order_name("-"); + p.setIs_call("1"); + p.setUp_or_down(upOrDown); + p.setLeft_or_right(String.valueOf(i + 1)); + plans.add(p); + } + slittingproductionplanService.saveBatch(plans); + return qzzno; + } + @Override public JSONObject requestTubeShaft(JSONObject param) { log.info("请求套轴 - {}", param); @@ -407,7 +444,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { for (CallShaftVo callShaftVo : row) { // 保存工单 PdmBiSlittingproductionplan plan = new PdmBiSlittingproductionplan(); - plan.setWorkorder_id(IdUtil.getSnowflake(1,1).nextIdStr()); + plan.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextIdStr()); plan.setOrder_type("1"); plan.setContainer_name(TaskUtils.createVirtualSubContainer("yyMMddHHmmss", cutDevice.getExt_code(), count++)); plan.setProduct_name("-"); diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java index ef1478240..de5d85f55 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java @@ -336,6 +336,20 @@ public class TaskUtils { + TaskUtils.getDateTime(format) + "-" + demoPlan.getUp_or_down(); } + /** + * 创建虚拟气胀轴编码 + * @param resourceName 分切计划设备号 + * @param format 格式 + * @param upOrDown 上下轴 + * @return 字符串 + */ + public static String createVirtualQzzNo(String resourceName, String format, String upOrDown) { + return resourceName.substring(0, 2) + + resourceName.substring(resourceName.length() - 2) + "-" +// + demoPlan.getSplit_group() + + TaskUtils.getDateTime(format) + "-" + + upOrDown; + } /** * 赋值分切计划的修改时间、人等信息