|
@@ -761,33 +761,43 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
|
|
|
|
|
|
List<RollClubTwoDetails> rollClubTwoDetailsList = rollClubTwoDetailsService.list(queryWrapper);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubTwoDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollClubTwoDetailsList)) {
|
|
|
statisticsDetailsList1 = rollClubTwoDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollClubTwoDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollClubTwoDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList1.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollClubTwoDetailsList.stream().mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
|
|
|
+ double totalBlankOutputs = rollClubTwoDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollClubTwoDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
+
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
LambdaQueryWrapper<RollClubThreeDetails> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper1.eq(RollClubThreeDetails::getCcmNo, ccmNo);
|
|
|
queryWrapper1.eq(RollClubThreeDetails::getShiftGroup, shiftGroup);
|
|
@@ -804,34 +814,43 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
}
|
|
|
|
|
|
List<RollClubThreeDetails> rollClubThreeDetailsList = rollClubThreeDetailsService.list(queryWrapper1);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubThreeDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollClubThreeDetailsList)) {
|
|
|
statisticsDetailsList2 = rollClubThreeDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollClubThreeDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollClubThreeDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList2.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollClubThreeDetailsList.stream().mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
|
|
|
- BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
+ double totalBlankOutputs = rollClubThreeDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollClubThreeDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
|
|
|
+ BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
LambdaQueryWrapper<RollOutShippDetails> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper2.eq(RollOutShippDetails::getCcmNo, ccmNo);
|
|
|
queryWrapper2.eq(RollOutShippDetails::getShiftGroup, shiftGroup);
|
|
@@ -847,34 +866,43 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
}
|
|
|
}
|
|
|
List<RollOutShippDetails> rollOutShippDetailsList = rollOutShippDetailsService.list(queryWrapper2);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollOutShippDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollOutShippDetailsList)) {
|
|
|
statisticsDetailsList3 = rollOutShippDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollOutShippDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollOutShippDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollOutShippDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList3.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollOutShippDetailsList.stream().mapToDouble(RollOutShippDetails::getBlankOutput).sum();
|
|
|
- BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
+ double totalBlankOutputs = rollOutShippDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollOutShippDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
|
|
|
+ BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 合并三个列表并根据 size 分组统计
|
|
|
List<DestinationStatisticsDetails> mergedList = Stream.of(statisticsDetailsList1, statisticsDetailsList2, statisticsDetailsList3)
|
|
|
.flatMap(Collection::stream) // 将所有列表合并成一个流
|
|
@@ -2715,28 +2743,37 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
}
|
|
|
}
|
|
|
List<RollClubTwoDetails> rollClubTwoDetailsList = rollClubTwoDetailsService.list(queryWrapper);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubTwoDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollClubTwoDetailsList)) {
|
|
|
statisticsDetailsList1 = rollClubTwoDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollClubTwoDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollClubTwoDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList1.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollClubTwoDetailsList.stream().mapToDouble(RollClubTwoDetails::getBlankOutput).sum();
|
|
|
+ double totalBlankOutputs = rollClubTwoDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollClubTwoDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
+
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
@@ -2824,35 +2861,44 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
}
|
|
|
}
|
|
|
List<RollClubThreeDetails> rollClubThreeDetailsList = rollClubThreeDetailsService.list(queryWrapper1);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollClubThreeDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollClubThreeDetailsList)) {
|
|
|
statisticsDetailsList2 = rollClubThreeDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollClubThreeDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollClubThreeDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList2.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollClubThreeDetailsList.stream().mapToDouble(RollClubThreeDetails::getBlankOutput).sum();
|
|
|
- BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
+ double totalBlankOutputs = rollClubThreeDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollClubThreeDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
|
|
|
+ BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
// 合并列表并根据 size 分组统计
|
|
|
List<DestinationStatisticsDetails> mergedList = Stream.of(statisticsDetailsList2)
|
|
|
.flatMap(Collection::stream) // 将所有列表合并成一个流
|
|
@@ -2934,34 +2980,43 @@ public class StorageBillServiceImpl extends ServiceImpl<StorageBillMapper, Stora
|
|
|
}
|
|
|
}
|
|
|
List<RollOutShippDetails> rollOutShippDetailsList = rollOutShippDetailsService.list(queryWrapper2);
|
|
|
- if (oConvertUtils.listIsNotEmpty(rollOutShippDetailsList)){
|
|
|
+ if (oConvertUtils.listIsNotEmpty(rollOutShippDetailsList)) {
|
|
|
statisticsDetailsList3 = rollOutShippDetailsList.stream()
|
|
|
+ // 过滤掉 stackAddr 不为空的记录
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty())
|
|
|
.collect(Collectors.groupingBy(RollOutShippDetails::getSize, Collectors.toList()))
|
|
|
.entrySet().stream()
|
|
|
.map(entry -> {
|
|
|
String size = entry.getKey();
|
|
|
List<RollOutShippDetails> group = entry.getValue();
|
|
|
- // 统计总支数,如果 stackAddr 不为空,则乘以 4
|
|
|
- int nums = group.stream()
|
|
|
- .mapToInt(detail -> (detail.getStackAddr() != null && !detail.getStackAddr().isEmpty()) ? 4 : 1)
|
|
|
- .sum();
|
|
|
+
|
|
|
+ // 统计总支数,过滤后 stackAddr 均为空,直接按 1 计算
|
|
|
+ int nums = group.size();
|
|
|
+
|
|
|
Double totalBlankOutput = group.stream().mapToDouble(RollOutShippDetails::getBlankOutput).sum();
|
|
|
BigDecimal bd = BigDecimal.valueOf(totalBlankOutput).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
double finalBlankOutput = bd.doubleValue();
|
|
|
+
|
|
|
String ccmNos = group.isEmpty() ? null : group.get(0).getCcmNo();
|
|
|
return new DestinationStatisticsDetails(size, nums, finalBlankOutput, ccmNos);
|
|
|
}).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 计算总数时,同样过滤 stackAddr 不为空的记录
|
|
|
int totalNums = statisticsDetailsList3.stream()
|
|
|
.mapToInt(DestinationStatisticsDetails::getNums)
|
|
|
.sum();
|
|
|
|
|
|
- double totalBlankOutputs = rollOutShippDetailsList.stream().mapToDouble(RollOutShippDetails::getBlankOutput).sum();
|
|
|
- BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
+ double totalBlankOutputs = rollOutShippDetailsList.stream()
|
|
|
+ .filter(detail -> detail.getStackAddr() == null || detail.getStackAddr().isEmpty()) // 过滤
|
|
|
+ .mapToDouble(RollOutShippDetails::getBlankOutput)
|
|
|
+ .sum();
|
|
|
|
|
|
+ BigDecimal bd = BigDecimal.valueOf(totalBlankOutputs).setScale(4, BigDecimal.ROUND_HALF_UP);
|
|
|
totalNumsAll += totalNums;
|
|
|
totalBlankOutputsAll = totalBlankOutputsAll.add(bd);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 合并三个列表并根据 size 分组统计
|
|
|
List<DestinationStatisticsDetails> mergedList = Stream.of(statisticsDetailsList3)
|
|
|
.flatMap(Collection::stream) // 将所有列表合并成一个流
|