调整报表

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;
@ExcelColumn("创建时间")
@ExcelColumn(value = "创建时间",format = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime createdTime;
@ExcelColumn("版本过期时间")
@ExcelColumn(value = "版本过期时间",format = "yyyy-MM-dd hh:mm:ss")
private LocalDateTime expireEndTime;
@ExcelColumn("设计人员")

View File

@ -51,28 +51,30 @@ public class EBomForwardReport extends BaseForwardReport {
}
if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, getMaxVersion());
} else {
} else if(query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewEbomParentFormalEntity::getCurrentVersion, query.getBomVersion());
}
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;
}
BomNewEbomParentFormalEntity getParent() {
List<BomNewEbomParentFormalEntity> getParent() {
QueryWrapper<BomNewEbomParentFormalEntity> queryWrapper = buildQuery();
List<BomNewEbomParentFormalEntity> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).list(queryWrapper);
if (CollectionUtil.isEmpty(list)) {
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() {
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<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId());
initMaterialInfo(list);
List<ForwardReportVO> nodeList = null;
List<ForwardReportVO> nodesList = new ArrayList<>();
for(BomNewEbomParentFormalEntity parentFormal:listParent) {
if (CollectionUtil.isNotEmpty(list)) {
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());
List<BomNewEbomParentFormalVO> list = SpringUtil.getBean(BomNewEbomParentFormalService.class).getBaseMapper().getParentChild(parentFormal.getRowId());
initMaterialInfo(list);
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
*/
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<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
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());
}
return buildReportBomVo(forwardReportVO,rootList,query.getDataType());
}
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
}
@ -233,35 +249,35 @@ public class EBomForwardReport extends BaseForwardReport {
* @return
*/
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);
forwardReportVO.setCreatedTime(parentFormal.getConvertToEbomTime());
sumLevel(convertBomList);
List<BomNewEbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
//无子级的数据
List<ForwardReportVO> nodeList = leafMergeMaterialNo(convertBomList);
sumLevel(convertBomList);
//无子级的数据
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList);
AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo :
sumList) {
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
nodesList.addAll(nodeList);
AtomicInteger orderNum = new AtomicInteger();
for (ForwardReportVO vo :
nodeList) {
vo.setLevelNum(1);
vo.setOrderNumber(orderNum.incrementAndGet() + "");
vo.setExpireEndTime(parentFormal.getConvertToEbomTime());
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::getStatus, OriginalStatusEnum.OVER_CONVERT.getValue());
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;
}

View File

@ -55,27 +55,29 @@ public class PBomForwardReport extends BaseForwardReport {
if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.NEW.getValue()) == 0) {
queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, getMaxVersion());
} else {
} else if (query.getVersionStrategy().compareTo(ReportConstant.VersionStrategyEnum.DEFINE.getValue() ) == 0){
queryWrapper.lambda().eq(BomNewPbomParentFormalEntity::getCurrentVersion, query.getBomVersion());
}
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;
}
BomNewPbomParentFormalEntity getParent() {
List<BomNewPbomParentFormalEntity> getParent() {
QueryWrapper<BomNewPbomParentFormalEntity> queryWrapper = buildQuery();
List<BomNewPbomParentFormalEntity> list = SpringUtil.getBean(BomNewPbomParentFormalService.class).list(queryWrapper);
if (CollectionUtil.isEmpty(list)) {
throw new NflgBusinessException(STATE.BusinessError, StrUtil.format("未查到物料编码为{}的数据信息", query.getMaterialNo()));
}
BomNewPbomParentFormalEntity parentFormal = list.get(0);
parentFormal.setLevelNum(null);
parentFormal.setOrderNumber(null);
return parentFormal;
return list;
}
/**
@ -105,28 +107,28 @@ public class PBomForwardReport extends BaseForwardReport {
*/
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);
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime());
List<ForwardReportVO> nodesList=new ArrayList<>();
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());
initMaterialInfo(list);
List<ForwardReportVO> nodeList=null;
if (CollectionUtil.isNotEmpty(list)) {
nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
List<ForwardReportVO> nodeList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, list);
int noNum=1;
nodesList.addAll(nodeList);
int noNum=1;
for (ForwardReportVO vo :
nodeList) {
vo.setCreatedTime(forwardReportVO.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
vo.setDeviseName(forwardReportVO.getDeviseName());
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){
@ -208,37 +212,42 @@ public class PBomForwardReport extends BaseForwardReport {
* @return
*/
ReportBomVO multiReport() {
BomNewPbomParentFormalEntity parentFormal = getParent();
ForwardReportVO forwardReportVO = Convert.convert(ForwardReportVO.class, parentFormal);
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime());
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 ) {
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);
//转化为树结构
List<ForwardReportVO> rootList = showDataStyle(convertBomList, parentFormal.getRowId());
sumLevel(convertBomList);
//转化为树结构
List<ForwardReportVO> nodeList = showDataStyle(convertBomList, parentFormal.getRowId());
nodesList.addAll(nodeList);
for (ForwardReportVO vo :
nodeList) {
for (ForwardReportVO vo :
rootList) {
vo.setDeviseName(parentFormal.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
}
return buildReportBomVo(forwardReportVO,rootList,query.getDataType());
return buildReportBomVo(forwardReportVO,nodesList,query.getDataType());
}
@ -249,30 +258,35 @@ public class PBomForwardReport extends BaseForwardReport {
* @return
*/
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);
forwardReportVO.setCreatedTime(parentFormal.getReleaseTime());
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
List<BomNewPbomParentFormalVO> bomList = bomDetailList(parentFormal.getRowId());
List<ForwardReportVO> convertBomList = Convert.convert(new TypeReference<List<ForwardReportVO>>() {
}, bomList);
sumLevel(convertBomList);
List<ForwardReportVO> sumList =leafMergeMaterialNo(convertBomList);
int noNum=1;
for(ForwardReportVO vo:sumList){
vo.setOrderNumber(noNum+"");noNum++;
sumLevel(convertBomList);
List<ForwardReportVO> nodeList = leafMergeMaterialNo(convertBomList);
nodesList.addAll(nodeList);
int noNum = 1;
for (ForwardReportVO vo : nodeList) {
vo.setOrderNumber(noNum + "");
noNum++;
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
vo.setDeviseName(forwardReportVO.getDeviseName());
vo.setCreatedTime(parentFormal.getCreatedTime());
vo.setExpireEndTime(parentFormal.getReleaseTime());
}
return buildReportBomVo(forwardReportVO,sumList);
}
return buildReportBomVo(forwardReportVO,nodesList);
}