From 7f4274fbdb5b52711d9b813c9da393102d7d3538 Mon Sep 17 00:00:00 2001 From: 10002327 Date: Tue, 3 Dec 2024 17:46:31 +0800 Subject: [PATCH] =?UTF-8?q?BOM=E7=89=A9=E6=96=99=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=A2=9E=E5=8A=A0=E7=89=A9=E6=96=99=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/api/user/BomReportApi.java | 40 +++++++++++++++++-- .../bomnew/pojo/vo/MaterialQueryResult.java | 6 +++ .../mapper/master/MaterialMainMapper.xml | 2 +- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/BomReportApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/BomReportApi.java index 46774e5f..db08b720 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/BomReportApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/BomReportApi.java @@ -9,11 +9,13 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.ImmutableList; +import com.google.common.collect.Lists; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.base.core.vo.PageVO; import com.nflg.product.bomnew.constant.ReportConstant; import com.nflg.product.bomnew.pojo.dto.PdateLogDTO; +import com.nflg.product.bomnew.pojo.entity.MaterialCategoryEntity; import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; import com.nflg.product.bomnew.pojo.dto.MaterialQueryDTO; import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; @@ -21,10 +23,7 @@ import com.nflg.product.bomnew.pojo.query.ChildBomReportQuery; import com.nflg.product.bomnew.pojo.query.CompareReportQuery; import com.nflg.product.bomnew.pojo.query.ReverseReportQuery; import com.nflg.product.bomnew.pojo.vo.*; -import com.nflg.product.bomnew.service.CompareReportService; -import com.nflg.product.bomnew.service.ForwardReportService; -import com.nflg.product.bomnew.service.MaterialMainService; -import com.nflg.product.bomnew.service.ReverseReportService; +import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.util.EecExcelUtil; import com.nflg.product.bomnew.util.VUtils; import io.swagger.annotations.Api; @@ -59,6 +58,9 @@ public class BomReportApi extends BaseApi { @Resource MaterialMainService materialMainService; + @Resource + MaterialCategoryService materialCategoryService; + @PostMapping("reverseReport") @ApiOperation("bom-反查") @@ -341,6 +343,36 @@ public class BomReportApi extends BaseApi { } Page page = new PageVO<>(queryParam.getPage(), queryParam.getPageSize()); Page result = materialMainService.getBaseMapper().queryMaterial(page , queryParam); + if(!result.getRecords().isEmpty()){ + List codeList = result.getRecords().stream().map(m -> { + List cList = Lists.newArrayList(); + String code = m.getMaterialCategoryCode(); + StringBuilder sb = new StringBuilder(); + for (int i = 1; i <= code.length(); i++) { + sb.append(code.charAt(i-1)); + if(i % 2 == 0){ + cList.add(sb.toString()); + } + } + return cList; + }).filter(CollUtil::isNotEmpty).flatMap(List::stream).distinct().collect(Collectors.toList()); + + List categoryList = materialCategoryService.list(Wrappers.lambdaQuery().in(MaterialCategoryEntity::getCategoryCode,codeList)); + Map categoryMap = categoryList.stream().collect(Collectors.toMap(MaterialCategoryEntity::getCategoryCode,MaterialCategoryEntity::getCategoryName,(k1,k2) -> k1)); + result.getRecords().forEach(m -> { + String code = m.getMaterialCategoryCode(); + List cList = Lists.newArrayList(); + StringBuilder sb = new StringBuilder(); + for (int i = 1; i <= code.length(); i++) { + sb.append(code.charAt(i-1)); + if(i % 2 == 0){ + cList.add(categoryMap.get(sb.toString())); + } + } + m.setMaterialCategoryCodeName(cList.stream().collect(Collectors.joining("/"))); + }); + + } //排序 // if(StrUtil.isNotBlank(queryParam.getMaterialNo())) { // result.forEach(u->{ diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/MaterialQueryResult.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/MaterialQueryResult.java index 1a1e26e1..e4d85f35 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/MaterialQueryResult.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/pojo/vo/MaterialQueryResult.java @@ -43,6 +43,12 @@ public class MaterialQueryResult { @ApiModelProperty("排序号") private String orderNo; + @ApiModelProperty("物料分类编码") + private String materialCategoryCode; + + @ApiModelProperty("物料分类编码名称") + private String materialCategoryCodeName; + private String materialStateName; 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 c3fcec81..7c65b15e 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 @@ -203,7 +203,7 @@