diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesDowntimeRecordService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesDowntimeRecordService.java new file mode 100644 index 0000000..e88f6c4 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesDowntimeRecordService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + + +import cn.estsh.i3plus.pojo.mes.bean.MesDowntimeRecord; + +/** + * @Description: + * @Author: gsz + * @Date: 2024/5/25 18:16 + * @Modify: + */ +public interface IMesDowntimeRecordService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesDowntimeRecordController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesDowntimeRecordController.java new file mode 100644 index 0000000..03309a6 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesDowntimeRecordController.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.MesDowntimeRecord; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description: 设备生产停机记录 + * @Author: gsz + * @Date: 2024/5/25 18:16 + * @Modify: + */ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesDowntimeRecord") +public class MesDowntimeRecordController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDowntimeRecordServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDowntimeRecordServiceImpl.java new file mode 100644 index 0000000..966a07a --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesDowntimeRecordServiceImpl.java @@ -0,0 +1,57 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesDowntimeRecordService; +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.MesDowntimeRecord; +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; + + +/** + * @Description: 设备生产停机记录 + * @Author: gsz + * @Date: 2024/5/27 19:10 + * @Modify: + */ +@Service +@Slf4j +public class MesDowntimeRecordServiceImpl extends BaseMesService implements IMesDowntimeRecordService { + + @Override + protected void setPackQueryBean(MesDowntimeRecord bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(), "equipmentCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getReasonCode(), "reasonCode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getReasonTypeCode(), "reasonTypeCode", packBean); + } + + @Override + protected void onInsertBean(MesDowntimeRecord item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); + ValidatorBean.checkNotNull(item.getEquipmentCode(), "equipmentCode不能为空" ); + ValidatorBean.checkNotNull(item.getReasonCode(), "reasonCode不能为空" ); + ValidatorBean.checkNotNull(item.getReasonTypeCode(), "reasonTypeCode不能为空" ); + + //唯一性校验 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", packBean); + DdlPreparedPack.getStringEqualPack(item.getReasonCode(), "reasonCode", packBean); + DdlPreparedPack.getStringEqualPack(item.getReasonTypeCode(), "reasonTypeCode", 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.getEquipmentCode(),item.getReasonTypeCode(),item.getReasonCode()) + .build(); + } + } +}