|
@@ -178,18 +178,28 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
|
|
|
));
|
|
|
}
|
|
|
|
|
|
- // 7. 遍历当前页 StorageBill,计算 amountTotal 和 assemblyNumber
|
|
|
+ // 7. 遍历 StorageBill,填充 amountTotal 和 assemblyNumber
|
|
|
for (StorageBill bill : records) {
|
|
|
List<BilletAutoTmp> relatedBillets = tmpMap.getOrDefault(bill.getId(), Collections.emptyList());
|
|
|
|
|
|
- // 计算 amountTotal
|
|
|
+ // ---- 计算 amountTotal ----
|
|
|
long count = relatedBillets.stream()
|
|
|
.mapToLong(tmp -> StringUtils.isNotBlank(tmp.getStackAddr()) ? 4L : 1L)
|
|
|
.sum();
|
|
|
bill.setAmountTotal(Optional.ofNullable(bill.getAmountTotal()).orElse(0) + (int) count);
|
|
|
|
|
|
- // 拼接 assemblyNumber
|
|
|
- String assemblyNumbers = relatedBillets.stream()
|
|
|
+ // ---- 拼接 assemblyNumber,确保无重复 ----
|
|
|
+ Set<String> assemblySet = new LinkedHashSet<>();
|
|
|
+
|
|
|
+ // 原始的 bill.getAssemblyNumber()
|
|
|
+ Optional.ofNullable(bill.getAssemblyNumber())
|
|
|
+ .ifPresent(old -> Arrays.stream(old.replaceAll(",", ",").split(","))
|
|
|
+ .map(String::trim)
|
|
|
+ .filter(StringUtils::isNotBlank)
|
|
|
+ .forEach(assemblySet::add));
|
|
|
+
|
|
|
+ // 新查询到的 assemblyNumbers
|
|
|
+ relatedBillets.stream()
|
|
|
.map(BilletAutoTmp::getBilletNo)
|
|
|
.filter(StringUtils::isNotBlank)
|
|
|
.flatMap(bn -> Arrays.stream(bn.split(",")))
|
|
@@ -197,16 +207,14 @@ public class StorageBillController extends JeecgController<StorageBill, IStorage
|
|
|
.filter(StringUtils::isNotBlank)
|
|
|
.map(billetToAssemblyMap::get)
|
|
|
.filter(Objects::nonNull)
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.joining(","));
|
|
|
+ .forEach(assemblySet::add);
|
|
|
|
|
|
- if (StringUtils.isNotBlank(assemblyNumbers)) {
|
|
|
- bill.setAssemblyNumber(StringUtils.isNotBlank(bill.getAssemblyNumber())
|
|
|
- ? bill.getAssemblyNumber() + "," + assemblyNumbers
|
|
|
- : assemblyNumbers);
|
|
|
- }
|
|
|
+ // 拼接回 bill
|
|
|
+ String mergedAssemblyNumbers = String.join(",", assemblySet);
|
|
|
+ bill.setAssemblyNumber(mergedAssemblyNumbers);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 8. 填充车次编号与交班记录信息
|
|
|
storageBillService.fillCarNumbersAndShiftInfo(records);
|
|
|
|