点检设置关联零件明细,新增如果选择同一个物料会覆盖更新问题修复

tags/yfai-mes-ext-v2.4
jun 5 months ago
parent 99c87bd8bc
commit 68be6deb15

@ -1,7 +1,10 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentSpotCheckPartService; import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentSpotCheckPartService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -9,7 +12,6 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheck; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheck;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckPart; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckPart;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentSpotCheckRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentSpotCheckRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean; import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -21,79 +23,70 @@ import java.util.List;
@Slf4j @Slf4j
public class MesEquipmentSpotCheckPartService extends BaseMesService<MesEquipmentSpotCheckPart> implements IMesEquipmentSpotCheckPartService { public class MesEquipmentSpotCheckPartService extends BaseMesService<MesEquipmentSpotCheckPart> implements IMesEquipmentSpotCheckPartService {
@Autowired @Autowired
private MesEquipmentSpotCheckRepository equipmentSpotCheckRepository; private MesEquipmentSpotCheckRepository equipmentSpotCheckRepository;
@Override
protected void setPackQueryBean(MesEquipmentSpotCheckPart bean, DdlPackBean packBean) { protected void setPackQueryBean(MesEquipmentSpotCheckPart bean, DdlPackBean packBean) {
DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean); DdlPreparedPack.getNumEqualPack(bean.getPid(), "pid", packBean);
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
} }
@Override @Override
public void validateImport(List<MesEquipmentSpotCheckPart> beanList) { public void validateImport(List<MesEquipmentSpotCheckPart> beanList) {
for (MesEquipmentSpotCheckPart item : beanList) { for (MesEquipmentSpotCheckPart item : beanList) {
// 数据校验 // 数据校验
if(StringUtil.isEmpty(item.getPid())){ if (StringUtil.isEmpty(item.getPid())) {
ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空"); ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean); DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean);
MesEquipmentSpotCheckPart itemFlg = baseRDao.getByProperty(seriesPackBean); MesEquipmentSpotCheck itemFlg = equipmentSpotCheckRepository.getByProperty(seriesPackBean);
if (StringUtil.isEmpty(itemFlg)) { if (StringUtil.isEmpty(itemFlg)) {
throw ImppExceptionBuilder.newInstance() MesException.throwMesBusiException("点检项目代码【%s】不存在请检查数据", item.getSpotCheckCode());
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目代码不存在请检查数据", item.getSpotCheckCode())
.build();
} }
item.setPid(itemFlg.getPid()); item.setPid(itemFlg.getId());
}else { } else {
ValidatorBean.checkNotNull(item.getId(), "点检项目id不能为空"); ValidatorBean.checkNotNull(item.getPid(), "点检项目id不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", seriesPackBean); DdlPreparedPack.getNumEqualPack(item.getPid(), "id", seriesPackBean);
if (!baseRDao.isExitByHql(seriesPackBean)) { if (!equipmentSpotCheckRepository.isExitByHql(seriesPackBean)) {
throw ImppExceptionBuilder.newInstance() MesException.throwMesBusiException("点检项目id【%s】不存在请检查数据", item.getPid());
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目id不存在请检查数据", item.getPid())
.build();
} }
} }
item.setId(null);
item.setSystemSyncStatus(CommonEnumUtil.FALSE);
item.setSystemSyncDatetime("");
ConvertBean.serviceModelInitialize(item, AuthUtilExt.getUserName());
} }
} }
@Override @Override
public List<MesEquipmentSpotCheckPart> validateReturnImport(List<MesEquipmentSpotCheckPart> beanList) { public List<MesEquipmentSpotCheckPart> validateReturnImport(List<MesEquipmentSpotCheckPart> beanList) {
for (MesEquipmentSpotCheckPart item : beanList) { for (MesEquipmentSpotCheckPart item : beanList) {
// 数据校验 // 数据校验
if(StringUtil.isEmpty(item.getPid())){ if (StringUtil.isEmpty(item.getPid())) {
ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空"); ValidatorBean.checkNotNull(item.getSpotCheckCode(), "点检项目代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean); DdlPreparedPack.getStringEqualPack(item.getSpotCheckCode(), "spotCheckCode", seriesPackBean);
MesEquipmentSpotCheck itemFlg = equipmentSpotCheckRepository.getByProperty(seriesPackBean); MesEquipmentSpotCheck itemFlg = equipmentSpotCheckRepository.getByProperty(seriesPackBean);
if (StringUtil.isEmpty(itemFlg)) { if (StringUtil.isEmpty(itemFlg)) {
throw ImppExceptionBuilder.newInstance() MesException.throwMesBusiException("点检项目代码【%s】不存在请检查数据", item.getSpotCheckCode());
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目代码不存在请检查数据", item.getSpotCheckCode())
.build();
} }
item.setPid(itemFlg.getId()); item.setPid(itemFlg.getId());
}else { } else {
ValidatorBean.checkNotNull(item.getId(), "点检项目id不能为空"); ValidatorBean.checkNotNull(item.getPid(), "点检项目id不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", seriesPackBean); DdlPreparedPack.getNumEqualPack(item.getPid(), "id", seriesPackBean);
if (!baseRDao.isExitByHql(seriesPackBean)) { if (!equipmentSpotCheckRepository.isExitByHql(seriesPackBean)) {
throw ImppExceptionBuilder.newInstance() MesException.throwMesBusiException("点检项目id【%s】不存在请检查数据", item.getPid());
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】点检项目id不存在请检查数据", item.getPid())
.build();
} }
} }
} }

Loading…
Cancel
Save