diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProdGroupController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProdGroupController.java index 25a261e..770b5a2 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProdGroupController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesPartProdGroupController.java @@ -3,10 +3,16 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.icloud.core.sdk.ICoreLabelTemplateCloud; +import cn.estsh.i3plus.icloud.core.sdk.ICoreMessageCloud; +import cn.estsh.i3plus.icloud.core.sdk.ICoreScheduleCloud; +import cn.estsh.i3plus.icloud.core.sdk.ICoreScheduleUtilCloud; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.i3plus.pojo.platform.bean.SysLabelTemplate; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; @@ -29,6 +35,8 @@ public class MesPartProdGroupController extends BaseMesController implements IMesPartProdGroupDetailService { + + + protected void setPackQueryBean(MesPartProdGroup bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); + } + + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java index b49e922..acfba61 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupService.java @@ -1,11 +1,16 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupService; +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.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupDetailRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +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; @@ -30,9 +35,63 @@ public class MesPartProdGroupService extends BaseMesService im if(CollectionUtils.isEmpty(mesPartProdGroupDetails)){ return new ArrayList<>(); } - List partProdGroupNoList = mesPartProdGroupDetails.stream().map(MesPartProdGroupDetail::getPartProdGroupNo).collect(Collectors.toList()); + List partProdGroupNoList = mesPartProdGroupDetails.stream().map(MesPartProdGroupDetail::getPartProdGroupCode).collect(Collectors.toList()); ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode()); - DdlPreparedPack.getInPackList(partProdGroupNoList,"partProdGroupNo",ddlPackBean); + DdlPreparedPack.getInPackList(partProdGroupNoList,"partProdGroupCode",ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean); } + + + + protected void setPackQueryBean(MesPartProdGroup bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getPartProdGroupCode(), "partProdGroupCode", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartProdGroupName(), "partProdGroupName", packBean); + DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); + + } + + @Override + public MesPartProdGroup insert(MesPartProdGroup bean) { + //插入前构造并校验数据 + onInsertBean(bean); + + bean = baseRDao.insert(bean); + return bean; + } + + protected void onInsertBean(MesPartProdGroup item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPartProdGroupCode(), "零件生产组代码不能为空"); + + + DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", seriesPackBean); + boolean flg = baseRDao.isExitByHql(seriesPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) + .build(); + } + + } + + protected void onUpdateBean(MesPartProdGroup item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getPartProdGroupCode(), "零件生产组代码不能为空"); + + + DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", seriesPackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", seriesPackBean); + boolean flg = baseRDao.isExitByHql(seriesPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】零件生产组代码已经存在,请检查数据", item.getPartProdGroupCode(), item.getCustomerCode()) + .build(); + } + } }