From 1a60f3cdca969f7951ae1290cfb728626a880d79 Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Wed, 18 Jun 2025 16:59:30 +0800 Subject: [PATCH] =?UTF-8?q?47700=20MES-PCN=EF=BC=9A=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E5=AE=B9=E5=99=A8=E7=BB=91=E5=AE=9A=E9=97=AE=E9=A2=98=E6=B1=87?= =?UTF-8?q?=E6=80=BB=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/pcn/api/base/IMesContainerSnService.java | 2 ++ .../controller/base/MesContainerSnStationController.java | 10 ++++++++-- .../serviceimpl/base/MesContainerSnServiceImpl.java | 7 +++++++ .../serviceimpl/base/MesContainerSnStationServiceImpl.java | 14 ++++++++++++-- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java index 7199a26..751e4ac 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java @@ -15,4 +15,6 @@ public interface IMesContainerSnService { ListPager queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager); + boolean checkContainerSnIsExist(String containerSn, String organizeCode); + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java index 9f024b7..daad800 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base; +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.pojo.base.common.Pager; @@ -33,6 +34,9 @@ public class MesContainerSnStationController { @Autowired private IMesContainerSnStationService mesContainerSnStationService; + @Autowired + private IMesContainerSnService mesContainerSnService; + @GetMapping("/query") @ApiOperation(value = "查询") public ResultBean queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) { @@ -51,9 +55,11 @@ public class MesContainerSnStationController { @ApiOperation(value = "新增") public ResultBean doInsert(@RequestBody MesContainerSnStation mesContainerSnStation) { try { - String userName = AuthUtil.getSessionUser().getUserName(); + ValidatorBean.checkNotNull(mesContainerSnStation.getCreateUser(), "工厂代码为空"); ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); - mesContainerSnStationService.doInsert(mesContainerSnStation, userName); + //校验容器条码是否存在 + mesContainerSnService.checkContainerSnIsExist(mesContainerSnStation.getContainerSn(), mesContainerSnStation.getOrganizeCode()); + mesContainerSnStationService.doInsert(mesContainerSnStation, mesContainerSnStation.getCreateUser()); return ResultBean.success("新增成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java index c995315..87e5c6c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java @@ -38,4 +38,11 @@ public class MesContainerSnServiceImpl implements IMesContainerSnService { return new ListPager<>(containerSnList, pager); } + @Override + public boolean checkContainerSnIsExist(String containerSn, String organizeCode) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(containerSn, "containerSn", ddlPackBean); + return mesContainerSnRepository.isExitByHql(ddlPackBean); + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java index 5df253a..95a0c9f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; @@ -10,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation; import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnStationRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,7 +38,6 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS @Override public ListPager queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getEquipmentCode(), "equipmentCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getPartNo(), "partNo", ddlPackBean); @@ -47,9 +48,18 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS @Override public void doInsert(MesContainerSnStation mesContainerSnStation, String userName) { + //校验容器条码的唯一性 + DdlPackBean containerSnStationDdlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", containerSnStationDdlPackBean); + if (mesContainerSnStationRepository.isExitByHql(containerSnStationDdlPackBean)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("容器条码【%s】已存在!", mesContainerSnStation.getContainerSn()) + .build(); + } //根据站点 + 设备代码的组合查询现有数据中最大的顺序号,新增数据的顺序号在最大值的基础上加一 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getEquipmentCode(), "equipmentCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean); DdlPreparedPack.getOrderByPack( new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()},