1.清CAD数据
This commit is contained in:
parent
764747b495
commit
3e62befdeb
|
|
@ -111,41 +111,49 @@ public class BomNewOriginalParentV2Service extends ServiceImpl<BomNewOriginalPar
|
||||||
*/
|
*/
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<ImportOriginalBomVO> pullFromCadAndToEBom(String userCode) throws ExecutionException, InterruptedException {
|
public List<ImportOriginalBomVO> pullFromCadAndToEBom(String userCode) throws ExecutionException, InterruptedException {
|
||||||
|
|
||||||
List<BomOriginalCadParentEntity> parents = originalCadParentService.lambdaQuery().eq(BomOriginalCadParentEntity::getStatus, 1).eq(BomOriginalCadParentEntity::getCreatedBy, userCode).list();
|
List<BomOriginalCadParentEntity> parents = originalCadParentService.lambdaQuery().eq(BomOriginalCadParentEntity::getStatus, 1).eq(BomOriginalCadParentEntity::getCreatedBy, userCode).list();
|
||||||
VUtils.isTure(CollUtil.isEmpty(parents)).throwMessage("没有你的数据,你无需转换");
|
List<ImportOriginalBomVO> toEBomResult = new ArrayList();
|
||||||
//检查物料编码在主数据中是否存在
|
try {
|
||||||
List<BomOriginalCadChildEntity> childs=originalCadChildService.lambdaQuery().in(BomOriginalCadChildEntity::getParentRowId, parents.stream().map(u->u.getRowId()).collect(Collectors.toList())).list();
|
|
||||||
checkMaterialHasExist(parents.stream().filter(u->StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadParentEntity::getMaterialNo).collect(Collectors.toList()));
|
|
||||||
checkMaterialHasExist(childs.stream().filter(u->StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadChildEntity::getMaterialNo).collect(Collectors.toList()));
|
|
||||||
|
|
||||||
//父级物料编码不能为空
|
VUtils.isTure(CollUtil.isEmpty(parents)).throwMessage("没有你的数据,你无需转换");
|
||||||
materialMainService.initMaterialForDrawdingNo(parents, BomOriginalCadParentEntity::getChartNo, BomOriginalCadParentEntity::setMaterialNo, BomOriginalCadParentEntity::setMaterialName);
|
//检查物料编码在主数据中是否存在
|
||||||
List<String> noMaterialNoChartNos = parents.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).map(u->u.getChartNo()).collect(Collectors.toList());
|
List<BomOriginalCadChildEntity> childs = originalCadChildService.lambdaQuery().in(BomOriginalCadChildEntity::getParentRowId, parents.stream().map(u -> u.getRowId()).collect(Collectors.toList())).list();
|
||||||
VUtils.isTure(CollUtil.isNotEmpty(noMaterialNoChartNos)).throwMessage(StrUtil.join(",", noMaterialNoChartNos) + "物料编码为空,请检查(父级物料编码不能为空)");
|
checkMaterialHasExist(parents.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadParentEntity::getMaterialNo).collect(Collectors.toList()));
|
||||||
|
checkMaterialHasExist(childs.stream().filter(u -> StrUtil.isNotBlank(u.getMaterialNo())).map(BomOriginalCadChildEntity::getMaterialNo).collect(Collectors.toList()));
|
||||||
|
|
||||||
PlmBomToOriginalConvertV2 convert = new PlmBomToOriginalConvertV2();
|
//父级物料编码不能为空
|
||||||
for (BomOriginalCadParentEntity parent : parents) {
|
materialMainService.initMaterialForDrawdingNo(parents, BomOriginalCadParentEntity::getChartNo, BomOriginalCadParentEntity::setMaterialNo, BomOriginalCadParentEntity::setMaterialName);
|
||||||
//转原始BOM
|
List<String> noMaterialNoChartNos = parents.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).map(u -> u.getChartNo()).collect(Collectors.toList());
|
||||||
convert.convertOriginalBom(parent);
|
VUtils.isTure(CollUtil.isNotEmpty(noMaterialNoChartNos)).throwMessage(StrUtil.join(",", noMaterialNoChartNos) + "物料编码为空,请检查(父级物料编码不能为空)");
|
||||||
|
|
||||||
|
PlmBomToOriginalConvertV2 convert = new PlmBomToOriginalConvertV2();
|
||||||
|
for (BomOriginalCadParentEntity parent : parents) {
|
||||||
|
//转原始BOM
|
||||||
|
convert.convertOriginalBom(parent);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(convert.getResultParent())) {
|
||||||
|
this.saveOrUpdateBatch(convert.getResultParent());
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(convert.getResultChild())) {
|
||||||
|
originalChildService.saveOrUpdateBatch(convert.getResultChild());
|
||||||
|
}
|
||||||
|
//转Ebom
|
||||||
|
|
||||||
|
if (CollUtil.isNotEmpty(convert.getResultParent())) {
|
||||||
|
toEBomResult = convertToEBomV2(convert.getResultParent().stream().map(u -> u.getRowId()).collect(Collectors.toList()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(convert.getResultParent())) {
|
catch (Exception ex){
|
||||||
this.saveOrUpdateBatch(convert.getResultParent());
|
VUtils.isTure(true).throwMessage("转换失败:"+ex.getMessage());
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(convert.getResultChild())) {
|
finally {
|
||||||
originalChildService.saveOrUpdateBatch(convert.getResultChild());
|
//删除cad临时表数据
|
||||||
}
|
List<Integer> delRowIds = parents.stream().map(BomOriginalCadParentEntity::getRowId).collect(Collectors.toList());
|
||||||
//转Ebom
|
if (CollUtil.isNotEmpty(delRowIds)) {
|
||||||
List<ImportOriginalBomVO> toEBomResult=new ArrayList();
|
originalCadParentService.getBaseMapper().deleteBatchIds(delRowIds);
|
||||||
if (CollUtil.isNotEmpty(convert.getResultParent())) {
|
originalCadParentService.getBaseMapper().delChildByParentRowIds(delRowIds);
|
||||||
toEBomResult = convertToEBomV2(convert.getResultParent().stream().map(u -> u.getRowId()).collect(Collectors.toList()));
|
}
|
||||||
}
|
|
||||||
//删除cad临时表数据
|
|
||||||
List<Integer> delRowIds = parents.stream().map(BomOriginalCadParentEntity::getRowId).collect(Collectors.toList());
|
|
||||||
if (CollUtil.isNotEmpty(delRowIds)) {
|
|
||||||
originalCadParentService.getBaseMapper().deleteBatchIds(delRowIds);
|
|
||||||
originalCadParentService.getBaseMapper().delChildByParentRowIds(delRowIds);
|
|
||||||
}
|
}
|
||||||
return toEBomResult;
|
return toEBomResult;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue