From 7886c85e1c4547e1d292ac9a3c84c03a104017e7 Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Mon, 16 Jun 2025 11:35:53 +0800 Subject: [PATCH 1/7] =?UTF-8?q?3533=20=E4=B8=BB=E6=95=B0=E6=8D=AE=E8=A1=A8?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8E=E5=BC=80=E5=8F=91=EF=BC=88=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=9D=A1=E7=A0=81=E4=B8=8E=E7=AB=99=E7=82=B9=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E8=A1=A8=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/api/base/IMesContainerSnService.java | 18 +++ .../api/base/IMesContainerSnStationService.java | 28 +++++ .../ext/mes/pcn/api/busi/IMesStationService.java | 8 ++ .../base/MesContainerSnStationController.java | 123 +++++++++++++++++++++ .../controller/busi/MesBusiController.java | 58 +++++++++- .../base/MesContainerSnServiceImpl.java | 41 +++++++ .../base/MesContainerSnStationServiceImpl.java | 101 +++++++++++++++++ .../serviceimpl/busi/MesStationServiceImpl.java | 34 ++++++ 8 files changed, 407 insertions(+), 4 deletions(-) create mode 100644 modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java create mode 100644 modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java create mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java 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 new file mode 100644 index 0000000..7199a26 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java @@ -0,0 +1,18 @@ +package cn.estsh.i3plus.ext.mes.pcn.api.base; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn; + +/** + * @Description : 容器条码-业务方法 + * @Reference : + * @Author : logic + * @CreateDate : 2025/6/16 10:43 + * @Modify: + **/ +public interface IMesContainerSnService { + + ListPager queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager); + +} diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java new file mode 100644 index 0000000..fe1d40a --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java @@ -0,0 +1,28 @@ +package cn.estsh.i3plus.ext.mes.pcn.api.base; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation; + +import java.util.List; + +/** + * @Description : 容器条码与站点关系表-业务方法 + * @Reference : + * @Author : logic + * @CreateDate : 2025/6/13 09:16 + * @Modify: + **/ +public interface IMesContainerSnStationService { + + ListPager queryPager(MesContainerSnStation mesContainerSnStation, Pager pager); + + void doInsert(MesContainerSnStation mesContainerSnStation, String userName); + + void doUpdate(MesContainerSnStation mesContainerSnStation, String userName); + + void doUpdateIsValid(List idList, Integer status, String organizeCode, String userName); + + void deleteWeaklyByIds(List idList, String organizeCode, String userName); + +} diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesStationService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesStationService.java index 6788591..12abcd9 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesStationService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesStationService.java @@ -1,8 +1,12 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesStation; import io.swagger.annotations.ApiOperation; +import java.util.List; + /** * @Description : 站点信息 * @Reference : @@ -18,5 +22,9 @@ public interface IMesStationService { @ApiOperation("校验站点信息根据设备代码") MesStation checkMesStationByEquipmentCode(String organizeCode,String equipmentCode); + @ApiOperation("查询站点信息中所有的设备代码") + List queryAllEquipmentCodeFromMesStation(String organizeCode); + + ListPager queryMesStationByPager(MesStation mesStation, Pager pager); } 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 new file mode 100644 index 0000000..de768db --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/base/MesContainerSnStationController.java @@ -0,0 +1,123 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * @Description : 容器条码与站点关系表 + * @Reference : + * @Author : logic + * @CreateDate : 2025/6/13 09:15 + * @Modify: + **/ +@RestController +@Api(tags = "容器条码与站点关系表") +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mes-container-sn-station") +public class MesContainerSnStationController { + + @Autowired + private IMesContainerSnStationService mesContainerSnStationService; + + @GetMapping("/query") + @ApiOperation(value = "查询") + public ResultBean queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) { + try { + ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); + return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager( + mesContainerSnStationService.queryPager(mesContainerSnStation, pager)); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping("/insert") + @ApiOperation(value = "新增") + public ResultBean doInsert(@RequestBody MesContainerSnStation mesContainerSnStation) { + try { + String userName = AuthUtil.getSessionUser().getUserName(); + ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); + mesContainerSnStationService.doInsert(mesContainerSnStation, userName); + return ResultBean.success("新增成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping("/update") + @ApiOperation(value = "编辑") + public ResultBean doUpdate(@RequestBody MesContainerSnStation mesContainerSnStation) { + try { + String userName = AuthUtil.getSessionUser().getUserName(); + ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); + mesContainerSnStationService.doUpdate(mesContainerSnStation, userName); + return ResultBean.success("编辑成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping("/update-isValid-by-id") + @ApiOperation(value = "批量根据id启用或禁用") + public ResultBean doUpdateIsValid(Long[] idList, Integer isValid, String organizeCode) { + try { + ValidatorBean.checkNotNull(organizeCode, "工厂代码为空"); + ValidatorBean.checkNotNull(idList, "请选择需要删除的信息"); + List ids = Arrays.asList(idList); + if (isValid != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && + isValid != CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("状态值不符合要求,不允许操作"). + build(); + } + String userName = AuthUtil.getSessionUser().getUserName(); + mesContainerSnStationService.doUpdateIsValid(ids, isValid, organizeCode, userName); + return ResultBean.success("批量根据id启用或禁用成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/delete-weakly") + @ApiOperation(value = "批量软删除信息") + public ResultBean batchDeleteWeaklyByIds(@RequestBody Long[] idList, String organizeCode) { + try { + ValidatorBean.checkNotNull(idList, "请选择需要删除的信息"); + ValidatorBean.checkNotNull(organizeCode, "工厂代码为空"); + List ids = Arrays.asList(idList); + String userName = AuthUtil.getSessionUser().getUserName(); + mesContainerSnStationService.deleteWeaklyByIds(ids, organizeCode, userName); + return ResultBean.success("批量删除信息成功") + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesBusiController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesBusiController.java index 03f802d..fdc5109 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesBusiController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesBusiController.java @@ -1,16 +1,16 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesStationService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; -import cn.estsh.i3plus.pojo.mes.bean.MesConfig; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipment; -import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; -import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; +import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; import java.util.Objects; /** @@ -50,6 +51,12 @@ public class MesBusiController { @Autowired private IMesEquipmentExtService mesEquipmentExtService; + @Autowired + private IMesStationService mesStationService; + + @Autowired + private IMesContainerSnService mesContainerSnService; + @GetMapping("/mesProduceSn/query") @ApiOperation(value = "查询条码信息") public ResultBean queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) { @@ -107,4 +114,47 @@ public class MesBusiController { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @GetMapping("/mesStation/query-all-equipment-code-from-mes-station") + @ApiOperation(value = "查询站点信息中所有的设备代码") + public ResultBean queryAllEquipmentCodeFromMesStation(String organizeCode) { + try { + ValidatorBean.checkNotNull(organizeCode, "工厂代码不能为空"); + List equipmentCodeList = mesStationService.queryAllEquipmentCodeFromMesStation(organizeCode); + return ResultBean.success("查询站点信息中所有的设备代码成功").setResultList(equipmentCodeList); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping("/mesStation/query-mes-station-by-pager") + @ApiOperation(value = "分页查询站点信息") + public ResultBean queryMesEquipment(MesStation mesStation, Pager pager) { + try { + ValidatorBean.checkNotNull(mesStation.getOrganizeCode(), "工厂代码不能为空"); + ListPager mesStationByPager = mesStationService.queryMesStationByPager(mesStation, pager); + return ResultBean.success("分页查询站点信息成功").setListPager(mesStationByPager); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping("/mesContainerSn/query-mes-container-sn-by-pager") + @ApiOperation(value = "分页查询容器条码") + public ResultBean queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager) { + try { + ValidatorBean.checkNotNull(mesContainerSn.getOrganizeCode(), "工厂代码不能为空"); + ListPager mesContainerSnListPager = mesContainerSnService.queryMesContainerSnByPager(mesContainerSn, pager); + return ResultBean.success("分页查询容器条码成功").setListPager(mesContainerSnListPager); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + } 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 new file mode 100644 index 0000000..c995315 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnServiceImpl.java @@ -0,0 +1,41 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn; +import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnRepository; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : 容器条码-业务方法实现 + * @Reference : + * @Author : logic + * @CreateDate : 2025/6/16 10:44 + * @Modify: + **/ +@Service +@Slf4j +public class MesContainerSnServiceImpl implements IMesContainerSnService { + + @Autowired + private MesContainerSnRepository mesContainerSnRepository; + + @Override + public ListPager queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSn.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(mesContainerSn.getContainerTypeCode(), "containerTypeCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesContainerSn.getContainerSn(), "containerSn", ddlPackBean); + pager = PagerHelper.getPager(pager, mesContainerSnRepository.findByHqlWhereCount(ddlPackBean)); + List containerSnList = mesContainerSnRepository.findByHqlWherePage(ddlPackBean, pager); + return new ListPager<>(containerSnList, pager); + } + +} 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 new file mode 100644 index 0000000..7cb375d --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesContainerSnStationServiceImpl.java @@ -0,0 +1,101 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.platform.common.convert.ConvertBean; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +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 lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Objects; + +/** + * @Description : 容器条码与站点关系表-业务方法实现 + * @Reference : + * @Author : logic + * @CreateDate : 2025/6/13 09:16 + * @Modify: + **/ +@Slf4j +@Service +public class MesContainerSnStationServiceImpl implements IMesContainerSnStationService { + + @Autowired + private MesContainerSnStationRepository mesContainerSnStationRepository; + + @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); + pager = PagerHelper.getPager(pager, mesContainerSnStationRepository.findByHqlWhereCount(ddlPackBean)); + List containerSnStationList = mesContainerSnStationRepository.findByHqlWherePage(ddlPackBean, pager); + return new ListPager<>(containerSnStationList, pager); + } + + @Override + public void doInsert(MesContainerSnStation mesContainerSnStation, String userName) { + //根据站点 + 设备代码的组合查询现有数据中最大的顺序号,新增数据的顺序号在最大值的基础上加一 + 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()}, + new String[]{"seq"}, ddlPackBean); + List oldContainerSnStationList = + mesContainerSnStationRepository.findByHqlTopWhere(ddlPackBean, 1); + Integer seq; + if (CollectionUtils.isEmpty(oldContainerSnStationList)) { + seq = 1; + }else { + if (Objects.isNull(oldContainerSnStationList.get(0)) || + Objects.isNull(oldContainerSnStationList.get(0).getSeq())) { + seq = 1; + }else { + seq = oldContainerSnStationList.get(0).getSeq() + 1; + } + } + mesContainerSnStation.setSeq(seq); + ConvertBean.saveOrUpdate(mesContainerSnStation, userName); + mesContainerSnStationRepository.insert(mesContainerSnStation); + } + + @Override + public void doUpdate(MesContainerSnStation mesContainerSnStation, String userName) { + ConvertBean.saveOrUpdate(mesContainerSnStation, userName); + mesContainerSnStationRepository.update(mesContainerSnStation); + } + + @Override + public void doUpdateIsValid(List idList, Integer status, String organizeCode, String userName) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(idList, "id", ddlPackBean); + mesContainerSnStationRepository.updateByProperties( + new String[]{"modifyUser", "modifyDatetime", "isValid"}, + new Object[]{userName, TimeTool.getNowTime(true), status }, + ddlPackBean); + } + + @Override + public void deleteWeaklyByIds(List idList, String organizeCode, String userName) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(idList, "id", ddlPackBean); + mesContainerSnStationRepository.updateByProperties( + new String[]{"modifyUser", "modifyDatetime", "isDeleted"}, + new Object[]{userName, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()}, + ddlPackBean); + } + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesStationServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesStationServiceImpl.java index 27100d7..e3c67c1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesStationServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesStationServiceImpl.java @@ -3,14 +3,23 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesStationService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesStation; import cn.estsh.i3plus.pojo.mes.repository.MesStationRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @Description : 站点信息 @@ -44,4 +53,29 @@ public class MesStationServiceImpl implements IMesStationService { } return mesStation; } + + @Override + public List queryAllEquipmentCodeFromMesStation(String organizeCode) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + List mesStationList = mesStationRepository.findByHqlWhere(ddlPackBean); + List equipmentCodeList = new ArrayList<>(); + if (CollectionUtils.isEmpty(mesStationList)) { + return equipmentCodeList; + }else { + equipmentCodeList = mesStationList.stream().map(MesStation::getEquipmentCode).distinct().collect(Collectors.toList()); + return equipmentCodeList; + } + } + + @Override + public ListPager queryMesStationByPager(MesStation mesStation, Pager pager) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesStation.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(mesStation.getStation(), "station", ddlPackBean); + DdlPreparedPack.getNumEqualPack(mesStation.getStationType(), "stationType", ddlPackBean); + DdlPreparedPack.getStringLikerPack(mesStation.getEquipmentCode(), "equipmentCode", ddlPackBean); + pager = PagerHelper.getPager(pager, mesStationRepository.findByHqlWhereCount(ddlPackBean)); + List mesStationList = mesStationRepository.findByHqlWherePage(ddlPackBean, pager); + return new ListPager<>(mesStationList, pager); + } + } From d91200dad9263d38418c3a26086088c579005f8e Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Mon, 16 Jun 2025 14:00:11 +0800 Subject: [PATCH 2/7] =?UTF-8?q?3533=20=E4=B8=BB=E6=95=B0=E6=8D=AE=E8=A1=A8?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8E=E5=BC=80=E5=8F=91=EF=BC=88=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=9D=A1=E7=A0=81=E4=B8=8E=E7=AB=99=E7=82=B9=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E8=A1=A8-=E8=BD=AF=E5=88=A0=E9=99=A4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=AF=B7=E6=B1=82=E6=96=B9=E5=BC=8F=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/controller/base/MesContainerSnStationController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 de768db..4936ed7 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 @@ -104,7 +104,7 @@ public class MesContainerSnStationController { } } - @DeleteMapping(value = "/delete-weakly") + @PutMapping(value = "/delete-weakly") @ApiOperation(value = "批量软删除信息") public ResultBean batchDeleteWeaklyByIds(@RequestBody Long[] idList, String organizeCode) { try { From 8c3a6b9f10a6dbef48cdb4f6e0681f0367927ede Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Mon, 16 Jun 2025 14:38:33 +0800 Subject: [PATCH 3/7] =?UTF-8?q?3533=20=E4=B8=BB=E6=95=B0=E6=8D=AE=E8=A1=A8?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E4=B8=8E=E5=BC=80=E5=8F=91=EF=BC=88=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E6=9D=A1=E7=A0=81=E4=B8=8E=E7=AB=99=E7=82=B9=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E8=A1=A8-=E6=8E=A5=E5=8F=A3=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/base/IMesContainerSnStationService.java | 4 -- .../base/MesContainerSnStationController.java | 48 ++-------------------- .../base/MesContainerSnStationServiceImpl.java | 16 -------- 3 files changed, 3 insertions(+), 65 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java index fe1d40a..147c5f4 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/base/IMesContainerSnStationService.java @@ -19,10 +19,6 @@ public interface IMesContainerSnStationService { void doInsert(MesContainerSnStation mesContainerSnStation, String userName); - void doUpdate(MesContainerSnStation mesContainerSnStation, String userName); - - void doUpdateIsValid(List idList, Integer status, String organizeCode, String userName); - void deleteWeaklyByIds(List idList, String organizeCode, String userName); } 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 4936ed7..9f024b7 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 @@ -2,9 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.common.Pager; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -64,53 +62,13 @@ public class MesContainerSnStationController { } } - @PostMapping("/update") - @ApiOperation(value = "编辑") - public ResultBean doUpdate(@RequestBody MesContainerSnStation mesContainerSnStation) { - try { - String userName = AuthUtil.getSessionUser().getUserName(); - ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); - mesContainerSnStationService.doUpdate(mesContainerSnStation, userName); - return ResultBean.success("编辑成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - } catch (ImppBusiException imppException) { - return ResultBean.fail(imppException); - } catch (Exception e) { - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @PutMapping("/update-isValid-by-id") - @ApiOperation(value = "批量根据id启用或禁用") - public ResultBean doUpdateIsValid(Long[] idList, Integer isValid, String organizeCode) { - try { - ValidatorBean.checkNotNull(organizeCode, "工厂代码为空"); - ValidatorBean.checkNotNull(idList, "请选择需要删除的信息"); - List ids = Arrays.asList(idList); - if (isValid != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() && - isValid != CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("状态值不符合要求,不允许操作"). - build(); - } - String userName = AuthUtil.getSessionUser().getUserName(); - mesContainerSnStationService.doUpdateIsValid(ids, isValid, organizeCode, userName); - return ResultBean.success("批量根据id启用或禁用成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); - } catch (ImppBusiException imppException) { - return ResultBean.fail(imppException); - } catch (Exception e) { - return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } - } - - @PutMapping(value = "/delete-weakly") + @DeleteMapping(value = "/delete-weakly") @ApiOperation(value = "批量软删除信息") - public ResultBean batchDeleteWeaklyByIds(@RequestBody Long[] idList, String organizeCode) { + public ResultBean batchDeleteWeaklyByIds(@RequestBody Long[] idList) { try { ValidatorBean.checkNotNull(idList, "请选择需要删除的信息"); - ValidatorBean.checkNotNull(organizeCode, "工厂代码为空"); List ids = Arrays.asList(idList); + String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); String userName = AuthUtil.getSessionUser().getUserName(); mesContainerSnStationService.deleteWeaklyByIds(ids, organizeCode, userName); return ResultBean.success("批量删除信息成功") 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 7cb375d..5df253a 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 @@ -73,22 +73,6 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS } @Override - public void doUpdate(MesContainerSnStation mesContainerSnStation, String userName) { - ConvertBean.saveOrUpdate(mesContainerSnStation, userName); - mesContainerSnStationRepository.update(mesContainerSnStation); - } - - @Override - public void doUpdateIsValid(List idList, Integer status, String organizeCode, String userName) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(idList, "id", ddlPackBean); - mesContainerSnStationRepository.updateByProperties( - new String[]{"modifyUser", "modifyDatetime", "isValid"}, - new Object[]{userName, TimeTool.getNowTime(true), status }, - ddlPackBean); - } - - @Override public void deleteWeaklyByIds(List idList, String organizeCode, String userName) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getInPackList(idList, "id", ddlPackBean); From 1a60f3cdca969f7951ae1290cfb728626a880d79 Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Wed, 18 Jun 2025 16:59:30 +0800 Subject: [PATCH 4/7] =?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()}, From 9f0b69405c81157f30724b9f18285adf9cc817a5 Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Wed, 18 Jun 2025 17:03:35 +0800 Subject: [PATCH 5/7] =?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=EF=BC=88=E4=BC=98=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../i3plus/ext/mes/pcn/api/base/IMesContainerSnService.java | 2 +- .../serviceimpl/base/MesContainerSnServiceImpl.java | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 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 751e4ac..d0175d4 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,6 +15,6 @@ public interface IMesContainerSnService { ListPager queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager); - boolean checkContainerSnIsExist(String containerSn, String organizeCode); + void checkContainerSnIsExist(String containerSn, String organizeCode); } 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 87e5c6c..071c37d 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 @@ -1,13 +1,16 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn; import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnRepository; +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; @@ -39,10 +42,16 @@ public class MesContainerSnServiceImpl implements IMesContainerSnService { } @Override - public boolean checkContainerSnIsExist(String containerSn, String organizeCode) { + public void checkContainerSnIsExist(String containerSn, String organizeCode) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(containerSn, "containerSn", ddlPackBean); - return mesContainerSnRepository.isExitByHql(ddlPackBean); + if (!mesContainerSnRepository.isExitByHql(ddlPackBean)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("容器条码【%s】不存在!", containerSn) + .build(); + } } } From f0cd2ca1e34f6a724c8961ca8a6da3a0bab7b0b3 Mon Sep 17 00:00:00 2001 From: "logic.fang" Date: Thu, 19 Jun 2025 10:50:10 +0800 Subject: [PATCH 6/7] =?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=EF=BC=88=E4=BC=98=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/controller/base/MesContainerSnStationController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 daad800..e60220e 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 @@ -55,7 +55,7 @@ public class MesContainerSnStationController { @ApiOperation(value = "新增") public ResultBean doInsert(@RequestBody MesContainerSnStation mesContainerSnStation) { try { - ValidatorBean.checkNotNull(mesContainerSnStation.getCreateUser(), "工厂代码为空"); + ValidatorBean.checkNotNull(mesContainerSnStation.getCreateUser(), "操作人为空"); ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空"); //校验容器条码是否存在 mesContainerSnService.checkContainerSnIsExist(mesContainerSnStation.getContainerSn(), mesContainerSnStation.getOrganizeCode()); From 19732c623cc10987ee17f6d0a939c2ffeb15aac0 Mon Sep 17 00:00:00 2001 From: jason Date: Sat, 21 Jun 2025 17:10:49 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=B8=B8=E7=86=9F=E7=AB=99=E7=82=B9?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesContainerSnStationServiceImpl.java | 169 +++++++++++++++++++-- 1 file changed, 154 insertions(+), 15 deletions(-) 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 95a0c9f..d262687 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 @@ -3,13 +3,20 @@ 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.platform.common.util.MesConstWords; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerPackageDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn; import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation; +import cn.estsh.i3plus.pojo.mes.model.report.DataTwoDimensionalModel; +import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryResponse; +import cn.estsh.i3plus.pojo.mes.repository.MesContainerPackageDetailRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnRepository; import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnStationRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import lombok.extern.slf4j.Slf4j; @@ -17,9 +24,12 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; -import java.util.List; -import java.util.Objects; +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.*; +import java.util.stream.Collectors; /** * @Description : 容器条码与站点关系表-业务方法实现 @@ -34,23 +44,129 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS @Autowired private MesContainerSnStationRepository mesContainerSnStationRepository; + @Autowired + private MesContainerPackageDetailRepository packageDetailRDao; + @Autowired + private EntityManager entityManager; + + private void packContainerSnStation(String organizeCode, MesContainerSnStation snStation, Query query) { + query.setParameter("organizeCode", organizeCode) + .setParameter("isValid", CommonEnumUtil.VALID) + .setParameter("isDeleted", CommonEnumUtil.FALSE) + .setParameter("station", snStation.getStation()); + if (!StringUtils.isEmpty(snStation.getContainerSn())){ + query.setParameter("top_container_sn", snStation.getContainerSn()); + } + } @Override public ListPager queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) { - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", ddlPackBean); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getPartNo(), "partNo", ddlPackBean); - pager = PagerHelper.getPager(pager, mesContainerSnStationRepository.findByHqlWhereCount(ddlPackBean)); - List containerSnStationList = mesContainerSnStationRepository.findByHqlWherePage(ddlPackBean, pager); - return new ListPager<>(containerSnStationList, pager); + if (StringUtils.isEmpty(mesContainerSnStation.getStation())) { + return new ListPager<>(new ArrayList<>(), pager); + } + StringBuilder hql = new StringBuilder(); + hql.append(" from mes_container_sn_station mss where mss.organize_code=:organizeCode and mss.is_deleted=:isDeleted and mss.is_valid=:isValid"); + hql.append(" and mss.station=:station"); + if (!StringUtils.isEmpty(mesContainerSnStation.getContainerSn())) { + hql.append(" and mss.top_container_sn=:top_container_sn"); + } + StringBuilder countQueryHql= new StringBuilder(); + countQueryHql.append("select count(DISTINCT mss.top_container_sn)"); + Query countQuery = entityManager.createNativeQuery(countQueryHql.append(hql).toString()); + packContainerSnStation(mesContainerSnStation.getOrganizeCode(), mesContainerSnStation, countQuery); + //本次查询满足条件的总数 + int count = countQuery.getResultList().size(); + if (count <= 0) { + return new ListPager<>(new ArrayList<>(), pager); + } + + StringBuilder dataQueryHql = new StringBuilder(); + dataQueryHql.append("select DISTINCT mss.top_container_sn as containerSn, mss.station as station, mss.seq as seq"); + Query dataQuery = entityManager.createNativeQuery(dataQueryHql.append(hql).toString()); + packContainerSnStation(mesContainerSnStation.getOrganizeCode(), mesContainerSnStation, dataQuery); + + pager = PagerHelper.getPager(pager, count); + //查询本页数据 + dataQuery.setMaxResults(pager.getPageSize()); + dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + List list = dataQuery.getResultList(); + List modelList = new ArrayList<>(); + for (Object result : list) { + Object[] cells = (Object[]) result; + MesContainerSnStation snStation = new MesContainerSnStation(); + snStation.setContainerSn(StringUtils.isEmpty(cells[0]) ? "" : cells[0].toString()); + snStation.setStation(StringUtils.isEmpty(cells[1]) ? "" : cells[1].toString()); + snStation.setSeq(StringUtils.isEmpty(cells[2]) ? 0 : Integer.parseInt(cells[2].toString())); + + modelList.add(snStation); + } + return new ListPager<>(modelList, pager); + +// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); +// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getPartNo(), "partNo", ddlPackBean); +// pager = PagerHelper.getPager(pager, mesContainerSnStationRepository.findByHqlWhereCount(ddlPackBean)); +// List containerSnStationList = mesContainerSnStationRepository.findByHqlWherePage(ddlPackBean, pager); +// return new ListPager<>(containerSnStationList, pager); + } + + private String getTopContainerSn(String organizeCode, String containerSn) { + MesContainerPackageDetail packageDetail = packageDetailRDao.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_VALID, MesConstWords.IS_DELETED, "barCode"}, + new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), containerSn}); + if (packageDetail != null) { + return getTopContainerSn(organizeCode, packageDetail.getContainerSn()); + } + return containerSn; + } + + private Boolean getBottomPackageDetails(String organizeCode, String containerSn, List bottomPackageDetails) { + List packageDetailList = packageDetailRDao.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_VALID, MesConstWords.IS_DELETED, "containerSn"}, + new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), containerSn}); + if (CollectionUtils.isEmpty(packageDetailList)) { + return true; + } + for (MesContainerPackageDetail packageDetail : packageDetailList) { + if (getBottomPackageDetails(organizeCode, packageDetail.getBarCode(), bottomPackageDetails)) { + bottomPackageDetails.add(packageDetail); + } + } + + return false; + } + + private void checkNotMultiplyStation(String organizeCode, String stationCode, Set containerSnSet) { + if (CollectionUtils.isEmpty(containerSnSet)) { + return; + } + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(new ArrayList<>(containerSnSet), "containerSn", ddlPackBean); + List containerSnStationList = mesContainerSnStationRepository.findByHqlWhere(ddlPackBean); + for (MesContainerSnStation snStation : containerSnStationList) { + if (!snStation.getStation().equals(stationCode)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("此容器已绑定站点【%s】!", snStation.getStation()) + .build(); + } + } } @Override public void doInsert(MesContainerSnStation mesContainerSnStation, String userName) { + final String organizeCode = mesContainerSnStation.getOrganizeCode(); + String topContainerSn = getTopContainerSn(organizeCode, mesContainerSnStation.getContainerSn()); + if (!topContainerSn.equals(mesContainerSnStation.getContainerSn())) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("此容器已绑定容器条码【%s】,请扫描容器条码【%s】!", mesContainerSnStation.getContainerSn(), topContainerSn) + .build(); + } //校验容器条码的唯一性 - DdlPackBean containerSnStationDdlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", containerSnStationDdlPackBean); + DdlPackBean containerSnStationDdlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "topContainerSn", containerSnStationDdlPackBean); if (mesContainerSnStationRepository.isExitByHql(containerSnStationDdlPackBean)) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) @@ -58,6 +174,11 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS .setErrorDetail("容器条码【%s】已存在!", mesContainerSnStation.getContainerSn()) .build(); } + List bottomPackageDetailList = new ArrayList<>(); + getBottomPackageDetails(organizeCode, mesContainerSnStation.getContainerSn(), bottomPackageDetailList); + final Set containerSnSet = bottomPackageDetailList.stream().map(MesContainerPackageDetail::getContainerSn).collect(Collectors.toSet()); + checkNotMultiplyStation(organizeCode, mesContainerSnStation.getStation(), containerSnSet); + //根据站点 + 设备代码的组合查询现有数据中最大的顺序号,新增数据的顺序号在最大值的基础上加一 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean); @@ -66,7 +187,7 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS new String[]{"seq"}, ddlPackBean); List oldContainerSnStationList = mesContainerSnStationRepository.findByHqlTopWhere(ddlPackBean, 1); - Integer seq; + int seq; if (CollectionUtils.isEmpty(oldContainerSnStationList)) { seq = 1; }else { @@ -77,9 +198,27 @@ public class MesContainerSnStationServiceImpl implements IMesContainerSnStationS seq = oldContainerSnStationList.get(0).getSeq() + 1; } } - mesContainerSnStation.setSeq(seq); - ConvertBean.saveOrUpdate(mesContainerSnStation, userName); - mesContainerSnStationRepository.insert(mesContainerSnStation); + if (CollectionUtils.isEmpty(bottomPackageDetailList)) { + MesContainerSnStation snStation = new MesContainerSnStation(); + snStation.setOrganizeCode(organizeCode); + snStation.setStation(mesContainerSnStation.getStation()); + snStation.setContainerSn(mesContainerSnStation.getContainerSn()); + snStation.setTopContainerSn(topContainerSn); + snStation.setSeq(seq); + ConvertBean.serviceModelInitialize(snStation, userName); + mesContainerSnStationRepository.insert(snStation); + } else { + for (String containerSn : containerSnSet) { + MesContainerSnStation snStation = new MesContainerSnStation(); + snStation.setOrganizeCode(organizeCode); + snStation.setStation(mesContainerSnStation.getStation()); + snStation.setContainerSn(containerSn); + snStation.setTopContainerSn(topContainerSn); + snStation.setSeq(seq); + ConvertBean.serviceModelInitialize(snStation, userName); + mesContainerSnStationRepository.insert(snStation); + } + } } @Override