From 73b97cc3b0a8db4acdf7bc85accc28fdbd211ad5 Mon Sep 17 00:00:00 2001 From: jun Date: Mon, 3 Jun 2024 15:39:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E4=B8=BB?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/api/base/IMesPartProduceTypeService.java | 13 +++++ .../ext/mes/api/base/IMesPartSapService.java | 2 +- .../base/MesPartProduceTypeController.java | 20 ++++++++ .../base/MesDefectWarnConfigService.java | 2 +- .../base/MesPartProduceTypeServiceImpl.java | 57 ++++++++++++++++++++++ .../serviceimpl/base/MesPartSapService.java | 55 ++++++++++++++++++++- .../base/MesShippingOrderManagementService.java | 10 ++-- .../serviceimpl/base/MesWorkOrderService.java | 10 ++-- 8 files changed, 153 insertions(+), 16 deletions(-) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartProduceTypeService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProduceTypeController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProduceTypeServiceImpl.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartProduceTypeService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartProduceTypeService.java new file mode 100644 index 0000000..ece509d --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartProduceTypeService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesPartProduceType; + +/** + * @Description : 产品生产类型 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/6/3 14:38 + * @Modify: + **/ +public interface IMesPartProduceTypeService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartSapService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartSapService.java index 0bf828d..1852f35 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartSapService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesPartSapService.java @@ -1,6 +1,5 @@ package cn.estsh.i3plus.ext.mes.api.base; -import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPartSap; /** @@ -10,4 +9,5 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartSap; */ public interface IMesPartSapService extends IBaseMesService { + MesPartSap getMesPartSapByPartNo(String partNo, String organizeCode); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProduceTypeController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProduceTypeController.java new file mode 100644 index 0000000..75a5186 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProduceTypeController.java @@ -0,0 +1,20 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesPartProduceType; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 产品生产类型 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/6/3 14:42 + * @Modify: + **/ +@Api("产品生产类型") +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPartProduceType") +public class MesPartProduceTypeController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectWarnConfigService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectWarnConfigService.java index 923a83d..d2cfd08 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectWarnConfigService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDefectWarnConfigService.java @@ -134,7 +134,7 @@ public class MesDefectWarnConfigService extends BaseMesService implements IMesPartProduceTypeService { + + @Override + protected void setPackQueryBean(MesPartProduceType bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getPptCode(), "pptCode", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPptName(), "pptName", packBean); + } + + @Override + protected void onInsertBean(MesPartProduceType item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPptCode(), "产品生产类型不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPptCode(), "pptCode", roadPackBean); + + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + MesException.throwMesBusiException("产品生产类型【%s】已经存在,请检查数据", item.getPptCode()); + } + } + + @Override + protected void onUpdateBean(MesPartProduceType item) { + + // 数据校验 + ValidatorBean.checkNotNull(item.getPptCode(), "产品生产类型不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPptCode(), "pptCode", roadPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", roadPackBean); + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + MesException.throwMesBusiException("产品生产类型【%s】已经存在,请检查数据", item.getPptCode()); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java index 6734719..cfaa354 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartSapService.java @@ -1,12 +1,14 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesPartSapService; -import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesPartSap; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -14,8 +16,57 @@ import org.springframework.stereotype.Service; @Slf4j public class MesPartSapService extends BaseMesService implements IMesPartSapService { + @Override protected void setPackQueryBean(MesPartSap bean, DdlPackBean packBean) { DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringLikeEqualPack(bean.getPartName(), "partName", packBean); } + + @Override + protected void onInsertBean(MesPartSap item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPartNo(), "物料号不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", roadPackBean); + + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("物料号【%s】已经存在,请检查数据", item.getPartNo()) + .build(); + } + } + + @Override + protected void onUpdateBean(MesPartSap item) { + + // 数据校验 + ValidatorBean.checkNotNull(item.getPartNo(), "物料号不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", roadPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", roadPackBean); + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("物料号【%s】已经存在,请检查数据", item.getPartNo()) + .build(); + } + } + + @Override + public MesPartSap getMesPartSapByPartNo(String partNo, String organizeCode) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); + MesPartSap mesPart = baseRDao.getByProperty(ddlPackBean); + if (null == mesPart) { + MesException.throwMesBusiException("物料【%s】信息不存在", partNo); + } + return mesPart; + } } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java index 5e93804..5f606f6 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java @@ -1,7 +1,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService; -import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; +import cn.estsh.i3plus.ext.mes.api.base.IMesPartSapService; import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -58,7 +58,7 @@ public class MesShippingOrderManagementService extends BaseMesService { MesShippingOrderManagementDetail detail = new MesShippingOrderManagementDetail(); BeanUtils.copyProperties(k, detail, "id"); - MesPart part = partService.getPartByPartNo(k.getPartNo(), k.getOrganizeCode()); + MesPartSap part = partService.getMesPartSapByPartNo(k.getPartNo(), k.getOrganizeCode()); detail.setPartName(part.getPartName()); detail.setUnit(part.getUnit()); detail.setCustPartNo(k.getCustPartNo()); @@ -293,9 +293,7 @@ public class MesShippingOrderManagementService extends BaseMesService jisShippingList = new ArrayList<>(); detailMap.forEach((k, v) -> { - DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(v.get(0).getPartNo(), "partNo", packBean); - MesPart part = partRepository.getByProperty(packBean); + MesPartSap part = partService.getMesPartSapByPartNo(v.get(0).getPartNo(), bean.getOrganizeCode()); MesJisShipping jisShipping = new MesJisShipping(); BeanUtils.copyProperties(originBean, jisShipping, "id"); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 32dae39..1d495df 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -1,9 +1,6 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; -import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService; -import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; -import cn.estsh.i3plus.ext.mes.api.base.IMesProductOffLineService; -import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderService; +import cn.estsh.i3plus.ext.mes.api.base.*; import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao; import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; @@ -25,7 +22,6 @@ import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; 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 lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; @@ -66,6 +62,8 @@ public class MesWorkOrderService extends BaseMesService implements private IMesPartProdGroupService mesPartProdGroupService; @Autowired private MesCustomerPartRepository mesCustomerPartRDao; + @Autowired + private IMesPartSapService iMesPartSapService; @Override public MesWorkOrder insert(MesWorkOrder bean) { @@ -379,7 +377,7 @@ public class MesWorkOrderService extends BaseMesService implements item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); } //物料名称不存在,从物料信息中获取 - MesPart mesPart = iMesPartService.getPartByPartNo(item.getPartNo(), item.getOrganizeCode()); + MesPartSap mesPart = iMesPartSapService.getMesPartSapByPartNo(item.getPartNo(), item.getOrganizeCode()); item.setPartNameRdd(mesPart.getPartName()); item.setUnit(mesPart.getUnit()); //生产时间新增取当天