diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java index 7999816..08b2e30 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartProdGroupDetailService.java @@ -1,12 +1,14 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesPartProdGroupDetailService; +import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup; import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail; +import cn.estsh.i3plus.pojo.mes.bean.MesPartProduceType; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; @@ -29,6 +31,28 @@ public class MesPartProdGroupDetailService extends BaseMesService beanList) { @@ -36,17 +60,28 @@ public class MesPartProdGroupDetailService extends BaseMesService> sortInfoMap = sortInfoList.stream().collect(Collectors.groupingBy(MesCustSortInfo::getCustPartNo)); - Map prodGroupDetailMap = details.stream().collect(Collectors.toMap(MesPartProdGroupDetail::getCustPartNo, Function.identity())); + Map> prodGroupDetailMap = details.stream().collect(Collectors.groupingBy(MesPartProdGroupDetail::getCustPartNo)); Set softInfoKeySet = sortInfoMap.keySet(); //遍历零件生产组零件,过滤出 for (String softInfoKey : softInfoKeySet) { - MesPartProdGroupDetail detail = prodGroupDetailMap.get(softInfoKey); - if (detail == null){ + List detailList = prodGroupDetailMap.get(softInfoKey); + + if (CollectionUtils.isEmpty(detailList)){ continue; } + MesPartProdGroupDetail detail = detailList.get(0); //根据detail.id 获取 MesProdGroupPartBtoCount btoCountInfo = getByGroupPartId(detail.getId(), detail.getOrganizeCode()); //历史累计差异