From cb403402575a2493a7d98c2a88bd4f643b35d822 Mon Sep 17 00:00:00 2001 From: 10002327 Date: Thu, 26 Sep 2024 10:22:56 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=94=9F=E6=88=90PBOM=E6=97=B6=EF=BC=8Cbom?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AD=90=E9=A1=B9=E7=9A=84=E8=AF=9D=EF=BC=8C?= =?UTF-8?q?=E4=BB=85=E7=94=9F=E6=88=90EBOM=E6=AD=A3=E5=BC=8F=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=94=9F=E6=88=90PBOM=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=EF=BC=88=E4=BC=98=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/BomNewEbomParentService.java | 38 +++++++++++++++++++ .../PBom/TechnologyPackageParamBuilder.java | 10 ++++- .../src/main/resources/logback-prod.xml | 25 ++++++++++++ .../src/main/resources/logback-sit.xml | 25 ++++++++++++ 4 files changed, 97 insertions(+), 1 deletion(-) 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 905b0c8d..e2328aec 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 @@ -40,6 +40,7 @@ import nflg.product.common.constant.STATE; import nflg.product.common.vo.ResultVO; import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.StringUtils; +import org.checkerframework.checker.nullness.Opt; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -1026,6 +1027,24 @@ public class BomNewEbomParentService extends ServiceImpl !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .collect(Collectors.toList()); if(!emptyChildParentList.isEmpty()){ + List fList = emptyChildParentList.stream().filter(p -> { + Optional opt = bomTree.stream().filter(t -> p.getMaterialNo().equals(t.getMaterialNo())).findFirst(); + if(opt.isPresent()){ + List cList = bomTree.stream().filter(t -> t.getParentRowId().equals(opt.get().getRowId())).collect(Collectors.toList()); + if(cList.size() > 0){ + Map> ptMap = cList.stream().collect(Collectors.groupingBy(BaseMaterialVO::getProjectType)); + return ptMap.getOrDefault("F",Lists.newArrayList()).size() == cList.size(); + } + } + return false; + }).collect(Collectors.toList()); + if(!fList.isEmpty()){ + String m = fList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct().collect(Collectors.joining(",")); + OperationErrorMsgVO oem = new OperationErrorMsgVO(); + oem.setPrimaryKey(m); + oem.msg = String.format("物料%s因下级全部是F项,仅保存EBOM,未生成PBOM数据",m); + rList.add(oem); + } // rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct() // .map(m -> { // OperationErrorMsgVO oem = new OperationErrorMsgVO(); @@ -1200,6 +1219,25 @@ public class BomNewEbomParentService extends ServiceImpl !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .collect(Collectors.toList()); if(!emptyChildParentList.isEmpty()){ + List fList = emptyChildParentList.stream().filter(p -> { + Optional opt = bomTree.stream().filter(t -> p.getMaterialNo().equals(t.getMaterialNo())).findFirst(); + if(opt.isPresent()){ + List cList = bomTree.stream().filter(t -> t.getParentRowId().equals(opt.get().getRowId())).collect(Collectors.toList()); + if(cList.size() > 0){ + Map> ptMap = cList.stream().collect(Collectors.groupingBy(BaseMaterialVO::getProjectType)); + return ptMap.getOrDefault("F",Lists.newArrayList()).size() == cList.size(); + } + } + return false; + }).collect(Collectors.toList()); + if(!fList.isEmpty()){ + String m = fList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct().collect(Collectors.joining(",")); + OperationErrorMsgVO oem = new OperationErrorMsgVO(); + oem.setPrimaryKey(m); + oem.msg = String.format("物料%s因下级全部是F项,仅保存EBOM,未生成PBOM数据",m); + rList.add(oem); + } + // rList = emptyChildParentList.stream().map(BomNewPbomParentEntity::getMaterialNo).distinct() // .map(m -> { // OperationErrorMsgVO oem = new OperationErrorMsgVO(); diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/TechnologyPackageParamBuilder.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/TechnologyPackageParamBuilder.java index ff306733..05b6d296 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/TechnologyPackageParamBuilder.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/service/domain/PBom/TechnologyPackageParamBuilder.java @@ -2,6 +2,8 @@ package com.nflg.product.bomnew.service.domain.PBom; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.extra.spring.SpringUtil; import com.baomidou.mybatisplus.core.toolkit.IdWorker; @@ -19,12 +21,14 @@ import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VersionUtil; import lombok.Getter; +import org.apache.commons.compress.utils.Lists; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Objects; +import java.util.Optional; /** * 工艺包构建 @@ -219,7 +223,11 @@ public class TechnologyPackageParamBuilder { child.setRowId(IdWorker.getId()); child.setParentRowId(parent.getRowId()); child.setFacCode(parent.getFacCode()); - child.setOrderNumber(StrUtil.padPre (String.valueOf(parentChildren.size()+1),3,"0")); + //虚拟包作为下级时,序号按照已有的子级取出最大的序号值+1 by 10002327 0925 + int orderNumber = parentChildren.stream().max((p1,p2) -> p1.getOrderNumber().compareTo(p2.getOrderNumber())) + .map(m -> Convert.toInt(m.getOrderNumber())).orElse(0); + + child.setOrderNumber(StrUtil.padPre (String.valueOf(orderNumber+1),3,"0")); child.setDrawingNo(packageMaterial.getDrawingNo()); child.setMaterialNo(packageMaterial.getMaterialNo()); child.setMaterialName(packageMaterial.getMaterialName()); diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/logback-prod.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/logback-prod.xml index c3bf93f4..f5833c6c 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/logback-prod.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/logback-prod.xml @@ -35,6 +35,28 @@ + + + + error + + ${logDir}/error/nflg-bom-new-error.log + + + ${logDir}/error/%d{yyyy-MM-dd}.%i.error.log + + 30 + + true + + ${splitSize} + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %X{traceId} [%thread] %-5level %logger{50} %msg%n + + + @@ -43,4 +65,7 @@ + + + \ No newline at end of file diff --git a/nflg_project_dev/nflg-bom-new/src/main/resources/logback-sit.xml b/nflg_project_dev/nflg-bom-new/src/main/resources/logback-sit.xml index 75819510..d9453627 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/resources/logback-sit.xml +++ b/nflg_project_dev/nflg-bom-new/src/main/resources/logback-sit.xml @@ -35,6 +35,28 @@ + + + + error + + ${logDir}/error/nflg-bom-new-error.log + + + ${logDir}/error/%d{yyyy-MM-dd}.%i.error.log + + 30 + + true + + ${splitSize} + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} %X{traceId} [%thread] %-5level %logger{50} %msg%n + + + @@ -46,4 +68,7 @@ + + + \ No newline at end of file From cdcf08e70660beb59d8cb2329e3dae0ff963ed01 Mon Sep 17 00:00:00 2001 From: 10002327 Date: Thu, 26 Sep 2024 10:44:01 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=94=9F=E6=88=90PBOM=E6=97=B6=EF=BC=8Cbom?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AD=90=E9=A1=B9=E7=9A=84=E8=AF=9D=EF=BC=8C?= =?UTF-8?q?=E4=BB=85=E7=94=9F=E6=88=90EBOM=E6=AD=A3=E5=BC=8F=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=94=9F=E6=88=90PBOM=E4=BB=BB=E5=8A=A12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/BomNewEbomParentService.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 e2328aec..9d66b376 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 @@ -1022,9 +1022,10 @@ public class BomNewEbomParentService extends ServiceImpllambdaQuery().in(BomNewEbomChildEntity::getParentRowId,ebomParentIdList)); // } - //3、判断parent下是否有子级,如果没有的话,把parent给删除了 物料****因下级全部是F项,仅保存EBOM,未生成PBOM数据 + //3、判断parent下是否有子级,排除电控系统和仙桃的,如果没有的话,把parent给删除了 物料****因下级全部是F项,仅保存EBOM,未生成PBOM数据 仙桃) List emptyChildParentList = eBomToPBom.getPBomParentResult().stream() - .filter(p -> !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) + .filter(p -> !p.getMaterialDesc().contains("电控系统") && !p.getMaterialDesc().contains("仙桃)") + && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .collect(Collectors.toList()); if(!emptyChildParentList.isEmpty()){ List fList = emptyChildParentList.stream().filter(p -> { @@ -1216,7 +1217,8 @@ public class BomNewEbomParentService extends ServiceImpl emptyChildParentList = eBomToPBom.getPBomParentResult().stream() - .filter(p -> !p.getMaterialDesc().contains("电控系统") && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) + .filter(p -> !p.getMaterialDesc().contains("电控系统") && !p.getMaterialDesc().contains("仙桃)") + && !eBomToPBom.getPBomChildResult().stream().map(BomNewPbomChildEntity::getParentRowId).collect(Collectors.toList()).contains(p.getRowId()) ) .collect(Collectors.toList()); if(!emptyChildParentList.isEmpty()){ List fList = emptyChildParentList.stream().filter(p -> { From 8d31889ccf744adc2bd17e12af8adc1b6bd7a307 Mon Sep 17 00:00:00 2001 From: 10002327 Date: Thu, 26 Sep 2024 11:23:33 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=94=9F=E6=88=90PBOM=E6=97=B6=EF=BC=8Cbom?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E5=AD=90=E9=A1=B9=E7=9A=84=E8=AF=9D=EF=BC=8C?= =?UTF-8?q?=E4=BB=85=E7=94=9F=E6=88=90EBOM=E6=AD=A3=E5=BC=8F=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E4=B8=8D=E7=94=9F=E6=88=90PBOM=E4=BB=BB=E5=8A=A12?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/service/BomNewEbomParentService.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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 9d66b376..1b36fdac 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 @@ -1028,7 +1028,8 @@ public class BomNewEbomParentService extends ServiceImpl fList = emptyChildParentList.stream().filter(p -> { + //仅选择的第一层需要提示 + List fList = emptyChildParentList.stream().filter(p -> p.getSourceRowId().equals(bomRowId)).filter(p -> { Optional opt = bomTree.stream().filter(t -> p.getMaterialNo().equals(t.getMaterialNo())).findFirst(); if(opt.isPresent()){ List cList = bomTree.stream().filter(t -> t.getParentRowId().equals(opt.get().getRowId())).collect(Collectors.toList()); @@ -1221,7 +1222,8 @@ public class BomNewEbomParentService extends ServiceImpl fList = emptyChildParentList.stream().filter(p -> { + //仅选择的第一层需要提示 + List fList = emptyChildParentList.stream().filter(p -> p.getSourceRowId().equals(bomRowId)).filter(p -> { Optional opt = bomTree.stream().filter(t -> p.getMaterialNo().equals(t.getMaterialNo())).findFirst(); if(opt.isPresent()){ List cList = bomTree.stream().filter(t -> t.getParentRowId().equals(opt.get().getRowId())).collect(Collectors.toList()); From f96b5701f45b507b23f52eb834b54a8084c30487 Mon Sep 17 00:00:00 2001 From: 10002327 Date: Thu, 26 Sep 2024 14:37:45 +0800 Subject: [PATCH 4/5] =?UTF-8?q?4=E3=80=81=E7=94=B5=E6=B0=94BOM=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=9F=A5=E8=AF=A2=E4=BC=98=E5=8C=96=205=E3=80=81BOM?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E6=9F=A5=E8=AF=A2=E5=88=97=E8=A1=A8=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E7=89=A9=E6=96=99=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../product/bomnew/api/user/BomReportApi.java | 19 +++++++++++++++++-- .../product/bomnew/api/user/DQBomApi.java | 12 ++++++------ 2 files changed, 23 insertions(+), 8 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 f8c86720..5db97165 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 @@ -6,16 +6,19 @@ import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.TypeReference; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.ImmutableList; import com.nflg.product.base.core.api.BaseApi; import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.bomnew.constant.ReportConstant; +import com.nflg.product.bomnew.pojo.entity.MaterialMainEntity; 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.util.EecExcelUtil; import com.nflg.product.bomnew.util.VUtils; @@ -34,7 +37,10 @@ import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.io.IOException; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; @Api(tags = "BOM-报表接口") @RestController @@ -50,6 +56,8 @@ public class BomReportApi extends BaseApi { @Resource CompareReportService compareReportService; + @Resource + MaterialMainService materialMainService; @PostMapping("reverseReport") @ApiOperation("bom-反查") @@ -123,8 +131,15 @@ public class BomReportApi extends BaseApi { if (resultVO != null) { return resultVO; } - - return ResultVO.success(forwardReportService.factoryBomType(query)); + //物料描述从 物料主数据获取 by 10002327 240926 + ReportBomVO r = forwardReportService.factoryBomType(query); + if(!r.getChildNodes().isEmpty()){ + Set materialNoSet = r.getChildNodes().stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toSet()); + List materialMainList = materialMainService.list(Wrappers.lambdaQuery().in(MaterialMainEntity::getMaterialNo,materialNoSet)); + Map materialMainMap = materialMainList.stream().collect(Collectors.toMap(MaterialMainEntity::getMaterialNo,MaterialMainEntity::getMaterialDesc,(k1, k2)->k1)); + r.getChildNodes().forEach(c -> c.setMaterialDesc(materialMainMap.getOrDefault(c.getMaterialNo(),c.getMaterialDesc()))); + } + return ResultVO.success(r); } diff --git a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java index d150a08a..6c68eed9 100644 --- a/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java +++ b/nflg_project_dev/nflg-bom-new/src/main/java/com/nflg/product/bomnew/api/user/DQBomApi.java @@ -99,12 +99,12 @@ public class DQBomApi extends BaseApi { @ApiOperation("分页查询数据") public ResultVO> getPageList(@Valid @RequestBody @NotNull BomNewDQbomPageQuery query) { // 电气BOM正式表查询无须添加时间条件 by 10002327 240918 -// if (query.getStatus() == 2) { -// if (StrUtil.isBlank(query.getStartDate()) && StrUtil.isBlank(query.getEndDate())) { -// query.setStartDate(LocalDateTimeUtil.format(LocalDateTime.now().plusDays(-2), "yyyy-MM-dd")); -// query.setEndDate(LocalDateTimeUtil.format(LocalDateTime.now().plusDays(1), "yyyy-MM-dd")); -// } -// } + if (query.getStatus() == 2) { + if (StrUtil.isAllBlank(query.getDrawingNo(),query.getMaterialNo(),query.getMaterialName(),query.getStartDate(),query.getEndDate())) { + query.setStartDate(LocalDateTimeUtil.format(LocalDateTime.now().plusDays(-2), "yyyy-MM-dd")); + query.setEndDate(LocalDateTimeUtil.format(LocalDateTime.now().plusDays(1), "yyyy-MM-dd")); + } + } return ResultVO.success(dQBomService.getPageList(query)); } From c422139480d96f5511002e0668a7839a9d9858de Mon Sep 17 00:00:00 2001 From: 10002327 Date: Thu, 26 Sep 2024 15:37:47 +0800 Subject: [PATCH 5/5] =?UTF-8?q?BOM=E6=9F=A5=E7=9C=8B=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nflg/product/bomnew/api/user/BomReportApi.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 5db97165..b7685d68 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 @@ -35,6 +35,7 @@ import org.ttzero.excel.entity.ListSheet; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import javax.xml.transform.Result; import java.io.IOException; import java.util.List; import java.util.Map; @@ -133,7 +134,10 @@ public class BomReportApi extends BaseApi { } //物料描述从 物料主数据获取 by 10002327 240926 ReportBomVO r = forwardReportService.factoryBomType(query); - if(!r.getChildNodes().isEmpty()){ + if(r == null){ + return ResultVO.error("查无数据~"); + } + if(CollUtil.isNotEmpty(r.getChildNodes())){ Set materialNoSet = r.getChildNodes().stream().map(BaseMaterialVO::getMaterialNo).collect(Collectors.toSet()); List materialMainList = materialMainService.list(Wrappers.lambdaQuery().in(MaterialMainEntity::getMaterialNo,materialNoSet)); Map materialMainMap = materialMainList.stream().collect(Collectors.toMap(MaterialMainEntity::getMaterialNo,MaterialMainEntity::getMaterialDesc,(k1, k2)->k1));