|
|
|
@ -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<MesPartProdGroup> im
|
|
|
|
|
if(CollectionUtils.isEmpty(mesPartProdGroupDetails)){
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
List<String> partProdGroupNoList = mesPartProdGroupDetails.stream().map(MesPartProdGroupDetail::getPartProdGroupNo).collect(Collectors.toList());
|
|
|
|
|
List<String> 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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|