diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java index e115d600..0e96bcb0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/OriginalBomApi.java @@ -71,7 +71,7 @@ public class OriginalBomApi extends BaseApi { @PostMapping("saveBom") @ApiOperation("编辑时-暂存") public ResultVO saveBom(@Valid @RequestBody OriginalSaveBomDTO bom) { - return ResultVO.success(originalParentService.saveBom(bom)); + return ResultVO.success(originalParentService.saveBom(bom,false)); } @PostMapping("saveSubmit") diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java index 884a33d9..16d60044 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewOriginalParentService.java @@ -96,13 +96,16 @@ public class BomNewOriginalParentService extends ServiceImpl saveEnts = bom.getBomList().stream().filter(u -> u.getDelIs().equals(0)).collect(Collectors.toList()); List childEntities = Convert.toList(BomNewOriginalChildEntity.class, saveEnts); // originalChildService.getBaseMapper().deleteByMap(ImmutableMap.of("parent_row_id",bom.getParentRowId())); childEntities.forEach(u -> { u.setParentRowId(bom.getParentRowId()); + if(submitIs){ + u.setEditStatus(OriginalEditStatusEnum.HANDLER_FINISHED.getValue()); + } }); if (CollUtil.isNotEmpty(childEntities)) { @@ -122,7 +125,7 @@ public class BomNewOriginalParentService extends ServiceImpl inBomDetail) { parent = Convert.convert(BomOriginalListVO.class, inParent); + parent.setBomRowId(parent.getRowId()); bomDetail = inBomDetail; } @@ -68,6 +70,7 @@ public class OriginalBomToEBomConvert extends BaseConvert { SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail); //处理父级 hanlerDo(parent); + this.hasHandlerParentIds.add(parent.getRowId()); @@ -83,8 +86,11 @@ public class OriginalBomToEBomConvert extends BaseConvert { private void hanlerDo(BomOriginalListVO parentEnt) { + if(!OriginalStatusEnum.UN_CONVERT.equalsValue(parentEnt.getStatus())){ + return; + } //子节点 - List parentChild = bomDetail.stream().filter(u -> u.getParentRowId().equals(parentEnt.getRowId()) ).collect(Collectors.toList()); + List parentChild = bomDetail.stream().filter(u -> u.getParentRowId().equals(parentEnt.getBomRowId()) ).collect(Collectors.toList()); List parentChildNoMaterilaNoList = parentChild.stream().filter(u -> StrUtil.isBlank(u.getMaterialNo())).collect(Collectors.toList()); //无编码 if (StrUtil.isBlank(parentEnt.getMaterialNo())) { @@ -140,6 +146,7 @@ public class OriginalBomToEBomConvert extends BaseConvert { } } } + } @@ -148,15 +155,23 @@ public class OriginalBomToEBomConvert extends BaseConvert { * 构建EBom父级 */ private Long buildEBomParent(BomOriginalListVO parentEnt) { - BomNewEbomParentEntity ebom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentEnt.getMaterialNo()).one(); + BomNewEbomParentEntity ebom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentEnt.getMaterialNo()) + .eq(BomNewEbomParentEntity::getLastVersionIs,1).one(); BomNewEbomParentEntity eBomParent = new BomNewEbomParentEntity(); BeanUtil.copyProperties(parentEnt, eBomParent); eBomParent.setRowId(IdWorker.getId()); eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue()); eBomParent.setCurrentVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion())); eBomParent.setConvertToEbomTime(LocalDateTime.now()); - eBomParent.setSourceRowId(parentEnt.getRowId()); + eBomParent.setSourceRowId(parentEnt.getBomRowId()); + + eBomParent.setLastVersionIs(1); + if(Objects.nonNull(ebom)) { + ebom.setLastVersionIs(0); + this.eBomParentResult.add(ebom); + } this.eBomParentResult.add(eBomParent); + return eBomParent.getRowId(); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalParentMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalParentMapper.xml index 433adcbe..d846d59b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalParentMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/BomNewOriginalParentMapper.xml @@ -45,7 +45,11 @@ - and status=2 and created_time> DATE_ADD(now(), INTERVAL -3 DAY) + and status=2 + + + and created_time> DATE_ADD(now(), INTERVAL -3 DAY) + @@ -108,7 +112,13 @@ row_id in #{rowId} - + ; + + update t_bom_new_original_child set status = #{status} where + parent_row_id in + + #{rowId} + ;