1、变更影响-升级

This commit is contained in:
大米 2024-06-28 09:30:42 +08:00
parent 1d85e0468a
commit 6176f3b903
4 changed files with 27 additions and 11 deletions

View File

@ -116,7 +116,7 @@ public class BomNewEbomUpgradeChangeEntity implements Serializable {
@ApiModelProperty(value = "虚拟包父级物料编码") @ApiModelProperty(value = "虚拟包父级物料编码")
private String virtualMaterialParentMaterialNo; private String virtualMaterialParentMaterialNo;
@TableField(value = "virtual_material_parent_material_no") @TableField(value = "fac_code")
@ApiModelProperty("工厂编码") @ApiModelProperty("工厂编码")
private String facCode; private String facCode;

View File

@ -61,6 +61,8 @@ public class BomNewEbomUpgradeChangeService extends ServiceImpl<BomNewEbomUpgrad
BomNewEbomParentService ebomParentService; BomNewEbomParentService ebomParentService;
/** /**
* 删除 * 删除
*/ */
@ -79,7 +81,7 @@ public class BomNewEbomUpgradeChangeService extends ServiceImpl<BomNewEbomUpgrad
BomNewEbomParentEntity ebom = ebomParentService.lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, ent.getVirtualMaterialParentMaterialNo()) BomNewEbomParentEntity ebom = ebomParentService.lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, ent.getVirtualMaterialParentMaterialNo())
.eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).last(" order by current_version desc limit 1").one(); .eq(BomNewEbomParentEntity::getStatus, EBomStatusEnum.PUBLISHED.getValue()).last(" order by current_version desc limit 1").one();
if(Objects.isNull(ebom)){ if(Objects.nonNull(ebom)){
List<BomNewEbomParentVO> bomTree =ebomParentService.getFormalBomTree(ebom.getRowId()); List<BomNewEbomParentVO> bomTree =ebomParentService.getFormalBomTree(ebom.getRowId());
BomNewEbomParentVO parentBom = Convert.convert(BomNewEbomParentVO.class, ebom); BomNewEbomParentVO parentBom = Convert.convert(BomNewEbomParentVO.class, ebom);
@ -96,16 +98,18 @@ public class BomNewEbomUpgradeChangeService extends ServiceImpl<BomNewEbomUpgrad
if(CollUtil.isNotEmpty(updateImpact.getPBomChildResult())){ if(CollUtil.isNotEmpty(updateImpact.getPBomChildResult())){
pbomChildService.saveOrUpdateBatch(updateImpact.getPBomChildResult()); pbomChildService.saveOrUpdateBatch(updateImpact.getPBomChildResult());
} }
//旧版PBOM移动到历史表中
if(CollUtil.isNotEmpty(updateImpact.getOldPBomList())){
List<Long> oldPBomRowIds = updateImpact.getOldPBomList().stream().map(u -> u.getRowId()).collect(Collectors.toList());
pbomParentService.getBaseMapper().insertPBomParentToFormal(oldPBomRowIds);
pbomParentService.getBaseMapper().insertPBomChildToFormal(oldPBomRowIds);
pbomParentService.getBaseMapper().delPBom(oldPBomRowIds);
}
ent.setStatus(1); ent.setStatus(1);
ent.setUpdatedTime(LocalDateTime.now()); ent.setUpdatedTime(LocalDateTime.now());
this.save(ent); this.updateById(ent);
} }
}; };
} }

View File

@ -31,6 +31,11 @@ public class ChangeImpactUpgrade extends EBomToPbomBase {
//需升级虚拟包编码 //需升级虚拟包编码
private String vMaterialNo; private String vMaterialNo;
//旧版Pbom-需移到历史表中
@Getter
private List<BomNewPbomParentEntity> oldPBomList=new ArrayList<>();
public ChangeImpactUpgrade(BomNewEbomParentVO inParent, List<BomNewEbomParentVO> inAllBomDetail, List<String> inFacCodes, String vMaterialNo) { public ChangeImpactUpgrade(BomNewEbomParentVO inParent, List<BomNewEbomParentVO> inAllBomDetail, List<String> inFacCodes, String vMaterialNo) {
this.parent = inParent; this.parent = inParent;
@ -116,7 +121,7 @@ public class ChangeImpactUpgrade extends EBomToPbomBase {
.eq(BomNewPbomParentEntity::getMaterialNo, parentVo.getMaterialNo()) .eq(BomNewPbomParentEntity::getMaterialNo, parentVo.getMaterialNo())
.eq(BomNewPbomParentEntity::getFacCode, facCode).last(" order by current_version desc limit 1").one(); .eq(BomNewPbomParentEntity::getFacCode, facCode).last(" order by current_version desc limit 1").one();
if (Objects.isNull(oldParent) || !samePBomIs(oldParent.getRowId(), newChild)) { if (Objects.isNull(oldParent) || samePBomIs(oldParent.getRowId(), newChild)) {
return null; return null;
} }
//pbom 处于工作表 //pbom 处于工作表
@ -149,7 +154,7 @@ public class ChangeImpactUpgrade extends EBomToPbomBase {
BeanUtil.copyProperties(parentVo, pBomParent, "sourceRowId"); BeanUtil.copyProperties(parentVo, pBomParent, "sourceRowId");
pBomParent.setSourceRowId(parentVo.getBomRowId()); pBomParent.setSourceRowId(parentVo.getBomRowId());
pBomParent.setRowId(IdWorker.getId()); pBomParent.setRowId(IdWorker.getId());
pBomParent.setStatus(PBomStatusEnum.WAIT_PUBLISH.getValue()); pBomParent.setStatus(PBomStatusEnum.PUBLISH.getValue());
pBomParent.setLastVersionIs(1); pBomParent.setLastVersionIs(1);
pBomParent.setFacCode(facCode); pBomParent.setFacCode(facCode);
pBomParent.setTechnologyUserCode(SessionUtil.getUserCode()); pBomParent.setTechnologyUserCode(SessionUtil.getUserCode());
@ -163,6 +168,8 @@ public class ChangeImpactUpgrade extends EBomToPbomBase {
oldParent.setExpireEndTime(LocalDateTime.now()); oldParent.setExpireEndTime(LocalDateTime.now());
oldParent.setLastVersionIs(0); oldParent.setLastVersionIs(0);
this.pBomParentResult.add(oldParent); this.pBomParentResult.add(oldParent);
this.oldPBomList.add(oldParent);
} }
this.pBomParentResult.add(pBomParent); this.pBomParentResult.add(pBomParent);
return pBomParent; return pBomParent;

View File

@ -460,10 +460,15 @@ public abstract class EBomToPbomBase {
private void buildChangeImpactEntity(BomNewEbomVirtualPackageCompositionEntity v, BomNewEbomParentVO vo) { private void buildChangeImpactEntity(BomNewEbomVirtualPackageCompositionEntity v, BomNewEbomParentVO vo) {
List<BomNewEbomUpgradeChangeEntity> checkExists = upgradeChangeResult.stream().filter(u -> u.getMaterialNo().equals(v.getVirtualPackageMaterialNo()) && u.getRelMaterialNo().equals(vo.getMaterialNo())).collect(Collectors.toList()); List<BomNewEbomUpgradeChangeEntity> checkExists = upgradeChangeResult.stream().filter(u -> u.getMaterialNo().equals(v.getVirtualPackageMaterialNo())).collect(Collectors.toList());
if (CollUtil.isNotEmpty(checkExists)) { if (CollUtil.isNotEmpty(checkExists)) {
return; return;
} }
List<BomNewEbomUpgradeChangeEntity> noHanlderV = SpringUtil.getBean(BomNewEbomUpgradeChangeService.class).lambdaQuery().eq(BomNewEbomUpgradeChangeEntity::getMaterialNo, v.getVirtualPackageMaterialNo())
.eq(BomNewEbomUpgradeChangeEntity::getStatus, 0).list();
if (CollUtil.isNotEmpty(noHanlderV)) {
return;
}
BomNewEbomUpgradeChangeEntity changeEntity = new BomNewEbomUpgradeChangeEntity(); BomNewEbomUpgradeChangeEntity changeEntity = new BomNewEbomUpgradeChangeEntity();
changeEntity.setRowId(IdWorker.getId()); changeEntity.setRowId(IdWorker.getId());
changeEntity.setMaterialNo(v.getVirtualPackageMaterialNo()); changeEntity.setMaterialNo(v.getVirtualPackageMaterialNo());