调整报表

This commit is contained in:
jing's 2024-03-19 21:39:43 +08:00
parent adeb6bccff
commit d055077b3f
4 changed files with 153 additions and 119 deletions

View File

@ -71,10 +71,10 @@ public class ForwardReportExcelVO {
private BigDecimal totalWeight; private BigDecimal totalWeight;
@ExcelColumn("创建时间") @ExcelColumn(value = "创建时间",format = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime createdTime; private LocalDateTime createdTime;
@ExcelColumn("版本过期时间") @ExcelColumn(value = "版本过期时间",format = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime expireEndTime; private LocalDateTime expireEndTime;
@ExcelColumn("设计人员") @ExcelColumn("设计人员")

View File

@ -51,28 +51,30 @@ 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 { } else if(query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, query.getBomVersion()); queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, query.getBomVersion());
} }
if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) { if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) {
queryWrapper.lambda().between(BomNewEbomParentFormalEntity::getConvertToEbomTime, query.getStartDate(), query.getEndDate()); queryWrapper.lambda().ge(BomNewEbomParentFormalEntity::getCreatedTime, query.getStartDate())
.le(BomNewEbomParentFormalEntity::getConvertToEbomTime, query.getEndDate());
} }
return queryWrapper; return queryWrapper;
} }
BomNewEbomParentFormalEntity getParent() { List<BomNewEbomParentFormalEntity> getParent() {
QueryWrapper<BomNewEbomParentFormalEntity> queryWrapper = buildQuery(); QueryWrapper<BomNewEbomParentFormalEntity> queryWrapper = buildQuery();
List<BomNewEbomParentFormalEntity> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).list(queryWrapper); List<BomNewEbomParentFormalEntity> list = SpringUtil.getBean(BomNewEbomParentFormalService.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()));
} }
BomNewEbomParentFormalEntity parentFormal = list.get(0);
parentFormal.setLevelNum(null);
parentFormal.setOrderNumber(null);
return parentFormal;
return list;
} }
/** /**
@ -103,37 +105,42 @@ public class EBomForwardReport extends BaseForwardReport {
*/ */
ReportBomVO singleReport() { ReportBomVO singleReport() {
BomNewEbomParentFormalEntity parentFormal = getParent(); List<BomNewEbomParentFormalEntity> listParent=getParent();
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal); BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
forwardReportVO.setCreatedTime(parentFormal.getConvertToEbomTime()); ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId()); List<ForwardReportVO> nodesList = new ArrayList<>();
initMaterialInfo(list); for(BomNewEbomParentFormalEntity parentFormal:listParent) {
List<ForwardReportVO> nodeList = null;
if (CollectionUtil.isNotEmpty(list)) {
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId());
}, list); initMaterialInfo(list);
AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo :
nodeList) {
// vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCurrentVersion(forwardReportVO.getCurrentVersion());
if (CollectionUtil.isNotEmpty(list)) {
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, list);
AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo :
nodeList) {
// vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCurrentVersion(forwardReportVO.getCurrentVersion());
}
nodesList.addAll(nodeList);
// Collections.sort(nodeList, (option0, option1) -> option0.getOrderNumber().compareTo(option1.getOrderNumber()));
} }
// Collections.sort(nodeList, (option0, option1) -> option0.getOrderNumber().compareTo(option1.getOrderNumber()));
} }
return buildReportBomVo(forwardReportVO,nodeList); return buildReportBomVo(forwardReportVO,nodesList);
} }
@ -199,28 +206,37 @@ public class EBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
ReportBomVO multiReport() { ReportBomVO multiReport() {
BomNewEbomParentFormalEntity parentFormal = getParent();
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal);
forwardReportVO.setCreatedTime(parentFormal.getConvertToEbomTime()); List<BomNewEbomParentFormalEntity> listParent=getParent();
BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList=new ArrayList<>();
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> rootList;
//转化为树结构
rootList = showDataStyle(convertBomList, parentFormal.getRowId());
for (ForwardReportVO vo :
rootList) {
vo.setDeviseName(forwardReportVO.getDeviseName()); //转化为树结构
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList);
for (ForwardReportVO vo :
nodeList) {
vo.setDeviseName(parentFormal.getDeviseName());
vo.setExpireEndTime(parentFormal.getConvertToEbomTime()); vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
} }
return buildReportBomVo(forwardReportVO,rootList,query.getDataType());
}
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
} }
@ -233,35 +249,35 @@ public class EBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
ReportBomVO sumReport() { ReportBomVO sumReport() {
List<BomNewEbomParentFormalEntity> listParent=getParent();
BomNewEbomParentFormalEntity parentFormal0 = listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
BomNewEbomParentFormalEntity parentFormal = getParent(); List<ForwardReportVO> nodesList=new ArrayList<>();
for(BomNewEbomParentFormalEntity parentFormal :listParent) {
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal); sumLevel(convertBomList);
forwardReportVO.setCreatedTime(parentFormal.getConvertToEbomTime());
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId()); //无子级的数据
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<ForwardReportVO> nodeList = leafMergeMaterialNo(convertBomList);
}, bomList);
sumLevel(convertBomList); nodesList.addAll(nodeList);
AtomicInteger orderNum = new AtomicInteger();
//无子级的数据 for (ForwardReportVO vo :
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList); nodeList) {
AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo :
sumList) {
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
vo.setDeviseName(forwardReportVO.getDeviseName()); vo.setDeviseName(forwardReportVO.getDeviseName());
}
} }
return buildReportBomVo(forwardReportVO,sumList); return buildReportBomVo(forwardReportVO,nodesList);
} }

View File

@ -48,7 +48,11 @@ public class OriginalBomForwardReport extends BaseForwardReport {
queryWrapper.lambda().eq(BomNewOriginalParentEntity::getLastVersionIs,1); queryWrapper.lambda().eq(BomNewOriginalParentEntity::getLastVersionIs,1);
queryWrapper.lambda().eq(BomNewOriginalParentEntity::getStatus, OriginalStatusEnum.OVER_CONVERT.getValue()); queryWrapper.lambda().eq(BomNewOriginalParentEntity::getStatus, OriginalStatusEnum.OVER_CONVERT.getValue());
if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) { if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) {
queryWrapper.lambda().between(BomNewOriginalParentEntity::getConvertToEbomTime, query.getStartDate(), query.getEndDate());
queryWrapper.lambda().ge(BomNewOriginalParentEntity::getCreatedTime,query.getStartDate())
.le(BomNewOriginalParentEntity::getConvertToEbomTime, query.getEndDate());
} }
return queryWrapper; return queryWrapper;
} }

View File

@ -55,27 +55,29 @@ public class PBomForwardReport extends BaseForwardReport {
if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) { if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, getMaxVersion()); queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, getMaxVersion());
} else { } else if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue() ) == 0){
queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, query.getBomVersion()); queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, query.getBomVersion());
} }
if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) { if (StrUtil.isNotBlank(query.getStartDate()) && StrUtil.isNotBlank(query.getEndDate())) {
queryWrapper.lambda().between(BomNewPbomParentFormalEntity::getReleaseTime, query.getStartDate(), query.getEndDate());
queryWrapper.lambda().ge(BomNewPbomParentFormalEntity::getCreatedTime, query.getStartDate())
.le(BomNewPbomParentFormalEntity::getReleaseTime, query.getEndDate());
} }
return queryWrapper; return queryWrapper;
} }
BomNewPbomParentFormalEntity getParent() { List<BomNewPbomParentFormalEntity> getParent() {
QueryWrapper<BomNewPbomParentFormalEntity> queryWrapper = buildQuery(); QueryWrapper<BomNewPbomParentFormalEntity> queryWrapper = buildQuery();
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()));
} }
BomNewPbomParentFormalEntity parentFormal = list.get(0);
parentFormal.setLevelNum(null);
parentFormal.setOrderNumber(null); return list;
return parentFormal;
} }
/** /**
@ -105,28 +107,28 @@ public class PBomForwardReport extends BaseForwardReport {
*/ */
ReportBomVO singleReport() { ReportBomVO singleReport() {
BomNewPbomParentFormalEntity parentFormal = getParent(); List< BomNewPbomParentFormalEntity> listParent=getParent();
BomNewPbomParentFormalEntity parentFormal0=listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal); List<ForwardReportVO> nodesList=new ArrayList<>();
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime()); for (BomNewPbomParentFormalEntity parentFormal:
listParent ) {
// QueryWrapper<BomNewPbomChildFormalEntity> queryWrapper = new QueryWrapper<>();
// queryWrapper.lambda().eq(BomNewPbomChildFormalEntity::getParentRowId, parentFormal.getRowId());
// List<BomNewPbomChildFormalEntity> list = SpringUtil.getBean(BomNewPbomChildFormalService.class).list(queryWrapper);
List<BomNewPbomParentFormalVO> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId()); List<BomNewPbomParentFormalVO> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId());
initMaterialInfo(list); initMaterialInfo(list);
List<ForwardReportVO> nodeList=null;
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, list); }, list);
int noNum=1; nodesList.addAll(nodeList);
int noNum=1;
for (ForwardReportVO vo : for (ForwardReportVO vo :
nodeList) { nodeList) {
vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime()); vo.setExpireEndTime(parentFormal.getReleaseTime());
vo.setDeviseName(forwardReportVO.getDeviseName()); vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCurrentVersion(forwardReportVO.getCurrentVersion()); vo.setCurrentVersion(forwardReportVO.getCurrentVersion());
@ -138,7 +140,9 @@ public class PBomForwardReport extends BaseForwardReport {
} }
return buildReportBomVo(forwardReportVO,nodeList);
}
return buildReportBomVo(forwardReportVO,nodesList);
} }
void initMaterialInfo( List<BomNewPbomParentFormalVO> list){ void initMaterialInfo( List<BomNewPbomParentFormalVO> list){
@ -208,37 +212,42 @@ public class PBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
ReportBomVO multiReport() { ReportBomVO multiReport() {
BomNewPbomParentFormalEntity parentFormal = getParent();
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal); List< BomNewPbomParentFormalEntity> listParent=getParent();
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime());
BomNewPbomParentFormalEntity parentFormal0=listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList=new ArrayList<>();
for (BomNewPbomParentFormalEntity parentFormal:
listParent ) {
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId()); List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
sumLevel(convertBomList); sumLevel(convertBomList);
//转化为树结构 //转化为树结构
List<ForwardReportVO> rootList = showDataStyle(convertBomList, parentFormal.getRowId()); List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList);
for (ForwardReportVO vo :
nodeList) {
for (ForwardReportVO vo : vo.setDeviseName(parentFormal.getDeviseName());
rootList) { vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
} }
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
return buildReportBomVo(forwardReportVO,rootList,query.getDataType());
} }
@ -249,30 +258,35 @@ public class PBomForwardReport extends BaseForwardReport {
* @return * @return
*/ */
ReportBomVO sumReport() { ReportBomVO sumReport() {
BomNewPbomParentFormalEntity parentFormal = getParent(); List< BomNewPbomParentFormalEntity> listParent=getParent();
BomNewPbomParentFormalEntity parentFormal0=listParent.get(0);
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal0);
List<ForwardReportVO> nodesList=new ArrayList<>();
for (BomNewPbomParentFormalEntity parentFormal:
listParent ) {
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal); List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime()); List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId()); sumLevel(convertBomList);
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() { List<ForwardReportVO> nodeList = leafMergeMaterialNo(convertBomList);
}, bomList); nodesList.addAll(nodeList);
int noNum = 1;
sumLevel(convertBomList); for (ForwardReportVO vo : nodeList) {
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList); vo.setOrderNumber(noNum + "");
int noNum=1; noNum++;
for(ForwardReportVO vo:sumList){ vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setOrderNumber(noNum+"");noNum++; vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
vo.setDeviseName(forwardReportVO.getDeviseName()); }
return buildReportBomVo(forwardReportVO,nodesList);
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
return buildReportBomVo(forwardReportVO,sumList);
} }