From 4b80bda416cb2fd1c2c31950365aacdc98de571c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 27 May 2024 16:59:53 +0800 Subject: [PATCH] =?UTF-8?q?optimize(dqbom):=20=E4=BC=98=E5=8C=96=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/query/QueryMaterialsQuery.java | 14 ++++++++++ .../product/bomnew/service/DQBomService.java | 27 +++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java index 12f311e1..1b80d110 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/query/QueryMaterialsQuery.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; +import java.math.BigDecimal; + /** * @author 曹鹏飞 * @date 2024/5/25 14:17:04 @@ -25,4 +27,16 @@ public class QueryMaterialsQuery { */ @ApiModelProperty(value = "物料编码") private String materialNo; + + /** + * 单重 + */ + @ApiModelProperty(value = "单重") + private BigDecimal unitWeight; + + /** + * 项目类别 + */ + @ApiModelProperty("项目类别") + private String projectType; } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java index 7ac05094..68b1e08c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/DQBomService.java @@ -683,7 +683,23 @@ public class DQBomService { if (CollUtil.isNotEmpty(keys)) { datas.addAll(SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(keys)); } - return Convert.toList(QueryMaterialsVO.class, datas); + List vos = Convert.toList(QueryMaterialsVO.class, datas); + query.forEach(it -> { + if (Objects.nonNull(it.getUnitWeight()) || StrUtil.isNotBlank(it.getProjectType())) { + QueryMaterialsVO vo = vos.stream().filter(m -> StrUtil.equals(m.getMaterialNo(), it.getMaterialNo()) + || StrUtil.equals(m.getDrawingNo(), it.getDrawingNo())) + .findFirst().orElse(null); + if (Objects.nonNull(vo)) { + if (Objects.nonNull(it.getUnitWeight())) { + vo.setUnitWeight(it.getUnitWeight()); + } + if (StrUtil.isNotBlank(it.getProjectType())) { + vo.setProjectType(it.getProjectType()); + } + } + } + }); + return vos; } public QueryMaterialsVO queryMaterial(QueryMaterialsQuery query) { @@ -694,7 +710,14 @@ public class DQBomService { vos = SpringUtil.getBean(MaterialMainMapper.class).getMaterialByDrawingNo(Collections.singletonList(query.getDrawingNo())); } if (CollUtil.isNotEmpty(vos)) { - return Convert.convert(QueryMaterialsVO.class, vos.get(0)); + QueryMaterialsVO vo = Convert.convert(QueryMaterialsVO.class, vos.get(0)); + if (Objects.nonNull(query.getUnitWeight())) { + vo.setUnitWeight(query.getUnitWeight()); + } + if (StrUtil.isNotBlank(query.getProjectType())) { + vo.setProjectType(query.getProjectType()); + } + return vo; } return null; }