From 27ce83c06c1122bce11b53ac5429cb58531ff1bb Mon Sep 17 00:00:00 2001 From: gsz Date: Tue, 21 May 2024 14:56:32 +0800 Subject: [PATCH] =?UTF-8?q?Mes=E6=9E=9A=E4=B8=BE=E4=B8=BB=E8=A1=A8&?= =?UTF-8?q?=E6=9E=9A=E4=B8=BE=E6=98=8E=E7=BB=86=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/api/base/IMesEnumDetailService.java | 13 +++++ .../ext/mes/api/base/IMesEnumExtService.java | 3 +- .../controller/base/MesEnumController.java | 17 +++++++ .../controller/base/MesEnumDetailController.java | 17 +++++++ .../base/MesBasDowntimeReasonServiceImpl.java | 22 +++++++++ .../base/MesBasDowntimeReasonTypeServiceImpl.java | 23 +++++++++ .../serviceimpl/base/MesEnumDetailServiceImpl.java | 57 ++++++++++++++++++++++ .../serviceimpl/base/MesEnumExtService.java | 30 +++++++++++- 8 files changed, 180 insertions(+), 2 deletions(-) create mode 100644 modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumDetailService.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumDetailController.java create mode 100644 modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumDetailServiceImpl.java diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumDetailService.java new file mode 100644 index 0000000..e2a9818 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumDetailService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + + +import cn.estsh.i3plus.pojo.mes.bean.MesEnumDetail; + +/** + * @Description: 枚举明细配置 + * @Author: gsz + * @Date: 2024/5/21 14:16 + * @Modify: + */ +public interface IMesEnumDetailService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumExtService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumExtService.java index c346f98..a30cebf 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumExtService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEnumExtService.java @@ -1,11 +1,12 @@ package cn.estsh.i3plus.ext.mes.api.base; +import cn.estsh.i3plus.pojo.mes.bean.MesEnum; import io.swagger.annotations.ApiOperation; import java.util.List; import java.util.Map; -public interface IMesEnumExtService { +public interface IMesEnumExtService extends IBaseMesService{ @ApiOperation("获取所有mes枚举") List> getAllMesEnums(); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumController.java new file mode 100644 index 0000000..12a6e8a --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumController.java @@ -0,0 +1,17 @@ +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.MesEnum; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 枚举主表 + * @Author: gsz + * @Date: 2024/5/21 14:16 + * @Modify: + */ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesEnum") +public class MesEnumController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumDetailController.java new file mode 100644 index 0000000..b69936f --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEnumDetailController.java @@ -0,0 +1,17 @@ +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.MesEnumDetail; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 枚举明细配置 + * @Author: gsz + * @Date: 2024/5/21 14:16 + * @Modify: + */ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesEnumDetail") +public class MesEnumDetailController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBasDowntimeReasonServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBasDowntimeReasonServiceImpl.java index 7bccd77..20d8674 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBasDowntimeReasonServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBasDowntimeReasonServiceImpl.java @@ -1,9 +1,13 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesBasDowntimeReasonService; +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.MesDowntimeReason; +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; @@ -24,5 +28,23 @@ public class MesBasDowntimeReasonServiceImpl extends BaseMesService implements IMesEnumDetailService { + + protected void setPackQueryBean(MesEnumDetail bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getEnumCode(), "enumCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getDetailCode(), "detailCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getDetailName(), "detailName", packBean); + DdlPreparedPack.getStringEqualPack(bean.getDetailValue(), "detailValue", packBean); + } + protected void onInsertBean(MesEnumDetail item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); + ValidatorBean.checkNotNull(item.getEnumCode(), "enumCode不能为空" ); + ValidatorBean.checkNotNull(item.getDetailCode(), "detailCode不能为空"); + ValidatorBean.checkNotNull(item.getDetailName(), "detailName不能为空"); + ValidatorBean.checkNotNull(item.getDetailValue(), "detailValue不能为空"); + ValidatorBean.checkNotNull(item.getSeq(), "seq不能为空"); + + //唯一性校验 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "assetNum", packBean); + DdlPreparedPack.getStringEqualPack(item.getDetailCode(), "mouldNo", packBean); + DdlPreparedPack.getStringEqualPack(item.getDetailValue(), "equipmentCode", packBean); + + boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("枚举代码【%s】属性代码【%s】属性值【%s】已经存在,请检查数据", item.getEnumCode(),item.getEnumCode(),item.getDetailValue()) + .build(); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java index 3073d57..42a28b1 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEnumExtService.java @@ -2,6 +2,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesEnumExtService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.mes.apiservice.util.EnumUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -9,6 +11,8 @@ import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesEnum; import cn.estsh.i3plus.pojo.mes.repository.MesEnumRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -31,11 +35,35 @@ import java.util.stream.Collectors; @Slf4j @Service @ApiOperation(value = "获取MesEnumUtil") -public class MesEnumExtService implements IMesEnumExtService { +public class MesEnumExtService extends BaseMesService implements IMesEnumExtService { @Autowired private MesEnumRepository enumRepository; + + protected void setPackQueryBean(MesEnum bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getEnumCode(), "enumCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getEnumName(), "enumName", packBean); + } + protected void onInsertBean(MesEnum item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); + ValidatorBean.checkNotNull(item.getEnumCode(), "enumCode不能为空" ); + ValidatorBean.checkNotNull(item.getEnumName(), "enumName不能为空"); + + //唯一性校验 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getEnumCode(), "assetNum", packBean); + + boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("枚举代码【%s】已经存在,请检查数据", item.getEnumCode() ) + .build(); + } + } @Override public List> getAllMesEnums() { Class innerClazz[] = MesExtEnumUtil.class.getDeclaredClasses();// 获取常量类中的所有内部类