|
|
@@ -779,92 +779,91 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
}
|
|
|
List<FeeCenter> feeCenterListMh = feeCenterService.list(lambdaQueryWrapper);
|
|
|
- if (feeCenterListMh.isEmpty()) {
|
|
|
- throw new RuntimeException("请先维护费用信息");
|
|
|
- }
|
|
|
- allFeeCenter.addAll(feeCenterListMh);
|
|
|
- for (FeeCenter item : feeCenterListMh) {
|
|
|
- if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
- item.setCorpCnName(item.getShortName());
|
|
|
- } else {
|
|
|
- item.setCorpCnName("无");
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
- item.setBillCorpCnName(item.getBillShortName());
|
|
|
- } else {
|
|
|
- item.setBillCorpCnName("无");
|
|
|
- }
|
|
|
- }
|
|
|
- for (Bills item : billsList) {
|
|
|
- this.dictionaryConversion(item);
|
|
|
- List<FeeCenter> feeD = feeCenterListMh.stream().filter(e -> MagicValues.D.equals(e.getDc()) &&
|
|
|
- e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
- item.setFeeCenterListD(feeD);
|
|
|
- List<FeeCenter> feeC = feeCenterListMh.stream().filter(e -> MagicValues.C.equals(e.getDc()) &&
|
|
|
- e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
- item.setFeeCenterListC(feeC);
|
|
|
- List<FeeCenter> feeCenterList = feeCenterListMh.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode() + f.getDc()))), ArrayList::new));
|
|
|
- List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
- for (FeeCenter fee : feeCenterList) {
|
|
|
- FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
- feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
- feeCenterReports.setPid(item.getId());
|
|
|
- feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports.setDc(fee.getDc());
|
|
|
- List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListD.isEmpty()) {
|
|
|
- feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListUsdD.isEmpty()) {
|
|
|
- feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (!feeCenterListMh.isEmpty()) {
|
|
|
+ allFeeCenter.addAll(feeCenterListMh);
|
|
|
+ for (FeeCenter item : feeCenterListMh) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
+ item.setCorpCnName(item.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setCorpCnName("无");
|
|
|
}
|
|
|
- List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListC.isEmpty()) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
+ item.setBillCorpCnName(item.getBillShortName());
|
|
|
+ } else {
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
}
|
|
|
- List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListUsdC.isEmpty()) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ for (Bills item : billsList) {
|
|
|
+ this.dictionaryConversion(item);
|
|
|
+ List<FeeCenter> feeD = feeCenterListMh.stream().filter(e -> MagicValues.D.equals(e.getDc()) &&
|
|
|
+ e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ item.setFeeCenterListD(feeD);
|
|
|
+ List<FeeCenter> feeC = feeCenterListMh.stream().filter(e -> MagicValues.C.equals(e.getDc()) &&
|
|
|
+ e.getPid().equals(item.getId())).collect(Collectors.toList());
|
|
|
+ item.setFeeCenterListC(feeC);
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterListMh.stream().filter(e -> e.getPid().equals(item.getId()))
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode() + f.getDc()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenterList) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
+ feeCenterReports.setPid(item.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListD.isEmpty()) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListUsdD.isEmpty()) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListUsdC.isEmpty()) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
}
|
|
|
- feeCenterReportList.add(feeCenterReports);
|
|
|
+ item.setFeeCenterList(feeCenterReportList);
|
|
|
+ list.add(item);
|
|
|
}
|
|
|
- item.setFeeCenterList(feeCenterReportList);
|
|
|
- list.add(item);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -883,25 +882,24 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
- allFeeCenter.addAll(feeCenterList);
|
|
|
- List<FeeCenter> feeD = feeCenterList.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- bills.setFeeCenterListD(feeD);
|
|
|
- List<FeeCenter> feeC = feeCenterList.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- bills.setFeeCenterListC(feeC);
|
|
|
-
|
|
|
- for (FeeCenter item : feeCenterList) {
|
|
|
- if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
- item.setCorpCnName(item.getShortName());
|
|
|
- } else {
|
|
|
- item.setCorpCnName("无");
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
- item.setBillCorpCnName(item.getBillShortName());
|
|
|
- } else {
|
|
|
- item.setBillCorpCnName("无");
|
|
|
- }
|
|
|
- }
|
|
|
if (!feeCenterList.isEmpty()) {
|
|
|
+ allFeeCenter.addAll(feeCenterList);
|
|
|
+ List<FeeCenter> feeD = feeCenterList.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ bills.setFeeCenterListD(feeD);
|
|
|
+ List<FeeCenter> feeC = feeCenterList.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ bills.setFeeCenterListC(feeC);
|
|
|
+ for (FeeCenter item : feeCenterList) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
+ item.setCorpCnName(item.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setCorpCnName("无");
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
+ item.setBillCorpCnName(item.getBillShortName());
|
|
|
+ } else {
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
+ }
|
|
|
+ }
|
|
|
// 提取汇率
|
|
|
bills.setRate(feeCenterList.get(0).getExrate());
|
|
|
List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
@@ -966,8 +964,6 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
feeCenterReportList.add(feeCenterReports);
|
|
|
}
|
|
|
bills.setFeeCenterList(feeCenterReportList);
|
|
|
- } else {
|
|
|
- throw new RuntimeException("请先维护费用");
|
|
|
}
|
|
|
list.add(0, bills);
|
|
|
} else if (MagicValues.MH.equals(bills.getBillType())) {
|
|
|
@@ -991,14 +987,13 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
- if (feeCenterList.isEmpty()) {
|
|
|
- throw new RuntimeException("请先维护费用信息");
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ allFeeCenter.addAll(feeCenterList);
|
|
|
+ List<FeeCenter> feeD = feeCenterList.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ bills.setFeeCenterListD(feeD);
|
|
|
+ List<FeeCenter> feeC = feeCenterList.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ bills.setFeeCenterListC(feeC);
|
|
|
}
|
|
|
- allFeeCenter.addAll(feeCenterList);
|
|
|
- List<FeeCenter> feeD = feeCenterList.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- bills.setFeeCenterListD(feeD);
|
|
|
- List<FeeCenter> feeC = feeCenterList.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- bills.setFeeCenterListC(feeC);
|
|
|
if (!feeCenterList.isEmpty()) {
|
|
|
for (FeeCenter item : feeCenterList) {
|
|
|
if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
@@ -1090,153 +1085,157 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
List<FeeCenter> feeCenterListMh = feeCenterService.list(feeCenterLambdaQueryWrapper);
|
|
|
- allFeeCenter.addAll(feeCenterListMh);
|
|
|
- List<FeeCenter> feeD2 = feeCenterListMh.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- details.setFeeCenterListD(feeD2);
|
|
|
- List<FeeCenter> feeC2 = feeCenterListMh.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- details.setFeeCenterListC(feeC2);
|
|
|
- for (FeeCenter item : feeCenterListMh) {
|
|
|
- if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
- item.setCorpCnName(item.getShortName());
|
|
|
- } else {
|
|
|
- item.setCorpCnName("无");
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
- item.setBillCorpCnName(item.getBillShortName());
|
|
|
- } else {
|
|
|
- item.setBillCorpCnName("无");
|
|
|
- }
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterList1 = feeCenterListMh.stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode() + f.getDc()))), ArrayList::new));
|
|
|
- List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
- for (FeeCenter fee : feeCenterList1) {
|
|
|
- FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
- feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
- feeCenterReports.setPid(details.getId());
|
|
|
- feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports.setDc(fee.getDc());
|
|
|
- List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListD.isEmpty()) {
|
|
|
- feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListUsdD.isEmpty()) {
|
|
|
- feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListC.isEmpty()) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (!feeCenterListMh.isEmpty()) {
|
|
|
+ allFeeCenter.addAll(feeCenterListMh);
|
|
|
+ List<FeeCenter> feeD2 = feeCenterListMh.stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ details.setFeeCenterListD(feeD2);
|
|
|
+ List<FeeCenter> feeC2 = feeCenterListMh.stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ details.setFeeCenterListC(feeC2);
|
|
|
+ for (FeeCenter item : feeCenterListMh) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getShortName())) {
|
|
|
+ item.setCorpCnName(item.getShortName());
|
|
|
+ } else {
|
|
|
+ item.setCorpCnName("无");
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(item.getBillShortName())) {
|
|
|
+ item.setBillCorpCnName(item.getBillShortName());
|
|
|
+ } else {
|
|
|
+ item.setBillCorpCnName("无");
|
|
|
+ }
|
|
|
}
|
|
|
- List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (!feeCenterListUsdC.isEmpty()) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
- feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ List<FeeCenter> feeCenterList1 = feeCenterListMh.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode() + f.getDc()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenterList1) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
+ feeCenterReports.setPid(details.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListD.isEmpty()) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountD(feeCenterListD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListUsdD.isEmpty()) {
|
|
|
+ feeCenterReports.setBillCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdD(feeCenterListUsdD.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocD(feeCenterListUsdD.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountC(feeCenterListC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && !exrateType.equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (!feeCenterListUsdC.isEmpty()) {
|
|
|
+ feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ feeCenterReports.setAmountUsdC(feeCenterListUsdC.stream().map(FeeCenter::getAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ feeCenterReports.setAmountLocC(feeCenterListUsdC.stream().map(FeeCenter::getAmountLoc)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ feeCenterReportList.add(feeCenterReports);
|
|
|
}
|
|
|
- feeCenterReportList.add(feeCenterReports);
|
|
|
+ details.setFeeCenterList(feeCenterReportList);
|
|
|
}
|
|
|
- details.setFeeCenterList(feeCenterReportList);
|
|
|
list.add(0, details);
|
|
|
}
|
|
|
}
|
|
|
if (!list.isEmpty()) {
|
|
|
for (Bills item : list) {
|
|
|
- List<FeeCenterReports> feeCenterReports = new ArrayList<>();
|
|
|
- // 应收
|
|
|
- List<FeeCenterReports> feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
- item.getFeeCenterList().stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- // 应付
|
|
|
- List<FeeCenterReports> feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
- item.getFeeCenterList().stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
- // 排序
|
|
|
- List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
- int countC = 0;
|
|
|
- // 遍历应收,并与应付对应
|
|
|
- for (int i = 0; i < feeCentersD.size(); i++) {
|
|
|
- FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setFeeCnName(feeCentersD.get(i).getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(feeCentersD.get(i).getHblno());
|
|
|
- feeCenterReports1.setPid(feeCentersD.get(i).getPid());
|
|
|
- int finalI = i;
|
|
|
- feeCenterReports1.setBillCorpCnName(feeCentersD.get(i).getBillCorpCnName());
|
|
|
- feeCenterReports1.setAmountD(feeCentersD.get(i).getAmountD());
|
|
|
- feeCenterReports1.setAmountLocD(feeCentersD.get(i).getAmountLocD());
|
|
|
- feeCenterReports1.setAmountUsdD(feeCentersD.get(i).getAmountUsdD());
|
|
|
- FeeCenterReports feeCenterC = feeCenterReportsC.stream()
|
|
|
- .filter(e -> e.getFeeCnName().equals(feeCentersD.get(finalI).getFeeCnName()) && !"1".equals(e.getMark())).findFirst().orElse(null);
|
|
|
- if (feeCenterC != null) {
|
|
|
- feeCenterC.setMark("1");
|
|
|
- feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
- feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
- countC++;
|
|
|
- }
|
|
|
- feeCenterReports.add(feeCenterReports1);
|
|
|
- }
|
|
|
- // 如果存在未对应的应付,添加应付费用
|
|
|
- if (countC < feeCenterReportsC.size()) {
|
|
|
- List<FeeCenterReports> feeCe = feeCenterReportsC.stream()
|
|
|
- .filter(e -> !"1".equals(e.getMark())).collect(Collectors.toList());
|
|
|
- for (FeeCenterReports i : feeCe) {
|
|
|
+ if (ObjectUtils.isNotNull(item.getFeeCenterList()) && !item.getFeeCenterList().isEmpty()) {
|
|
|
+ List<FeeCenterReports> feeCenterReports = new ArrayList<>();
|
|
|
+ // 应收
|
|
|
+ List<FeeCenterReports> feeCenterReportsD = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
+ item.getFeeCenterList().stream().filter(e -> MagicValues.D.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ // 应付
|
|
|
+ List<FeeCenterReports> feeCenterReportsC = item.getFeeCenterList().stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList()) == null ? new ArrayList<>() :
|
|
|
+ item.getFeeCenterList().stream().filter(e -> MagicValues.C.equals(e.getDc())).collect(Collectors.toList());
|
|
|
+ // 排序
|
|
|
+ List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
+ int countC = 0;
|
|
|
+ // 遍历应收,并与应付对应
|
|
|
+ for (int i = 0; i < feeCentersD.size(); i++) {
|
|
|
FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
- feeCenterReports1.setCorpCnName(i.getCorpCnName());
|
|
|
- feeCenterReports1.setFeeCnName(i.getFeeCnName());
|
|
|
- feeCenterReports1.setHblno(i.getHblno());
|
|
|
- feeCenterReports1.setPid(i.getPid());
|
|
|
- feeCenterReports1.setAmountC(i.getAmountC());
|
|
|
- feeCenterReports1.setAmountLocC(i.getAmountLocC());
|
|
|
- feeCenterReports1.setAmountUsdC(i.getAmountUsdC());
|
|
|
+ feeCenterReports1.setFeeCnName(feeCentersD.get(i).getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(feeCentersD.get(i).getHblno());
|
|
|
+ feeCenterReports1.setPid(feeCentersD.get(i).getPid());
|
|
|
+ int finalI = i;
|
|
|
+ feeCenterReports1.setBillCorpCnName(feeCentersD.get(i).getBillCorpCnName());
|
|
|
+ feeCenterReports1.setAmountD(feeCentersD.get(i).getAmountD());
|
|
|
+ feeCenterReports1.setAmountLocD(feeCentersD.get(i).getAmountLocD());
|
|
|
+ feeCenterReports1.setAmountUsdD(feeCentersD.get(i).getAmountUsdD());
|
|
|
+ FeeCenterReports feeCenterC = feeCenterReportsC.stream()
|
|
|
+ .filter(e -> e.getFeeCnName().equals(feeCentersD.get(finalI).getFeeCnName()) && !"1".equals(e.getMark())).findFirst().orElse(null);
|
|
|
+ if (feeCenterC != null) {
|
|
|
+ feeCenterC.setMark("1");
|
|
|
+ feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|
|
|
+ feeCenterReports1.setAmountC(feeCenterC.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(feeCenterC.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(feeCenterC.getAmountUsdC());
|
|
|
+ countC++;
|
|
|
+ }
|
|
|
feeCenterReports.add(feeCenterReports1);
|
|
|
}
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(item.getAmountProfitLoc()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
|
|
|
- if (item.getAmountProfitLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
|
|
|
- item.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
|
|
|
- item.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
+ // 如果存在未对应的应付,添加应付费用
|
|
|
+ if (countC < feeCenterReportsC.size()) {
|
|
|
+ List<FeeCenterReports> feeCe = feeCenterReportsC.stream()
|
|
|
+ .filter(e -> !"1".equals(e.getMark())).collect(Collectors.toList());
|
|
|
+ for (FeeCenterReports i : feeCe) {
|
|
|
+ FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
+ feeCenterReports1.setCorpCnName(i.getCorpCnName());
|
|
|
+ feeCenterReports1.setFeeCnName(i.getFeeCnName());
|
|
|
+ feeCenterReports1.setHblno(i.getHblno());
|
|
|
+ feeCenterReports1.setPid(i.getPid());
|
|
|
+ feeCenterReports1.setAmountC(i.getAmountC());
|
|
|
+ feeCenterReports1.setAmountLocC(i.getAmountLocC());
|
|
|
+ feeCenterReports1.setAmountUsdC(i.getAmountUsdC());
|
|
|
+ feeCenterReports.add(feeCenterReports1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtils.isNotNull(item.getAmountProfitLoc()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
|
|
|
+ if (item.getAmountProfitLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
|
|
|
+ item.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
|
|
|
+ item.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
+ } else {
|
|
|
+ item.setGrossMargin(item.getAmountProfitLoc().divide(item.getAmountDrLoc(), 4, RoundingMode.HALF_UP));
|
|
|
+ }
|
|
|
} else {
|
|
|
- item.setGrossMargin(item.getAmountProfitLoc().divide(item.getAmountDrLoc(), 4, RoundingMode.HALF_UP));
|
|
|
+ item.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
}
|
|
|
- } else {
|
|
|
- item.setGrossMargin(new BigDecimal(MagicValues.ZERO));
|
|
|
+ item.setFeeCenterList(feeCenterReports);
|
|
|
}
|
|
|
- item.setFeeCenterList(feeCenterReports);
|
|
|
item.setDept(dept);
|
|
|
}
|
|
|
}
|
|
|
@@ -1286,7 +1285,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
containersReportsList.add(containersReports);
|
|
|
- text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
|
|
|
+ text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/").append(item.getCntrTypeCode()).append("<br/>")
|
|
|
.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
|
|
|
.append(item.getGrossWeight()).append("KGS").append("/")
|
|
|
.append(item.getMeasurement()).append("CBM").append("<br/>");
|
|
|
@@ -1335,7 +1334,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
StringBuilder text = new StringBuilder();
|
|
|
StringBuilder cntrSealNo = new StringBuilder();
|
|
|
for (Containers item : containersList) {
|
|
|
- text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
|
|
|
+ text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/").append(item.getCntrTypeCode()).append("<br/>")
|
|
|
.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
|
|
|
.append(item.getGrossWeight()).append("KGS").append("/")
|
|
|
.append(item.getMeasurement()).append("CBM").append("<br/>");
|
|
|
@@ -2104,7 +2103,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
bills.setContainersList(containersList);
|
|
|
StringBuilder text = new StringBuilder();
|
|
|
for (Containers item : containersList) {
|
|
|
- text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
|
|
|
+ text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/").append(item.getCntrTypeCode()).append("<br/>")
|
|
|
.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
|
|
|
.append(item.getGrossWeight()).append("KGS").append("/")
|
|
|
.append(item.getMeasurement()).append("CBM").append("<br/>");
|
|
|
@@ -3615,7 +3614,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
mailDto.setMailBcc(generateMailVo.getSendBcc());
|
|
|
mailDto.setMailTitle(generateMailVo.getMailTitle());
|
|
|
mailDto.setMailContent(generateMailVo.getMailContent());
|
|
|
- mailDto.setMailFilePath(Arrays.asList(filePath));
|
|
|
+ List<String> fileList = generateMailVo.getFileList();
|
|
|
+ if (ObjectUtils.isNull(fileList)) {
|
|
|
+ fileList = new ArrayList<>();
|
|
|
+ }
|
|
|
+ fileList.add(filePath);
|
|
|
+ mailDto.setMailFilePath(fileList);
|
|
|
SendMailUtil.sendHtmlFileMail(mailDto);
|
|
|
return R.data("发送成功");
|
|
|
}
|