diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomChildEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomChildEntity.java index 95c17800..720101e4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomChildEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewEbomChildEntity.java @@ -116,6 +116,10 @@ public class BomNewEbomChildEntity implements Serializable { @ApiModelProperty(value = "数量") private BigDecimal num; + public BigDecimal getNum() { + return num==null?null:num.stripTrailingZeros(); + } + /** * 总重 */ diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java index 943e8717..75055063 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/entity/BomNewPbomParentEntity.java @@ -374,6 +374,10 @@ public class BomNewPbomParentEntity implements Serializable { @ApiModelProperty(value = "来源状态:1-EBOM导入、2-PBOM创建、3-E->P修改") private Integer sourceStatus; + @TableField(value = "ebom_version") + @ApiModelProperty(value = "ebom-发布后的版本") + private String ebomVersion; + private static final long serialVersionUID = -31999878274445137L; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java index d6c4572d..9cd552de 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewEbomParentVO.java @@ -375,6 +375,9 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable { return MyStrUtil.joinStr(getMaterialNo(),getNum()); } + @ApiModelProperty("ebom发布后的版本") + private String ebomVersion=""; + private static final long serialVersionUID = 1L; @Override diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java index 86ada18f..c250f00c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomNewPbomParentVO.java @@ -344,6 +344,9 @@ public class BomNewPbomParentVO extends BaseMaterialVO implements Serializable { //发布PBOM 时 ,对比Pbom已发布版是否一致,一致则不转PBOM正式,直接删除PBOM 草稿数据 private Integer delIs=0; + @ApiModelProperty(value = "ebom-发布后的版本") + private String ebomVersion; + private static final long serialVersionUID = 1L; @Override diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java index 3e3efbb4..a09a5949 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewPbomParentService.java @@ -1197,7 +1197,7 @@ public class BomNewPbomParentService extends ServiceImpl newChildren = this.getBaseMapper().getParentChild(newPBom.getBomRowId()); List newBomNoTChildren = newChildren.stream().filter(u -> !EBomConstant.PROJECT_TYPE_T.equalsIgnoreCase(u.getProjectType())).collect(Collectors.toList()); if(oldBomNoTChildren.size()!=newBomNoTChildren.size()){ - newPBom.setCurrentVersion(VersionUtil.getNextVersion(oldParent.getCurrentVersion())); +// newPBom.setCurrentVersion(VersionUtil.getNextVersion(oldParent.getCurrentVersion())); + continue; } Set oldChildSet = oldBomNoTChildren.stream().map(u -> u.getMaterialNoAndNum()).collect(Collectors.toSet()); @@ -1246,12 +1247,12 @@ public class BomNewPbomParentService extends ServiceImpl> oldChildMap = oldChildList.stream().collect(Collectors.groupingBy(u -> StrUtil.join("", u.getMaterialNo(), u.getProjectType(), u.getNum()))); for (BomNewEbomParentVO newChild : newChildList) { - String key = StrUtil.join("", newChild.getMaterialNo(), newChild.getProjectType(), newChild.getNum()); + String key = MyStrUtil.joinStr(newChild.getMaterialNo(), newChild.getProjectType(), newChild.getNum()); if (!oldChildMap.containsKey(key)) { return false; } @@ -833,17 +843,20 @@ public abstract class EBomToPbomBase { } else if (isSameEBomV2FormMaterialNoAndNum(oldParentChild, newParentChild)) { parentBom.setCurrentVersion(VersionUtil.getNextVersionForSmallVersion(oldEBom.getCurrentVersion())); parentBom.setHasChangeState(2); + parentBom.setEbomVersion(parentBom.getCurrentVersion()); delOldEBom.add(oldEBom.getRowId()); addEBomNew.add(parentBom.getBomRowId()); } else { parentBom.setCurrentVersion(VersionUtil.getNextVersion(oldEBom.getCurrentVersion())); parentBom.setHasChangeState(2); + parentBom.setEbomVersion(parentBom.getCurrentVersion()); delOldEBom.add(oldEBom.getRowId()); addEBomNew.add(parentBom.getBomRowId()); } } else { + parentBom.setEbomVersion(VersionUtil.getNextVersion("")); addEBomNew.add(parentBom.getBomRowId()); } } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/FormalEBomToPbomBase.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/FormalEBomToPbomBase.java index e8b58a00..96add52c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/FormalEBomToPbomBase.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/topbomnew/FormalEBomToPbomBase.java @@ -211,7 +211,7 @@ public abstract class FormalEBomToPbomBase { return null; } else { //pbom-处于正式表(全部生成小版本) - return buildParentEntity(parentVo, facCode, oldParent, VersionUtil.getNextVersionForSmallVersion(oldParent.getCurrentVersion())); + return buildParentEntity(parentVo, facCode, oldParent, VersionUtil.getPBomUpgradNextVersion(oldParent.getCurrentVersion())); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java index 192a8240..7e07abd8 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/PBomDetailTask.java @@ -92,6 +92,7 @@ public class PBomDetailTask extends RecursiveTask> { detailVO.setBomExist(ebomParentEntity.getBomExist()); detailVO.setShouldBomExist(ebomParentEntity.getShouldBomExist()); detailVO.setVirtualPackageIs(ebomParentEntity.getVirtualPackageIs()); + detailVO.setEbomVersion(ebomParentEntity.getEbomVersion()); } else { BomNewPbomParentEntity parent = SpringUtil.getBean(BomNewPbomParentService.class).lambdaQuery().eq(BomNewPbomParentEntity::getRowId, detailVO.getParentRowId()).one(); detailVO.setDeviseUserCode(parent.getDeviseUserCode()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java index cf8731f3..7cd22090 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/util/VersionUtil.java @@ -175,7 +175,10 @@ public class VersionUtil { char lastChar = version.charAt(version.length() - 1); boolean isLetter = Character.isLetter(lastChar); if (!isLetter) { - return version + ".a"; + if(version.contains(".")){ + return version + "a"; + } + return version + ".0a"; } else { int lastCharIndex = version.length() - 1; char newLastChar = (char) (lastChar + 1); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml index cd4bef33..b4e2fc8e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewPbomParentMapper.xml @@ -48,6 +48,7 @@ + @@ -57,7 +58,7 @@ should_bom_exist, super_material_status, bom_exist, last_version_is, edit_status, status, user_root_is, virtual_package_is, source_row_id, devise_user_code, devise_name,technology_user_code,technology_user_name, created_by, created_time, created_job, release_time, release_user_name,last_convert_mbom_user_name,last_convert_mbom_time, expire_end_time, remark, dept_name, level_num, change_desc, notice_nums, - order_no, modify_time + order_no, modify_time,ebom_version