From 777f09771be9a06415bbc830aed32b10b6537899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Tue, 5 Dec 2023 17:13:05 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=8F=8ABUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java | 2 ++ .../java/com/nflg/product/bomnew/client/MaterialMainClient.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java index 3e82efe0..30ab5bc9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/BomnewApplication.java @@ -3,6 +3,7 @@ package com.nflg; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableScheduling; @@ -18,6 +19,7 @@ import java.util.TimeZone; @EnableOpenApi @EnableDiscoveryClient @EnableScheduling +@EnableFeignClients public class BomnewApplication { public static void main(String[] args) { diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/client/MaterialMainClient.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/client/MaterialMainClient.java index 84781ca7..bdf6c72b 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/client/MaterialMainClient.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/client/MaterialMainClient.java @@ -8,7 +8,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(value = "service-material") +@FeignClient(value = "material") public interface MaterialMainClient { From 33db073a57598451875a2ca7f5d74136cfb85370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=B1=B3?= <470431449@qq.com> Date: Wed, 6 Dec 2023 14:01:58 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E7=89=A9=E6=96=99?= =?UTF-8?q?=E5=8F=8ABUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bomnew/pojo/vo/BaseMaterialVO.java | 3 ++ .../bomnew/pojo/vo/BomNewEbomParentVO.java | 6 +-- .../bomnew/pojo/vo/BomOriginalListVO.java | 2 +- .../service/BomNewOriginalParentService.java | 8 +-- .../domain/OriginalBom/BaseConvert.java | 2 +- .../OriginalBom/OriginalBomDetailTask.java | 17 +++++-- .../OriginalBom/OriginalBomToEBomConvert.java | 2 +- .../OriginalBom/PlmBomToOriginalConvert.java | 51 ++++++++++++++++--- .../mapper/master/MaterialMainMapper.xml | 1 + 9 files changed, 69 insertions(+), 23 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BaseMaterialVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BaseMaterialVO.java index 992cf403..6c6f3079 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BaseMaterialVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BaseMaterialVO.java @@ -49,4 +49,7 @@ public class BaseMaterialVO { */ @ApiModelProperty(value = "材料") private String material; + + @ApiModelProperty("材质") + private String materialTexture; } 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 4b3bd0a3..04ec6f47 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 @@ -85,11 +85,7 @@ public class BomNewEbomParentVO extends BaseMaterialVO implements Serializable { @ApiModelProperty(value = "是否最新版 0-否 1-是") private Integer lastVersionIs; - /** - * 材质 - */ - @ApiModelProperty(value = "材质") - private String materialTexture; + /** * 单重 diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java index fe1f1839..dde4e3b4 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/BomOriginalListVO.java @@ -112,7 +112,7 @@ public class BomOriginalListVO extends BaseMaterialVO { /** * 状态 1=待转换、2=已转换、3=借用件 */ - @ApiModelProperty(value = "状态 1=待转换、2=已转换、3=借用件") + @ApiModelProperty(value = "状态 1=待转换、2=已转换、3=借用件,4=引用件") private Integer status; /** 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 620c0459..75e942a4 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 @@ -160,15 +160,15 @@ public class BomNewOriginalParentService extends ServiceImpl bomTree = getBomTree(bomRowId); - List delParentRowId = bomTree.stream().filter(u -> u.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(u.getStatus())).map(u -> u.getParentRowId()).collect(Collectors.toList()); + List delParentRowId = bomTree.stream().filter(u ->OriginalStatusEnum.UN_CONVERT.equalsValue(u.getStatus()) ).map(u -> u.getParentRowId()).collect(Collectors.toList()); delParentRowId.add(bomRowId); if (CollUtil.isNotEmpty(delParentRowId)) { this.getBaseMapper().delBatch(delParentRowId); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java index 9fc02554..0f80d0a5 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/BaseConvert.java @@ -122,7 +122,7 @@ public abstract class BaseConvert { parentEntity.setStatus(OriginalStatusEnum.UN_CONVERT.getValue()); parentEntity.setEditStatus(OriginalEditStatusEnum.HANDLER_CREATED.getValue()); parentEntity.setDeptRowId(SessionUtil.getPartRowId()); - parentEntity.setDeptName(SessionUtil.getSecondFullDeptName()); + parentEntity.setDeptName(SessionUtil.getDepartName()); parentEntity.setSource(originalSourceEnum.getValue()); parentEntity.setCreatedBy(material.getCreatedBy()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java index d54d62b6..8a2436ad 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/OriginalBomDetailTask.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.google.common.collect.ImmutableList; +import com.nflg.product.base.core.conmon.util.SessionUtil; +import com.nflg.product.bomnew.constant.OriginalStatusEnum; import com.nflg.product.bomnew.pojo.entity.BomNewOriginalParentEntity; import com.nflg.product.bomnew.pojo.vo.BomOriginalListVO; import com.nflg.product.bomnew.service.BomNewOriginalParentService; @@ -59,6 +61,14 @@ public class OriginalBomDetailTask extends RecursiveTask detailVO.setChildBomRowId(bomNewOriginalParentEntity.getRowId()); detailVO.setBomRowId(bomNewOriginalParentEntity.getRowId()); + if(bomNewOriginalParentEntity.getStatus().equals(OriginalStatusEnum.OVER_CONVERT)){ + detailVO.setStatus(OriginalStatusEnum.BORROWED_PARTS.getValue()); + } + //非本人则为借用件 + if (bomNewOriginalParentEntity.getCreatedBy().equals(SessionUtil.getUserCode()) && OriginalStatusEnum.UN_CONVERT.equalsValue(bomNewOriginalParentEntity.getStatus())) { + detailVO.setStatus(OriginalStatusEnum.REFERENCE.getValue()); + } + } } @@ -82,7 +92,8 @@ public class OriginalBomDetailTask extends RecursiveTask result.addAll(bomDetail); if (CollUtil.isNotEmpty(bomDetail)) { - levelNumAdd(); + List collect = bomDetail.stream().filter(u -> u.getStatus().equals(1)).collect(Collectors.toList()); + levelNumAdd(collect.size()); List childBowIds = bomDetail.stream().filter(u-> u.getChildBomRowId()!=null && u.getChildBomRowId() > 0).map(u->u.getChildBomRowId()).collect(Collectors.toList()); if(CollUtil.isNotEmpty(childBowIds)) { List bom = SpringUtil.getBean(BomNewOriginalParentService.class).getBaseMapper().getParentChildBatch(childBowIds); @@ -99,7 +110,7 @@ public class OriginalBomDetailTask extends RecursiveTask } - public synchronized void levelNumAdd(){ - levelNum++; + public synchronized void levelNumAdd(Integer num){ + levelNum=levelNum+num; } } 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 18f87c07..31573b0a 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 @@ -62,7 +62,7 @@ public class OriginalBomToEBomConvert extends BaseConvert { } public void convert() { - checkData(); + // checkData(); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(ImmutableList.of(parent)); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java index e297c302..1cf9d485 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/OriginalBom/PlmBomToOriginalConvert.java @@ -131,10 +131,20 @@ public class PlmBomToOriginalConvert extends BaseConvert { { BomNewOriginalParentEntity oBOM =getOriginalBomForMaterial(parent.getChartNo()); if(Objects.isNull(oBOM)){ - BomNewOriginalParentEntity parentEntity = buildParentEntity(parent,"",originalSourceEnum); - - if (StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) { - handlerCommonMaterial(parentEntity); + // 一般零部件 + if(StrUtil.isNotBlank(parent.getMaterialCategoryCode()) && parent.getMaterialCategoryCode().equals(OriginalConstant.COMMON_MATERIAL_CATEGORY_CODE) && CollUtil.isEmpty(childs)) { + // 有物料编码,则通过规则匹配物料作为下级 + if (StrUtil.isNotBlank(parent.getMaterialNo())) { + BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum); + handlerCommonMaterial(parentEntity); + } + else { //无物料编码,则通过规则找物料 ,找到则替换,未找到则直接进库。ebom 再处理 + handlerCommonMaterialForReplace(parent); + BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum); + } + } + else { + BomNewOriginalParentEntity parentEntity = buildParentEntity(parent, "", originalSourceEnum); } } } @@ -149,10 +159,14 @@ public class PlmBomToOriginalConvert extends BaseConvert { //通过规则- 获取子级物料 BomNewOriginalParentEntity originalBomForMaterial = getOriginalBomForMaterial(childVo.getChartNo()); List parentResultOne = this.resultParent.stream().filter(u -> u.getDrawingNo().equals(childVo.getChartNo())).collect(Collectors.toList()); - if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne) ) { - childVo.setCreatedBy(parentEntity.getCreatedBy()); - BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "",originalSourceEnum); - handlerCommonMaterial(parentEntity1); + if(StrUtil.isNotBlank(childVo.getMaterialNo())) { + if (Objects.isNull(originalBomForMaterial) && CollUtil.isEmpty(parentResultOne)) { + childVo.setCreatedBy(parentEntity.getCreatedBy()); + BomNewOriginalParentEntity parentEntity1 = buildParentEntity(childVo, "", originalSourceEnum); + handlerCommonMaterial(parentEntity1); + } + }else { + handlerCommonMaterialForReplace(childVo); } buildChildEntity(childVo,parentEntity); @@ -184,6 +198,27 @@ public class PlmBomToOriginalConvert extends BaseConvert { } + } + + private void handlerCommonMaterialForReplace(BomOriginalPlmBomVO parentEntity) { + //通过规则获取物料编码 + MaterialMateVO materialMate = getMaterialByRel(parentEntity); + //找到对应物料 + if (Objects.nonNull(materialMate)) { + List materialBaseInfo = SpringUtil.getBean(MaterialMainMapper.class).getMaterialBaseInfo(ImmutableList.of(materialMate.getMaterialNo())); + if (CollUtil.isNotEmpty(materialBaseInfo)) { + //根据物料编码- + BaseMaterialVO baseMaterialVO = materialBaseInfo.get(0); + parentEntity.setMaterialNo(baseMaterialVO.getMaterialNo()); + parentEntity.setMaterialName(baseMaterialVO.getMaterialName()); + parentEntity.setMaterialDesc(baseMaterialVO.getMaterialDesc()); + parentEntity.setMaterialTexture(baseMaterialVO.getMaterialTexture()); + } + + } + + + } diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml index 43636498..09325a1e 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/mapper/master/MaterialMainMapper.xml @@ -71,6 +71,7 @@