修改同步逻辑

liweidong
liweidong-hj 1 week ago
parent 39f7f02f66
commit 0150c98bd8
  1. 44
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java
  2. 35
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsTaskingServiceImpl.java

@ -446,33 +446,31 @@ public class DsPartServiceImpl extends BaseServiceImpl<DsPartMapper, DsPartEntit
DsPartEntity partEntity = dsPartMapper.selectById(partVersionEntity.getPartId()); DsPartEntity partEntity = dsPartMapper.selectById(partVersionEntity.getPartId());
DsPartSynthesisVO dsPartSynthesisVO = new DsPartSynthesisVO(); DsPartSynthesisVO dsPartSynthesisVO = new DsPartSynthesisVO();
//查询子件信息 //查询子件信息
if (TaskingConstant.IS_SINTERING.equals(partEntity.getIsSintering())) { List<DsPartRelationEntity> partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId());
List<DsPartRelationEntity> partRelationEntityList = partRelationService.selectDsPartRelationByPartId(partEntity.getId()); if(!CollectionUtils.isEmpty(partRelationEntityList)){
if(!CollectionUtils.isEmpty(partRelationEntityList)){ List<Long> idList = partRelationEntityList.stream()
List<Long> idList = partRelationEntityList.stream() .map(DsPartRelationEntity::getChildPartId)
.map(DsPartRelationEntity::getChildPartId) .collect(Collectors.toList());
.collect(Collectors.toList());
List<DsPartEntity> dsPartEntityList = dsPartMapper.selectDsPartByIds(idList); List<DsPartEntity> dsPartEntityList = dsPartMapper.selectDsPartByIds(idList);
List<DsPartVO> dsPartVOList = dsPartEntityList.stream() List<DsPartVO> dsPartVOList = dsPartEntityList.stream()
.map(entity -> { .map(entity -> {
DsPartVO vo = new DsPartVO(); DsPartVO vo = new DsPartVO();
BeanUtils.copyProperties(entity, vo); BeanUtils.copyProperties(entity, vo);
if (vo.getUpdateUser() != null) { if (vo.getUpdateUser() != null) {
String userName = userClient.userInfo(Func.toLong(vo.getUpdateUser())) String userName = userClient.userInfo(Func.toLong(vo.getUpdateUser()))
.getData() .getData()
.getUser() .getUser()
.getName(); .getName();
vo.setUpdateUserStr(userName); vo.setUpdateUserStr(userName);
} }
return vo; return vo;
}) })
.collect(Collectors.toList()); .collect(Collectors.toList());
dsPartSynthesisVO.setDsPartVOList(dsPartVOList); dsPartSynthesisVO.setDsPartVOList(dsPartVOList);
}
} }
dsPartSynthesisVO.setDsPartEntity(partEntity); dsPartSynthesisVO.setDsPartEntity(partEntity);

@ -1851,28 +1851,19 @@ public class DsTaskingServiceImpl extends BaseServiceImpl<DsTaskingMapper, DsTas
log.info("开始处理子件:{}", subCode); log.info("开始处理子件:{}", subCode);
try { try {
// 1. 查询子件老MES数据(null仅代表无该子件的详细数据,不代表跳过) // 1. 处理子件数据进行赋值
DsPartEntity oldMesSubPart = getOldMesPart(subCode); DsPartEntity oldMesSubPart = new DsPartEntity();
oldMesSubPart.setPartName(subPartInfo.getSubName());
if (oldMesSubPart == null) { oldMesSubPart.setPartCode(subPartInfo.getSubCode());
// 子件无老MES详细数据,创建空的基础对象(保证核心逻辑能执行) oldMesSubPart.setQuota(subPartInfo.getQuota());
log.warn("子件 {} 无老MES详细数据,创建基础空对象处理", subCode); oldMesSubPart.setSubType(subPartInfo.getSubType());
oldMesSubPart = new DsPartEntity(); oldMesSubPart.setProductType(subPartInfo.getProductType());
if(!StringUtils.isEmpty(subPartInfo.getSubName())){ oldMesSubPart.setArea(subPartInfo.getArea());
oldMesSubPart.setPartName(subPartInfo.getSubName()); oldMesSubPart.setConfigCode(subPartInfo.getConfigNo());
} oldMesSubPart.setPlate(subPartInfo.getPlate());
oldMesSubPart.setPartCode(subPartInfo.getSubCode()); oldMesSubPart.setMaterial(subPartInfo.getMaterial());
oldMesSubPart.setQuota(subPartInfo.getQuota()); oldMesSubPart.setPlateCode(subPartInfo.getPlateCode());
oldMesSubPart.setSubType(subPartInfo.getSubType()); oldMesSubPart.setSinTerType(subPartInfo.getSinTerType());
oldMesSubPart.setProductType(subPartInfo.getProductType());
oldMesSubPart.setArea(subPartInfo.getArea());
oldMesSubPart.setConfigCode(subPartInfo.getConfigNo());
oldMesSubPart.setPlate(subPartInfo.getPlate());
oldMesSubPart.setMaterial(subPartInfo.getMaterial());
oldMesSubPart.setPlateCode(subPartInfo.getPlateCode());
oldMesSubPart.setSinTerType(subPartInfo.getSinTerType());
}
// 2. 递归处理当前子件自身(生成版本号、创建零件、同步工艺等核心逻辑) // 2. 递归处理当前子件自身(生成版本号、创建零件、同步工艺等核心逻辑)
DsPartEntity newSubPart = processPartRecursively(oldMesSubPart); DsPartEntity newSubPart = processPartRecursively(oldMesSubPart);

Loading…
Cancel
Save