Merge branch 'refs/heads/feature/DM/nflg-bom' into feature/DM/nflg-bom-transition

This commit is contained in:
曹鹏飞 2024-06-20 15:36:04 +08:00
commit 44dd7ae71f
11 changed files with 325 additions and 126 deletions

View File

@ -21,7 +21,7 @@ import java.util.Set;
*/ */
public interface BomNewEbomParentFormalMapper extends BaseMapper<BomNewEbomParentFormalEntity > { public interface BomNewEbomParentFormalMapper extends BaseMapper<BomNewEbomParentFormalEntity > {
List<BomNewEbomParentFormalVO> getParentChild(@Param("rowId") Long rowId); // List<BomNewEbomParentFormalVO> getParentChild(@Param("rowId") Long rowId);
List<BomNewEbomParentFormalVO> getParentChildBatch(@Param("rowIds") List<Long> rowIds); List<BomNewEbomParentFormalVO> getParentChildBatch(@Param("rowIds") List<Long> rowIds);
} }

View File

@ -68,7 +68,7 @@ public class ForwardReportVO extends BaseMaterialVO {
@ApiModelProperty(value = "创建人编码") @ApiModelProperty(value = "创建人编码")
private String createdBy; private String createdBy;
@ApiModelProperty(value = "创建") @ApiModelProperty(value = "设计")
private String deviseName; private String deviseName;

View File

@ -11,7 +11,9 @@ import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@ -24,6 +26,21 @@ import java.util.stream.Collectors;
public class BomNewEbomParentFormalService extends ServiceImpl<BomNewEbomParentFormalMapper, BomNewEbomParentFormalEntity> { public class BomNewEbomParentFormalService extends ServiceImpl<BomNewEbomParentFormalMapper, BomNewEbomParentFormalEntity> {
public List<BomNewEbomParentFormalVO> getParentChild( Long rowId) {
List<Long> ids=new ArrayList<>();
ids.add(rowId);
return getParentChildBatch(ids);
}
public List<BomNewEbomParentFormalVO> getParentChildBatch( List<Long> rowIds){
return this.baseMapper.getParentChildBatch(rowIds);
}
public void copyEbomFormal(Long eBomRowId) { public void copyEbomFormal(Long eBomRowId) {

View File

@ -13,6 +13,8 @@ import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomChildFormalEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentFormalEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentFormalVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
@ -24,6 +26,25 @@ import java.util.stream.Collectors;
public class BomNewPbomParentFormalService extends ServiceImpl<BomNewPbomParentFormalMapper, BomNewPbomParentFormalEntity> { public class BomNewPbomParentFormalService extends ServiceImpl<BomNewPbomParentFormalMapper, BomNewPbomParentFormalEntity> {
public List<BomNewPbomParentFormalVO> getParentChild( Long rowId) {
List<Long> rowIds=new ArrayList<>();
rowIds.add(rowId);
return getParentChildBatch(rowIds);
}
public List<BomNewPbomParentFormalVO> getParentChildBatch( List<Long> rowIds) {
return this.getBaseMapper().getParentChildBatch(rowIds);
}
/** /**
* 拷贝pbom已发布数 * 拷贝pbom已发布数
*/ */

View File

@ -5,6 +5,8 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.constant.ReportConstant; import com.nflg.product.bomnew.constant.ReportConstant;
import com.nflg.product.bomnew.pojo.entity.*; import com.nflg.product.bomnew.pojo.entity.*;
import com.nflg.product.bomnew.pojo.query.ChildBomReportQuery; import com.nflg.product.bomnew.pojo.query.ChildBomReportQuery;
@ -15,6 +17,8 @@ import com.nflg.product.bomnew.service.domain.MBom.MBomForwardReport;
import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomForwardReport; import com.nflg.product.bomnew.service.domain.OriginalBom.OriginalBomForwardReport;
import com.nflg.product.bomnew.service.domain.PBom.PBomForwardReport; import com.nflg.product.bomnew.service.domain.PBom.PBomForwardReport;
import com.nflg.product.bomnew.util.EecExcelUtil; import com.nflg.product.bomnew.util.EecExcelUtil;
import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
import com.nflg.product.bomnew.util.VUtils; import com.nflg.product.bomnew.util.VUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.ttzero.excel.entity.ListSheet; import org.ttzero.excel.entity.ListSheet;
@ -23,9 +27,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays; import java.util.stream.Collectors;
import java.util.List;
@Service @Service
public class ForwardReportService { public class ForwardReportService {
@ -155,26 +158,41 @@ public class ForwardReportService {
List<ForwardReportVO> chilidEBomList(ChildBomReportQuery query) { List<ForwardReportVO> chilidEBomList(ChildBomReportQuery query) {
// QueryWrapper<BomNewEbomChildFormalEntity> queryWrapper = new QueryWrapper<>(); BomNewEbomParentFormalEntity parentEntity=SpringUtil.getBean(BomNewEbomParentFormalService .class).getById(query.getBomRowId());
// queryWrapper.lambda().eq(BomNewEbomChildFormalEntity::getParentRowId, query.getBomRowId()); List<BomNewEbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewEbomParentFormalService.class). getParentChild(query.getBomRowId());
// List<BomNewEbomChildFormalEntity> list = SpringUtil.getBean(BomNewEbomChildFormalService.class).list(queryWrapper);
BomNewEbomParentFormalEntity parentEntity=SpringUtil.getBean(BomNewEbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService .class).getBaseMapper().getParentChild(query.getBomRowId());
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(parentChildList, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<ForwardReportVO> childBomLit = Convert.convert( List<Long> bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewEbomParentFormalVO::getBomRowId).collect(Collectors.toList());
new TypeReference<List<ForwardReportVO>>() { Map<Long, BomNewEbomParentFormalEntity> parentEntityMap=null;
if(CollUtil.isNotEmpty(bomRowIds)) {
List<BomNewEbomParentFormalEntity> bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class).lambdaQuery().in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list();
}, list); parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewEbomParentFormalEntity::getRowId);
for (ForwardReportVO vo:
childBomLit) {
vo.setDeviseName(parentEntity.getDeviseName());
vo.setCurrentVersion(parentEntity.getCurrentVersion());
vo.setExpireEndTime(parentEntity.getConvertToEbomTime());
} }
for (BomNewEbomParentFormalVO vo :
parentChildList) {
if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getBomRowId())) {
BomNewEbomParentFormalEntity ebomParentEntity = parentEntityMap.get(vo.getBomRowId());
vo.setDeviseName(ebomParentEntity.getDeviseName());
vo.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
vo.setCurrentVersion(ebomParentEntity.getCurrentVersion());
vo.setExpireEndTime(ebomParentEntity.getConvertToEbomTime());
}else{
vo.setDeviseName(parentEntity.getDeviseName());
vo.setDeviseUserCode(parentEntity.getDeviseUserCode());
if (MaterialshouldBomExistUtil.checkShouldBomExist(vo)) {
vo.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
}
else {
vo.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
}
}
List<ForwardReportVO> childBomLit = Convert.convert(new TypeReference<List<ForwardReportVO>>() {}, parentChildList);
return childBomLit; return childBomLit;
@ -185,18 +203,47 @@ public class ForwardReportService {
BomNewPbomParentFormalEntity parentEntity= SpringUtil.getBean(BomNewPbomParentFormalService .class).getById(query.getBomRowId()); BomNewPbomParentFormalEntity parentEntity= SpringUtil.getBean(BomNewPbomParentFormalService .class).getById(query.getBomRowId());
List<BomNewPbomParentFormalVO> list = SpringUtil.getBean(BomNewPbomParentFormalService .class).getBaseMapper().getParentChild(query.getBomRowId()); List<BomNewPbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewPbomParentFormalService .class).getParentChild(query.getBomRowId());
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(parentChildList, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<Long> bomRowIds=parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList());
Map<Long, BomNewPbomParentFormalEntity> parentEntityMap=null;
if(CollUtil.isNotEmpty(bomRowIds)) {
List<BomNewPbomParentFormalEntity > bomlist = SpringUtil.getBean(BomNewPbomParentFormalService.class ).lambdaQuery().in(BomNewPbomParentFormalEntity::getRowId, bomRowIds).list();
parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewPbomParentFormalEntity::getRowId);
}
for (BomNewPbomParentFormalVO vo:
parentChildList) {
if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getBomRowId())) {
BomNewPbomParentFormalEntity pbomParentEntity = parentEntityMap.get(vo.getBomRowId());
vo.setDeviseName(pbomParentEntity.getDeviseName());
vo.setCurrentVersion(pbomParentEntity.getCurrentVersion());
vo.setExpireEndTime(pbomParentEntity.getReleaseTime());
}else{
vo.setExpireEndTime(parentEntity.getReleaseTime());
vo.setDeviseName(parentEntity.getDeviseName());
vo.setDeviseUserCode(parentEntity.getDeviseUserCode());
if (MaterialshouldBomExistUtil.checkShouldBomExist(vo)) {
vo.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
}
else {
vo.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
}
}
List<ForwardReportVO> childBomLit = Convert.convert( List<ForwardReportVO> childBomLit = Convert.convert(
new TypeReference<List<ForwardReportVO>>() { new TypeReference<List<ForwardReportVO>>() {
}, list); }, parentChildList);
for (ForwardReportVO vo:
childBomLit) {
vo.setDeviseName(parentEntity.getDeviseName());
vo.setCurrentVersion(parentEntity.getCurrentVersion());
vo.setExpireEndTime(parentEntity.getReleaseTime());
}
return childBomLit; return childBomLit;
} }

View File

@ -3,19 +3,24 @@ package com.nflg.product.bomnew.service.domain.EBom;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentVO;
import com.nflg.product.bomnew.service.BomNewEbomParentFormalService; import com.nflg.product.bomnew.service.BomNewEbomParentFormalService;
import com.nflg.product.bomnew.service.BomNewEbomParentService; import com.nflg.product.bomnew.service.BomNewEbomParentService;
import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.concurrent.RecursiveTask; import java.util.concurrent.RecursiveTask;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -47,31 +52,54 @@ public class EBomFormalTreeTask extends RecursiveTask<List<BomNewEbomParentForma
vo.setLevelNum(levelNum); vo.setLevelNum(levelNum);
} }
List<Long> bomRowIds=bomDetail.stream().filter(u -> u.getBomRowId()>0 ).map(BomNewEbomParentFormalVO::getBomRowId).collect(Collectors.toList()); SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<Long> bomRowIds=bomDetail.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId()>0 ).map(BomNewEbomParentFormalVO::getBomRowId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(bomRowIds)) { if (CollUtil.isNotEmpty(bomRowIds)) {
List<BomNewEbomParentFormalEntity > bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class ).lambdaQuery().in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list(); List<BomNewEbomParentFormalEntity > bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class ).lambdaQuery().in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list();
Map<Long, BomNewEbomParentFormalEntity> parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewEbomParentFormalEntity::getRowId); Map<Long, BomNewEbomParentFormalEntity> parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewEbomParentFormalEntity::getRowId);
for (BomNewEbomParentFormalVO detailVO : bomDetail) { for (BomNewEbomParentFormalVO detailVO : bomDetail) {
if (parentEntityMap.containsKey(detailVO.getBomRowId())) { if (parentEntityMap.containsKey(detailVO.getBomRowId())) {
BomNewEbomParentFormalEntity ebomParentEntity = parentEntityMap.get(detailVO.getBomRowId()); BomNewEbomParentFormalEntity ebomParentEntity = parentEntityMap.get(detailVO.getBomRowId());
detailVO.setChildBomRowId(ebomParentEntity.getRowId()); detailVO.setChildBomRowId(ebomParentEntity.getRowId());
detailVO.setCreatedTime(ebomParentEntity.getCreatedTime()); // detailVO.setCreatedTime(ebomParentEntity.getCreatedTime());
detailVO.setSourceRowId(ebomParentEntity.getSourceRowId()); detailVO.setSourceRowId(ebomParentEntity.getSourceRowId());
detailVO.setCurrentVersion(ebomParentEntity.getCurrentVersion()); detailVO.setCurrentVersion(ebomParentEntity.getCurrentVersion());
detailVO.setDeviseName(ebomParentEntity.getDeviseName());
detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode()); detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
detailVO.setDeptName(ebomParentEntity.getDeptName()); detailVO.setDeptName(ebomParentEntity.getDeptName());
detailVO.setDeviseName(ebomParentEntity.getDeviseName()); detailVO.setDeviseName(ebomParentEntity.getDeviseName());
detailVO.setBomExist(ebomParentEntity.getBomExist()); detailVO.setBomExist(ebomParentEntity.getBomExist());
} }
} }
} }
//无Bom
BomNewEbomParentFormalEntity ebomParentEntity = SpringUtil.getBean(BomNewEbomParentFormalService.class).lambdaQuery().eq(BomNewEbomParentFormalEntity::getRowId, bomDetail.get(0).getParentRowId()).one();
List<BomNewEbomParentFormalVO> noBomList = bomDetail.stream().filter(u -> Objects.isNull(u.getBomRowId() )||u.getBomRowId() == 0).collect(Collectors.toList());
if(CollUtil.isNotEmpty(noBomList)) {
for (BomNewEbomParentFormalVO detailVO : noBomList) {
// detailVO.setCreatedTime(ebomParentEntity.getCreatedTime());
detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
detailVO.setDeptName(ebomParentEntity.getDeptName());
detailVO.setDeviseName(ebomParentEntity.getDeviseName());
detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
if (MaterialshouldBomExistUtil.checkShouldBomExist(detailVO)) {
detailVO.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
} else {
detailVO.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
}
}
} }

View File

@ -1,6 +1,7 @@
package com.nflg.product.bomnew.service.domain.EBom; package com.nflg.product.bomnew.service.domain.EBom;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
@ -11,6 +12,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.constant.ReportConstant; import com.nflg.product.bomnew.constant.ReportConstant;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
@ -21,6 +23,7 @@ import com.nflg.product.bomnew.service.BomNewEbomParentFormalService;
import com.nflg.product.bomnew.service.MaterialMainService; import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.service.domain.BaseForwardReport; import com.nflg.product.bomnew.service.domain.BaseForwardReport;
import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
import com.nflg.product.bomnew.util.VersionUtil; import com.nflg.product.bomnew.util.VersionUtil;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
@ -39,7 +42,7 @@ public class EBomForwardReport extends BaseForwardReport {
public EBomForwardReport(ReverseReportQuery query) { public EBomForwardReport(ReverseReportQuery query) {
super(query); super(query);
} }
@ -51,7 +54,7 @@ public class EBomForwardReport extends BaseForwardReport {
} }
if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, getMaxVersion()); queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, getMaxVersion());
} else if(query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue()) == 0) { } else if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, query.getBomVersion()); queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, query.getBomVersion());
} }
@ -73,7 +76,6 @@ public class EBomForwardReport extends BaseForwardReport {
} }
return list; return list;
} }
@ -105,42 +107,73 @@ public class EBomForwardReport extends BaseForwardReport {
*/ */
ReportBomVO singleReport() { ReportBomVO singleReport() {
List<BomNewEbomParentFormalEntity> listParent=getParent(); List<BomNewEbomParentFormalEntity> listParent = getParent();
BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0); BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0); ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList = new ArrayList<>(); List<ForwardReportVO> nodesList = new ArrayList<>();
for(BomNewEbomParentFormalEntity parentFormal:listParent) { for (BomNewEbomParentFormalEntity parentFormal : listParent) {
List<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId()); List<BomNewEbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewEbomParentFormalService.class).getParentChild(parentFormal.getRowId());
initMaterialInfo(list); initMaterialInfo(parentChildList);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(parentChildList)) {
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<Long> bomRowIds = parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId() > 0).map(BomNewEbomParentFormalVO::getBomRowId).collect(Collectors.toList());
}, list); Map<Long, BomNewEbomParentFormalEntity> parentEntityMap=null;
if(CollUtil.isNotEmpty(bomRowIds)) {
List<BomNewEbomParentFormalEntity> bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class).lambdaQuery().in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list();
parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewEbomParentFormalEntity::getRowId);
}
AtomicInteger orderNum = new AtomicInteger(); AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo : for (BomNewEbomParentFormalVO vo :
nodeList) { parentChildList) {
// vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime()); if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getBomRowId())) {
vo.setLevelNum(1); // vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setOrderNumber(orderNum.incrementAndGet() + ""); // vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCurrentVersion(forwardReportVO.getCurrentVersion()); BomNewEbomParentFormalEntity ebomParentEntity = parentEntityMap.get(vo.getBomRowId());
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setDeviseName(ebomParentEntity.getDeviseName());
vo.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
vo.setCurrentVersion(ebomParentEntity.getCurrentVersion());
} else {
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setDeviseName(parentFormal.getDeviseName());
vo.setDeviseName(parentFormal.getDeviseUserCode());
if (MaterialshouldBomExistUtil.checkShouldBomExist(vo)) {
vo.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
} else {
vo.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
}
} }
nodesList.addAll(nodeList);
// Collections.sort(nodeList, (option0, option1) -> option0.getOrderNumber().compareTo(option1.getOrderNumber())); // Collections.sort(nodeList, (option0, option1) -> option0.getOrderNumber().compareTo(option1.getOrderNumber()));
} }
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, parentChildList);
nodesList.addAll(nodeList);
} }
return buildReportBomVo(forwardReportVO,nodesList); return buildReportBomVo(forwardReportVO, nodesList);
} }
@ -185,18 +218,19 @@ public class EBomForwardReport extends BaseForwardReport {
* *
* @return * @return
*/ */
synchronized List<BomNewEbomParentFormalVO> bomDetailList(Long bomRowId) { synchronized List<BomNewEbomParentFormalVO> bomDetailList(Long bomRowId) {
List<BomNewEbomParentFormalVO> childList = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(bomRowId); List<BomNewEbomParentFormalVO> childList = SpringUtil.getBean(BomNewEbomParentFormalService.class).getParentChild(bomRowId);
EBomFormalTreeTask task = new EBomFormalTreeTask(childList); EBomFormalTreeTask task = new EBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool(); ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task); ForkJoinTask<List<BomNewEbomParentFormalVO>> submit = pool.submit(task);
List<BomNewEbomParentFormalVO> bomList = submit.join(); List<BomNewEbomParentFormalVO> bomList = submit.join();
initMaterialInfo(bomList); initMaterialInfo(bomList);
return bomList; return bomList;
} }
void initMaterialInfo( List<BomNewEbomParentFormalVO> list){
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(list,BomNewEbomParentFormalVO::getMaterialNo, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2); void initMaterialInfo(List<BomNewEbomParentFormalVO> list) {
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(list, BomNewEbomParentFormalVO::getMaterialNo, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT2);
} }
@ -208,35 +242,33 @@ public class EBomForwardReport extends BaseForwardReport {
ReportBomVO multiReport() { ReportBomVO multiReport() {
List<BomNewEbomParentFormalEntity> listParent = getParent();
List<BomNewEbomParentFormalEntity> listParent=getParent();
BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0); BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0); ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList = new ArrayList<>();
List<ForwardReportVO> nodesList=new ArrayList<>(); for (BomNewEbomParentFormalEntity parentFormal : listParent) {
for(BomNewEbomParentFormalEntity parentFormal :listParent){
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId()); List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList); }, bomList);
sumLevel(convertBomList); sumLevel(convertBomList);
//转化为树结构 //转化为树结构
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId()); List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList); nodesList.addAll(nodeList);
for (ForwardReportVO vo : for (ForwardReportVO vo :
nodeList) { nodeList) {
vo.setDeviseName(parentFormal.getDeviseName()); // vo.setDeviseName(parentFormal.getDeviseName());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime()); vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
} }
} }
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType()); return buildReportBomVo(forwardReportVO, nodesList, query.getDataType());
} }
@ -249,12 +281,12 @@ public class EBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
ReportBomVO sumReport() { ReportBomVO sumReport() {
List<BomNewEbomParentFormalEntity> listParent=getParent(); List<BomNewEbomParentFormalEntity> listParent = getParent();
BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0); BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0); ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList=new ArrayList<>(); List<ForwardReportVO> nodesList = new ArrayList<>();
for(BomNewEbomParentFormalEntity parentFormal :listParent) { for (BomNewEbomParentFormalEntity parentFormal : listParent) {
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId()); List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
@ -277,13 +309,10 @@ public class EBomForwardReport extends BaseForwardReport {
} }
} }
return buildReportBomVo(forwardReportVO,nodesList); return buildReportBomVo(forwardReportVO, nodesList);
} }
public ReportBomVO genReport() { public ReportBomVO genReport() {
//单层 //单层
if (query.getQueryType().compareTo(ReportConstant.QueryTypeEnum.SINGLE.getValue()) == 0) { if (query.getQueryType().compareTo(ReportConstant.QueryTypeEnum.SINGLE.getValue()) == 0) {

View File

@ -2,19 +2,25 @@ package com.nflg.product.bomnew.service.domain.PBom;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.extra.spring.SpringUtil; import cn.hutool.extra.spring.SpringUtil;
import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewPbomParentFormalEntity;
import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO; import com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomChildVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomChildVO;
import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentFormalVO; import com.nflg.product.bomnew.pojo.vo.BomNewPbomParentFormalVO;
import com.nflg.product.bomnew.service.BomNewEbomParentFormalService; import com.nflg.product.bomnew.service.BomNewEbomParentFormalService;
import com.nflg.product.bomnew.service.BomNewPbomParentFormalService; import com.nflg.product.bomnew.service.BomNewPbomParentFormalService;
import com.nflg.product.bomnew.service.MaterialMainService;
import com.nflg.product.bomnew.util.ListCommonUtil; import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects;
import java.util.concurrent.RecursiveTask; import java.util.concurrent.RecursiveTask;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -43,24 +49,27 @@ public class PBomFormalTreeTask extends RecursiveTask<List<BomNewPbomParentForma
bomDetail ) { bomDetail ) {
vo.setLevelNum(levelNum); vo.setLevelNum(levelNum);
} }
SpringUtil.getBean(MaterialMainService.class).intiMaterialInfo(bomDetail, EBomConstant.EBOM_IGNORED_FIELDS_INIT_MATERIAL_DEFAULT);
List<Long> bomRowIds=bomDetail.stream().filter(u -> u.getBomRowId()>0 ).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList()); List<Long> bomRowIds=bomDetail.stream().filter(u -> u.getBomRowId()>0 ).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(bomRowIds)) { if (CollUtil.isNotEmpty(bomRowIds)) {
List<BomNewPbomParentFormalEntity> bomlist = SpringUtil.getBean(BomNewPbomParentFormalService.class ).lambdaQuery().in(BomNewPbomParentFormalEntity::getRowId, bomRowIds).list();
Map<Long, BomNewPbomParentFormalEntity> parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewPbomParentFormalEntity::getRowId);
List<BomNewEbomParentFormalEntity > bomlist = SpringUtil.getBean(BomNewEbomParentFormalService.class ).lambdaQuery().in(BomNewEbomParentFormalEntity::getRowId, bomRowIds).list();
Map<Long, BomNewEbomParentFormalEntity> parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewEbomParentFormalEntity::getRowId);
for (BomNewPbomParentFormalVO detailVO : bomDetail) { for (BomNewPbomParentFormalVO detailVO : bomDetail) {
if (parentEntityMap.containsKey(detailVO.getBomRowId())) { if (parentEntityMap.containsKey(detailVO.getBomRowId())) {
BomNewEbomParentFormalEntity ebomParentEntity = parentEntityMap.get(detailVO.getBomRowId()); BomNewPbomParentFormalEntity pbomParentEntity = parentEntityMap.get(detailVO.getBomRowId());
detailVO.setCreatedTime(ebomParentEntity.getCreatedTime()); // detailVO.setCreatedTime(ebomParentEntity.getCreatedTime());
// detailVO.setBomRowId(ebomParentEntity.getRowId()); // detailVO.setBomRowId(ebomParentEntity.getRowId());
detailVO.setSourceRowId(ebomParentEntity.getSourceRowId());
detailVO.setCurrentVersion(ebomParentEntity.getCurrentVersion()); detailVO.setCurrentVersion(pbomParentEntity.getCurrentVersion());
detailVO.setDeviseUserCode(ebomParentEntity.getDeviseUserCode()); detailVO.setDeviseUserCode(pbomParentEntity.getDeviseUserCode());
detailVO.setDeptName(ebomParentEntity.getDeptName()); detailVO.setDeviseName(pbomParentEntity.getDeviseName());
detailVO.setDeviseName(ebomParentEntity.getDeviseName()); detailVO.setDeptName(pbomParentEntity.getDeptName());
detailVO.setBomExist(ebomParentEntity.getBomExist());
detailVO.setBomExist(pbomParentEntity.getBomExist());
detailVO.setExpireEndTime(pbomParentEntity.getReleaseTime());
} }
} }
@ -69,6 +78,26 @@ public class PBomFormalTreeTask extends RecursiveTask<List<BomNewPbomParentForma
} }
//无Bom
BomNewPbomParentFormalEntity pbomParentEntity = SpringUtil.getBean(BomNewPbomParentFormalService.class).lambdaQuery().eq(BomNewPbomParentFormalEntity::getRowId, bomDetail.get(0).getParentRowId()).one();
List<BomNewPbomParentFormalVO> noBomList = bomDetail.stream().filter(u -> Objects.isNull(u.getBomRowId() )||u.getBomRowId() == 0).collect(Collectors.toList());
if(CollUtil.isNotEmpty(noBomList)) {
for (BomNewPbomParentFormalVO detailVO : noBomList) {
// detailVO.setCreatedTime(ebomParentEntity.getCreatedTime());
detailVO.setDeviseUserCode(pbomParentEntity.getDeviseUserCode());
detailVO.setDeptName(pbomParentEntity.getDeptName());
detailVO.setDeviseName(pbomParentEntity.getDeviseName());
detailVO.setDeviseUserCode(pbomParentEntity.getDeviseUserCode());
detailVO.setExpireEndTime(pbomParentEntity.getReleaseTime());
if (MaterialshouldBomExistUtil.checkShouldBomExist(detailVO)) {
detailVO.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
} else {
detailVO.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
}
}
} }
/** /**
@ -87,7 +116,7 @@ public class PBomFormalTreeTask extends RecursiveTask<List<BomNewPbomParentForma
levelNumAdd(); levelNumAdd();
List<Long> childBowIds = bomDetail.stream().filter(u-> u.getBomRowId()!=null && u.getBomRowId() > 0).map(u->u.getBomRowId()).collect(Collectors.toList()); List<Long> childBowIds = bomDetail.stream().filter(u-> u.getBomRowId()!=null && u.getBomRowId() > 0).map(u->u.getBomRowId()).collect(Collectors.toList());
if(CollUtil.isNotEmpty(childBowIds)) { if(CollUtil.isNotEmpty(childBowIds)) {
List<BomNewPbomParentFormalVO> bom = SpringUtil.getBean(BomNewPbomParentFormalService.class).getBaseMapper().getParentChildBatch(childBowIds); List<BomNewPbomParentFormalVO> bom = SpringUtil.getBean(BomNewPbomParentFormalService.class).getParentChildBatch(childBowIds);
PBomFormalTreeTask task = new PBomFormalTreeTask(bom); PBomFormalTreeTask task = new PBomFormalTreeTask(bom);
task.setLevelNum(levelNum); task.setLevelNum(levelNum);
task.fork(); task.fork();

View File

@ -1,5 +1,6 @@
package com.nflg.product.bomnew.service.domain.PBom; package com.nflg.product.bomnew.service.domain.PBom;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
@ -8,6 +9,7 @@ import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nflg.product.base.core.exception.NflgBusinessException; import com.nflg.product.base.core.exception.NflgBusinessException;
import com.nflg.product.bomnew.constant.EBomConstant; import com.nflg.product.bomnew.constant.EBomConstant;
import com.nflg.product.bomnew.constant.OriginalConstant;
import com.nflg.product.bomnew.constant.ReportConstant; import com.nflg.product.bomnew.constant.ReportConstant;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomChildFormalEntity;
import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity; import com.nflg.product.bomnew.pojo.entity.BomNewEbomParentFormalEntity;
@ -18,6 +20,8 @@ import com.nflg.product.bomnew.pojo.vo.*;
import com.nflg.product.bomnew.service.*; import com.nflg.product.bomnew.service.*;
import com.nflg.product.bomnew.service.domain.BaseForwardReport; import com.nflg.product.bomnew.service.domain.BaseForwardReport;
import com.nflg.product.bomnew.service.domain.EBom.EBomFormalTreeTask; import com.nflg.product.bomnew.service.domain.EBom.EBomFormalTreeTask;
import com.nflg.product.bomnew.util.ListCommonUtil;
import com.nflg.product.bomnew.util.MaterialshouldBomExistUtil;
import com.nflg.product.bomnew.util.VersionUtil; import com.nflg.product.bomnew.util.VersionUtil;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
@ -117,30 +121,56 @@ public class PBomForwardReport extends BaseForwardReport {
listParent ) { listParent ) {
List<BomNewPbomParentFormalVO> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId()); List<BomNewPbomParentFormalVO> parentChildList = SpringUtil.getBean(BomNewPbomParentFormalService.class).getParentChild(parentFormal.getRowId());
initMaterialInfo(list); initMaterialInfo(parentChildList);
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(parentChildList)) {
Map<Long, BomNewPbomParentFormalEntity> parentEntityMap=null;
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<Long> bomRowIds = parentChildList.stream().filter(u -> Objects.nonNull(u.getBomRowId()) && u.getBomRowId() > 0).map(BomNewPbomParentFormalVO::getBomRowId).collect(Collectors.toList());
}, list); if(CollUtil.isNotEmpty(bomRowIds)) {
nodesList.addAll(nodeList); List<BomNewPbomParentFormalEntity> bomlist = SpringUtil.getBean(BomNewPbomParentFormalService.class).lambdaQuery().in(BomNewPbomParentFormalEntity::getRowId, bomRowIds).list();
int noNum=1;
for (ForwardReportVO vo :
nodeList) {
vo.setExpireEndTime(parentFormal.getReleaseTime()); parentEntityMap = ListCommonUtil.listToMap(bomlist, BomNewPbomParentFormalEntity::getRowId);
vo.setDeviseName(forwardReportVO.getDeviseName()); }
vo.setCurrentVersion(forwardReportVO.getCurrentVersion());
vo.setLevelNum(1); int noNum = 1;
vo.setOrderNumber(noNum+""); for (BomNewPbomParentFormalVO vo :
noNum++; parentChildList) {
if (Objects.nonNull(parentEntityMap) && parentEntityMap.containsKey(vo.getBomRowId())) {
BomNewPbomParentFormalEntity ebomParentEntity = parentEntityMap.get(vo.getBomRowId());
vo.setExpireEndTime(ebomParentEntity.getReleaseTime());
vo.setDeviseName(ebomParentEntity.getDeviseName());
vo.setDeviseUserCode(ebomParentEntity.getDeviseUserCode());
vo.setCurrentVersion(ebomParentEntity.getCurrentVersion());
vo.setLevelNum(1);
vo.setOrderNumber(noNum + "");
noNum++;
} else {
vo.setLevelNum(1);
vo.setOrderNumber(noNum + "");
vo.setDeviseName(parentFormal.getDeviseName());
vo.setDeviseName(parentFormal.getDeviseUserCode());
vo.setExpireEndTime(parentFormal.getReleaseTime());
if (MaterialshouldBomExistUtil.checkShouldBomExist(vo)) {
vo.setCurrentVersion(OriginalConstant.NO_BOM_VERSION);
} else {
vo.setCurrentVersion(OriginalConstant.DEFAULT_BOM_VERSION);
}
noNum++;
}
} }
} }
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, parentChildList);
nodesList.addAll(nodeList);
} }
return buildReportBomVo(forwardReportVO,nodesList); return buildReportBomVo(forwardReportVO,nodesList);
} }
@ -167,8 +197,6 @@ public class PBomForwardReport extends BaseForwardReport {
queryWrapper.lambda().orderByAsc(BomNewPbomParentFormalEntity::getCurrentVersion); queryWrapper.lambda().orderByAsc(BomNewPbomParentFormalEntity::getCurrentVersion);
List<BomNewPbomParentFormalEntity> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).list(queryWrapper); List<BomNewPbomParentFormalEntity> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).list(queryWrapper);
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
throw new NflgBusinessException(STATE.BusinessError, StrUtil.format("未查到物料编码{}版本信息", query.getMaterialNo())); throw new NflgBusinessException(STATE.BusinessError, StrUtil.format("未查到物料编码{}版本信息", query.getMaterialNo()));
@ -195,7 +223,7 @@ public class PBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
List<BomNewPbomParentFormalVO> bomDetailList(Long bomRowId) { List<BomNewPbomParentFormalVO> bomDetailList(Long bomRowId) {
List<BomNewPbomParentFormalVO> childList = SpringUtil.getBean(BomNewPbomParentFormalService.class).getBaseMapper().getParentChild(bomRowId); List<BomNewPbomParentFormalVO> childList = SpringUtil.getBean(BomNewPbomParentFormalService.class).getParentChild(bomRowId);
PBomFormalTreeTask task = new PBomFormalTreeTask(childList); PBomFormalTreeTask task = new PBomFormalTreeTask(childList);
ForkJoinPool pool = new ForkJoinPool(); ForkJoinPool pool = new ForkJoinPool();
ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task); ForkJoinTask<List<BomNewPbomParentFormalVO>> submit = pool.submit(task);
@ -239,8 +267,8 @@ public class PBomForwardReport extends BaseForwardReport {
nodeList) { nodeList) {
vo.setDeviseName(parentFormal.getDeviseName()); // vo.setDeviseName(parentFormal.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime()); // vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime()); vo.setExpireEndTime(parentFormal.getReleaseTime());
} }

View File

@ -71,10 +71,10 @@
#{rowId} #{rowId}
</foreach> </foreach>
</select> </select>
<select id="getParentChild" resultType="com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO"> <!-- <select id="getParentChild" resultType="com.nflg.product.bomnew.pojo.vo.BomNewEbomParentFormalVO">-->
select *,bom_version_row_id as bom_row_id <!-- select *,bom_version_row_id as bom_row_id-->
from t_bom_new_ebom_child_formal <!-- from t_bom_new_ebom_child_formal-->
where parent_row_id = #{rowId} <!-- where parent_row_id = #{rowId}-->
order by order_number <!-- order by order_number-->
</select> <!-- </select>-->
</mapper> </mapper>

View File

@ -68,12 +68,12 @@
#{rowId} #{rowId}
</foreach> </foreach>
</select> </select>
<select id="getParentChild" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentFormalVO"> <!-- <select id="getParentChild" resultType="com.nflg.product.bomnew.pojo.vo.BomNewPbomParentFormalVO">-->
select *,bom_version_row_id as bom_row_id <!-- select *,bom_version_row_id as bom_row_id-->
from t_bom_new_pbom_child_formal <!-- from t_bom_new_pbom_child_formal-->
where parent_row_id = #{rowId} <!-- where parent_row_id = #{rowId}-->
order by order_number <!-- order by order_number-->
</select> <!-- </select>-->
<!--pbom单层反查--> <!--pbom单层反查-->