From b5a0c0d81a0a4bec2a781e8ba67d2e7b16074d87 Mon Sep 17 00:00:00 2001 From: jun Date: Fri, 26 Jul 2024 13:16:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/api/base/IMesRawPackageDetailService.java | 14 ++++ .../mes/api/base/IMesRawPackagePartService.java | 14 ++++ .../ext/mes/api/base/IMesRawPackageService.java | 14 ++++ .../controller/base/MesRawPackageController.java | 19 +++++ .../base/MesRawPackageDetailController.java | 19 +++++ .../base/MesRawPackagePartController.java | 19 +++++ .../base/MesRawPackageDetailServiceImpl.java | 49 +++++++++++++ .../base/MesRawPackagePartServiceImpl.java | 84 ++++++++++++++++++++++ .../serviceimpl/base/MesRawPackageServiceImpl.java | 54 ++++++++++++++ 9 files changed, 286 insertions(+) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageDetailService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackagePartService.java create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageDetailController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackagePartController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageDetailServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackagePartServiceImpl.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageServiceImpl.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageDetailService.java new file mode 100644 index 0000000..9fb792e --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageDetailService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + + +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackageDetail; + +/** + * @Description : 原材料容器明细 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:57 + * @Modify: + **/ +public interface IMesRawPackageDetailService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackagePartService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackagePartService.java new file mode 100644 index 0000000..1db3f1f --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackagePartService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + + +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackagePart; + +/** + * @Description : 原材料容器零件关系表 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:52 + * @Modify: + **/ +public interface IMesRawPackagePartService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageService.java new file mode 100644 index 0000000..c53476a --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesRawPackageService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + + +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackage; + +/** + * @Description : 原材料容器 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:52 + * @Modify: + **/ +public interface IMesRawPackageService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageController.java new file mode 100644 index 0000000..38aebd7 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageController.java @@ -0,0 +1,19 @@ +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.MesRawPackage; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 原材料容器 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:51 + * @Modify: + **/ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRawPackage") +public class MesRawPackageController extends BaseMesController { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageDetailController.java new file mode 100644 index 0000000..5a7d8f1 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackageDetailController.java @@ -0,0 +1,19 @@ +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.MesRawPackageDetail; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 原材料容器明细 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:51 + * @Modify: + **/ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRawPackageDetail") +public class MesRawPackageDetailController extends BaseMesController { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackagePartController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackagePartController.java new file mode 100644 index 0000000..bd501bd --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesRawPackagePartController.java @@ -0,0 +1,19 @@ +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.MesRawPackagePart; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : 原材料容器零件关系表 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:55 + * @Modify: + **/ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRawPackagePart") +public class MesRawPackagePartController extends BaseMesController { + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageDetailServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageDetailServiceImpl.java new file mode 100644 index 0000000..c9312be --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageDetailServiceImpl.java @@ -0,0 +1,49 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesRawPackageDetailService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackageDetail; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.UUID; + +/** + * @Description : 原材料容器明细 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:56 + * @Modify: + **/ +@Service +@Slf4j +public class MesRawPackageDetailServiceImpl extends BaseMesService implements IMesRawPackageDetailService { + + protected void setPackQueryBean(MesRawPackageDetail bean, DdlPackBean packBean) { + DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPackageType(), "packageType", packBean); + DdlPreparedPack.getStringLikerPack(bean.getEquipCode(), "equipCode", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPackageSn(), "packageSn", packBean); + } + + protected void onInsertBean(MesRawPackageDetail item) { + //数据校验 + checkData(item); + //生成fid + item.setFid(UUID.randomUUID().toString()); + } + + protected void onUpdateBean(MesRawPackageDetail item) { + //数据校验 + checkData(item); + } + + private void checkData(MesRawPackageDetail item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPid(), "pid不能为空"); + ValidatorBean.checkNotNull(item.getPackageType(), "容器类型不能为空"); + ValidatorBean.checkNotNull(item.getPackageSn(), "容器条码不能为空"); + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackagePartServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackagePartServiceImpl.java new file mode 100644 index 0000000..502778e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackagePartServiceImpl.java @@ -0,0 +1,84 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesRawPackagePartService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesPartSap; +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackagePart; +import cn.estsh.i3plus.pojo.mes.repository.MesPartSapRepository; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; +import java.util.stream.Collectors; + +/** + * @Description : 原材料容器零件关系表 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:56 + * @Modify: + **/ +@Service +@Slf4j +public class MesRawPackagePartServiceImpl extends BaseMesService implements IMesRawPackagePartService { + + @Autowired + private MesPartSapRepository mesPartSapRepository; + + protected void setPackQueryBean(MesRawPackagePart bean, DdlPackBean packBean) { + DdlPreparedPack.getNumEqualPack(bean.getPackageId(), "packageId", packBean); + DdlPreparedPack.getNumEqualPack(bean.getPackageDetailId(), "packageDetailId", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPackageSn(), "packageSn", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); + DdlPreparedPack.getNumEqualPack(bean.getScanType(), "scanType", packBean); + } + + protected void setBeanModel(List beanList) { + if(CollectionUtils.isEmpty(beanList))return; + Map partSapMap = getMesPartSapMap(beanList.iterator().next().getOrganizeCode(), beanList.stream().map(MesRawPackagePart::getPartNo).distinct().collect(Collectors.toList())); + for (MesRawPackagePart mesRawPackagePart : beanList) { + if (!Objects.isNull(partSapMap) && partSapMap.containsKey(mesRawPackagePart.getPartNo())) { + mesRawPackagePart.setPartName(partSapMap.get(mesRawPackagePart.getPartNo()).getPartName()); + } + } + } + + protected void onInsertBean(MesRawPackagePart item) { + //数据校验 + checkData(item); + //生成fid + item.setFid(UUID.randomUUID().toString()); + } + + protected void onUpdateBean(MesRawPackagePart item) { + //数据校验 + checkData(item); + } + + private void checkData(MesRawPackagePart item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPackageId(), "原材料容器id不能为空"); + ValidatorBean.checkNotNull(item.getPackageDetailId(), "原材料容器明细id不能为空"); + ValidatorBean.checkNotNull(item.getPackageSn(), "容器编号不能为空"); + ValidatorBean.checkNotNull(item.getPartNo(), "物料名称不能为空"); + ValidatorBean.checkNotNull(item.getScanType(), "扫描类型不能为空"); + } + + private Map getMesPartSapMap(String organizeCode, List partNoList) { + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(partNoList, "partNo", packBean); + List partSapList = mesPartSapRepository.findByHqlWhere(packBean); + Map partSapMap = null; + if (!CollectionUtils.isEmpty(partSapList)) { + partSapMap = partSapList.stream().collect(Collectors.toMap(MesPartSap::getPartNo, t -> t)); + } + return partSapMap; + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageServiceImpl.java new file mode 100644 index 0000000..7885a83 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesRawPackageServiceImpl.java @@ -0,0 +1,54 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesRawPackageService; +import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesRawPackage; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.util.UUID; + +/** + * @Description : 原材料容器 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/7/26 10:58 + * @Modify: + **/ +@Service +@Slf4j +public class MesRawPackageServiceImpl extends BaseMesService implements IMesRawPackageService { + + protected void setPackQueryBean(MesRawPackage bean, DdlPackBean packBean) { + DdlPreparedPack.getStringLikerPack(bean.getPackageType(), "packageType", packBean); + DdlPreparedPack.getStringLikerPack(bean.getName(), "name", packBean); + + } + + protected void onInsertBean(MesRawPackage item) { + //数据校验 + checkData(item); + //生成fid + item.setFid(UUID.randomUUID().toString()); + } + + protected void onUpdateBean(MesRawPackage item) { + //数据校验 + checkData(item); + } + + private void checkData(MesRawPackage item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPackageType(), "容器类型"); + ValidatorBean.checkNotNull(item.getName(), "容器名称"); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPackageType(), "packageType", packBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", packBean); + if (baseRDao.isExitByHql(packBean)) { + MesException.throwMesBusiException("容器类型【%s】已存在", item.getPackageType()); + } + } +}