唯一性校验:客户零件号+零件号+客户代码

tags/yfai-mes-ext-v1.0
LML丶 12 months ago
parent 270b4941ea
commit a5467131f3

@ -1,14 +1,16 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerCarModelService;
import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerPartService;
import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesCarSeriesLoosePart;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart;
import cn.estsh.i3plus.pojo.mes.repository.MesCustomerCarModelDetailRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -38,18 +40,63 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
}
protected void onInsertBean(MesCustomerPart item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCustomerCode(), "客户代码不能为空");
ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空");
ValidatorBean.checkNotNull(item.getCustomerPartNo(), "客户零件号不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getCustomerCode(), "customerCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getCustomerPartNo(), "customerPartNo", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】客户零件号【%s】零件号【%s】客户代码已经存在请检查数据", item.getCustomerPartNo(), item.getPartNo(), item.getCustomerCode())
.build();
}
}
protected void onUpdateBean(MesCarSeriesLoosePart item) {
// 数据校验
ValidatorBean.checkNotNull(item.getCustomerCode(), "客户代码不能为空");
ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空");
ValidatorBean.checkNotNull(item.getCustomerPartNo(), "客户零件号不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getCustomerCode(), "customerCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getCustomerPartNo(), "customerPartNo", cellBinPackBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】客户零件号【%s】零件号【%s】客户代码已经存在请检查数据", item.getCustomerPartNo(), item.getPartNo(), item.getCustomerCode())
.build();
}
}
@Override
public List<MesCustomerPart> findMesCustomerPart(MesCustomerCarModelDetail mesPartProdGroupDetail) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getPartNo(),"partNo",ddlPackBean);
DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getCarModelCode(),"carModelCode",ddlPackBean);
DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getPartNo(), "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(mesPartProdGroupDetail.getCarModelCode(), "carModelCode", ddlPackBean);
List<MesCustomerCarModelDetail> mesCustomerCarModelDetails = mesCustomerCarModelDetailRDao.findByHqlWhere(ddlPackBean);
if(CollectionUtils.isEmpty(mesCustomerCarModelDetails)){
if (CollectionUtils.isEmpty(mesCustomerCarModelDetails)) {
return new ArrayList<>();
}
List<String> customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList());
List<String> customerPartNoList = mesCustomerCarModelDetails.stream().map(MesCustomerCarModelDetail::getCustomerPartNo).collect(Collectors.toList());
ddlPackBean = DdlPackBean.getDdlPackBean(mesPartProdGroupDetail.getOrganizeCode());
DdlPreparedPack.getInPackList(customerPartNoList,"customerPartNo",ddlPackBean);
DdlPreparedPack.getInPackList(customerPartNoList, "customerPartNo", ddlPackBean);
return baseRDao.findByHqlWhere(ddlPackBean);
}

Loading…
Cancel
Save