From b9f3434995a2fbbb1c0cf0db69c921d8ccc050ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 26 Dec 2023 18:39:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../master/BomNewOriginalParentMapper.java | 4 +- .../service/BomNewEbomParentService.java | 8 +++- .../service/BomNewOriginalParentService.java | 2 +- .../domain/EBom/CheckEBomException.java | 8 ++-- .../service/domain/EBom/EBomToPBom.java | 2 +- .../OriginalBom/OriginalBomToEBomConvert.java | 46 ++++++++++++++----- .../master/BomNewOriginalParentMapper.xml | 4 +- 7 files changed, 50 insertions(+), 24 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java index fbc6476d..b4963e49 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/mapper/master/BomNewOriginalParentMapper.java @@ -28,9 +28,9 @@ public interface BomNewOriginalParentMapper extends BaseMapper rowIds); - void updateBomState(@Param("status") Integer status ,@Param("rowIds") List rowIds); + void updateBomState(@Param("editStatus") Integer editStatus, @Param("status") Integer status ,@Param("rowIds") List rowIds); - void updateRevertBom(@Param("status") Integer status ,@Param("editStatus") Integer editStatus ,@Param("rowIds") List rowIds); + void updateRevertBom( @Param("status") Integer status ,@Param("editStatus") Integer editStatus ,@Param("rowIds") List rowIds); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java index 06747b79..8587d73d 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/BomNewEbomParentService.java @@ -116,12 +116,16 @@ public class BomNewEbomParentService extends ServiceImpl parents = this.getBaseMapper().getParentForMaterialNoSeach(parentMaterialByMaterialNo); List childs = this.getBaseMapper().getChildForMaterialNoSeach(parentMaterialByMaterialNo, materialNo); - + List data=new ArrayList<>(); + data.addAll(parents); + data.addAll(childs); + materialMainService.intiMaterialInfo(data , "material","materialTexture","projectType"); returnResult = handSeachToTree(parents, childs); } } } else { Page result = this.getBaseMapper().getEBomListPage(new Page<>(query.getPage(), query.getPageSize()), query, userRoleService.getUserJob(), SessionUtil.getUserCode()); + materialMainService.intiMaterialInfo(result.getRecords() , "material","materialTexture","projectType"); returnResult = result; } return returnResult; @@ -534,7 +538,7 @@ public class BomNewEbomParentService extends ServiceImpl parentList = result.stream().filter(u -> u.getBomRowId() > 0).collect(Collectors.toList()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java index dfca79fb..ba00afe0 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomToEBomConvert.java @@ -111,7 +111,8 @@ public class OriginalBomToEBomConvert extends BaseConvert { //合并相同编码的物料 // List mergeResult = mergeBOM(parentChild); Long parentRowId = buildEBomParent(parentEnt); - buildEBomChild(parentChild, parentRowId); + // buildEBomChild(parentChild, parentRowId); + handlerChild(parentEnt,parentChild); } else { //无子级 MaterialMateVO materialByRel = getMaterialByRel(parent.getMaterialName(), parent.getMaterialTexture()); @@ -132,7 +133,8 @@ public class OriginalBomToEBomConvert extends BaseConvert { List mergeResult = mergeBOM(parentChild); Long parentRowId = buildEBomParent(parentEnt); - buildEBomChild(mergeResult, parentRowId); + // buildEBomChild(mergeResult, parentRowId); + handlerChild(parentEnt,mergeResult); } else { //无子级 //一板零部件 @@ -177,13 +179,13 @@ public class OriginalBomToEBomConvert extends BaseConvert { * 处理子级 * * @param parentEntity - * @param originalSourceEnum + * @param */ - private void handlerChild(BomOriginalListVO parentEntity, List parentChild, OriginalSourceEnum originalSourceEnum) { + private void handlerChild(BomOriginalListVO parentEntity, List parentChild) { for (BomOriginalListVO childVo : parentChild) { //一般零部件 - if (com.github.xiaoymin.knife4j.core.util.StrUtil.isNotBlank(childVo.getMaterialCategoryCode()) && childVo.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE)) { + if (StrUtil.isNotBlank(childVo.getMaterialCategoryCode()) && childVo.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE)) { MaterialMateVO materialByRel = getMaterialByRel(childVo); //找到对应物料 if (Objects.nonNull(materialByRel)) { @@ -200,13 +202,15 @@ public class OriginalBomToEBomConvert extends BaseConvert { newChild.setParentRowId(parentRowId); this.eBomChildResult.add(newChild); } + } else { + Long parentRowId = buildEBomParent(childVo); + buildEBomChild(childVo, parentRowId); } - + continue; } - } - } + buildEBomChild(childVo,parentEntity.getRowId()); } } @@ -232,11 +236,10 @@ public class OriginalBomToEBomConvert extends BaseConvert { * 构建EBom父级 */ private Long buildEBomParent(BomOriginalListVO parentEnt) { - BomNewEbomParentEntity ebom = SpringUtil.getBean(BomNewEbomParentService.class).lambdaQuery().eq(BomNewEbomParentEntity::getMaterialNo, parentEnt.getMaterialNo()) - .eq(BomNewEbomParentEntity::getLastVersionIs, 1).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, "materialGetType"); - eBomParent.setRowId(parentEnt.getEBomRowId()>0?parentEnt.getEBomRowId(): IdWorker.getId()); + eBomParent.setRowId(parentEnt.getEBomRowId() > 0 ? parentEnt.getEBomRowId() : IdWorker.getId()); eBomParent.setSource(EBomSourceEnum.FROM_BOM.getValue()); eBomParent.setCurrentVersion(Objects.isNull(ebom) ? "" : VersionUtil.getNextVersion(ebom.getCurrentVersion())); eBomParent.setConvertToEbomTime(LocalDateTime.now()); @@ -245,6 +248,12 @@ public class OriginalBomToEBomConvert extends BaseConvert { eBomParent.setEditStatus(EbomEditStatusEnum.HANDLER_CREATED.getValue()); eBomParent.setModifyTime(LocalDateTime.now()); eBomParent.setBomExist(parentEnt.getBomRowId() > 0 ? 1 : 0); + eBomParent.setDeviseName(SessionUtil.getRealName()); + eBomParent.setDeptName(SessionUtil.getDepartName()); + eBomParent.setDeviseUserCode(SessionUtil.getUserCode()); + if (Objects.isNull(ebom)) { + eBomParent.setExceptionStatus(EBomExceptionStatusEnum.EXCEPT_NO_11.getValue()); + } //工艺岗直接到已复核 eBomParent.setStatus(SpringUtil.getBean(UserRoleService.class).technician() ? EBomStatusEnum.CHECKED.getValue() : EBomStatusEnum.WAIT_CHECK.getValue()); eBomParent.setCreatedJob(SpringUtil.getBean(UserRoleService.class).technician() ? UserJobEnum.ENGINEER.getValue() : UserJobEnum.DESIGNER.getValue()); @@ -272,11 +281,24 @@ public class OriginalBomToEBomConvert extends BaseConvert { childEntity.setIdentityNo(StrUtil.join("_", parentRowId.toString(), childEntity.getRowId())); childEntity.setModifyTime(LocalDateTime.now()); this.eBomChildResult.add(childEntity); - } } + private void buildEBomChild(BomOriginalListVO child, Long parentRowId) { + + + BomNewEbomChildEntity childEntity = new BomNewEbomChildEntity(); + BeanUtil.copyProperties(child, childEntity, "materialGetType"); + childEntity.setRowId(IdWorker.getId()); + childEntity.setParentRowId(parentRowId); + childEntity.setIdentityNo(StrUtil.join("_", parentRowId.toString(), childEntity.getRowId())); + childEntity.setModifyTime(LocalDateTime.now()); + this.eBomChildResult.add(childEntity); + + + } + /** * 合并相同物料 */ 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 21a7212f..a3efb2cf 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 @@ -131,13 +131,13 @@ - update t_bom_new_original_parent set status = #{status},convert_to_ebom_time=now() where + update t_bom_new_original_parent set status = #{status},edit_status=#{editStatus}, convert_to_ebom_time=now() where row_id in #{rowId} ; - update t_bom_new_original_child set status = #{status} where + update t_bom_new_original_child set status = #{status} ,edit_status=#{editStatus} where parent_row_id in #{rowId} From e087fdb4fc2b202a51d1c675b737e34e32e307d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 26 Dec 2023 19:12:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.=E5=BC=82=E5=B8=B8=E5=88=A4=E6=96=AD7,9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/service/domain/EBom/EbomInitProjectType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EbomInitProjectType.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EbomInitProjectType.java index 37251ffb..212df464 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EbomInitProjectType.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/EBom/EbomInitProjectType.java @@ -134,7 +134,7 @@ public class EbomInitProjectType { sResult = sameLevelChild.stream().filter(u -> u.getMaterialCategoryCode().startsWith("2005") || u.getMaterialCategoryCode().startsWith("2006")).collect(Collectors.toList()); if (CollUtil.isNotEmpty(sResult)) { List projectType = sResult.stream().filter(u->StrUtil.isNotBlank(u.getProjectType())).map(u -> u.getProjectType()).distinct().collect(Collectors.toList()); - if (projectType.size() == 1 && projectType.get(0).equals("Q")) { + if (projectType.size() == 1 && projectType.get(0).equals("Q") && !ProjectTypeInputTypeEnum.MANUAL_INPUT.equalsValue(child.getProjectTypeInputType())) { child.setProjectType("Q"); } } @@ -161,7 +161,7 @@ public class EbomInitProjectType { for (BomNewEbomParentVO v : sResultProjectL) { lResult = lResult & projectTypeEquals(getChilds(v.getBomRowId()), Sets.newHashSet("F", "Q")); } - if ((resultNo1004 & lResult) == 1) { + if ((resultNo1004 & lResult) == 1 && !ProjectTypeInputTypeEnum.MANUAL_INPUT.equalsValue(child.getProjectTypeInputType())) { child.setProjectType("F"); }