|
|
@@ -874,6 +874,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
feeCenterReports.setPid(item.getId());
|
|
|
feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setCurCode(fee.getCurCode());
|
|
|
+ feeCenterReports.setCurCodeC(fee.getCurCode());
|
|
|
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()) &&
|
|
|
@@ -975,6 +977,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
feeCenterReports.setPid(bills.getId());
|
|
|
feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setCurCode(fee.getCurCode());
|
|
|
+ feeCenterReports.setCurCodeC(fee.getCurCode());
|
|
|
Bills finalBills = bills;
|
|
|
List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
.filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills.getId()) &&
|
|
|
@@ -1031,109 +1035,111 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
list.add(0, bills);
|
|
|
} else if (MagicValues.MH.equals(bills.getBillType())) {
|
|
|
// 分单
|
|
|
- Bills details = billsService.getOne(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getId, bills.getMasterId())
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0));
|
|
|
- if (details != null) {
|
|
|
- LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .in(FeeCenter::getPid, bills.getId())
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getIsDeleted, 0);
|
|
|
- if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
|
|
|
- if (!(AuthUtil.getUserRole().contains("应付查看") && AuthUtil.getUserRole().contains("应收查看"))) {
|
|
|
- if (AuthUtil.getUserRole().contains("应付查看")) {
|
|
|
- lambdaQueryWrapper.eq(FeeCenter::getDc, "C");
|
|
|
- } else if (AuthUtil.getUserRole().contains("应收查看")) {
|
|
|
- lambdaQueryWrapper.eq(FeeCenter::getDc, "D");
|
|
|
- }
|
|
|
+ LambdaQueryWrapper<FeeCenter> lambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0);
|
|
|
+ if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
|
|
|
+ if (!(AuthUtil.getUserRole().contains("应付查看") && AuthUtil.getUserRole().contains("应收查看"))) {
|
|
|
+ if (AuthUtil.getUserRole().contains("应付查看")) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getDc, "C");
|
|
|
+ } else if (AuthUtil.getUserRole().contains("应收查看")) {
|
|
|
+ lambdaQueryWrapper.eq(FeeCenter::getDc, "D");
|
|
|
}
|
|
|
}
|
|
|
- List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
- 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);
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
+ 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()) {
|
|
|
- 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("无");
|
|
|
- }
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.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 : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
+ feeCenterReports.setPid(bills.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ feeCenterReports.setDc(fee.getDc());
|
|
|
+ feeCenterReports.setCurCode(fee.getCurCode());
|
|
|
+ feeCenterReports.setCurCodeC(fee.getCurCode());
|
|
|
+ Bills finalBills1 = bills;
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.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> feeCenters = feeCenterList.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 : feeCenters) {
|
|
|
- FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
- feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
- feeCenterReports.setPid(bills.getId());
|
|
|
- feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
- feeCenterReports.setDc(fee.getDc());
|
|
|
- Bills finalBills1 = bills;
|
|
|
- List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.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 = feeCenterList.stream()
|
|
|
- .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.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 = feeCenterList.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.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 = feeCenterList.stream()
|
|
|
- .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.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);
|
|
|
+ List<FeeCenter> feeCenterListUsdD = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.D.equals(e.getDc()) && e.getPid().equals(finalBills1.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));
|
|
|
}
|
|
|
- bills.setFeeCenterList(feeCenterReportList);
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.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 = feeCenterList.stream()
|
|
|
+ .filter(e -> MagicValues.C.equals(e.getDc()) && e.getPid().equals(finalBills1.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);
|
|
|
}
|
|
|
- list.add(bills);
|
|
|
+ bills.setFeeCenterList(feeCenterReportList);
|
|
|
+ }
|
|
|
+ list.add(bills);
|
|
|
+ Bills details = billsService.getOne(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getId, bills.getMasterId())
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0));
|
|
|
+ /*if (details != null) {
|
|
|
LambdaQueryWrapper<FeeCenter> feeCenterLambdaQueryWrapper = new LambdaQueryWrapper<FeeCenter>()
|
|
|
.in(FeeCenter::getPid, details.getId())
|
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -1229,7 +1235,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
details.setFeeCenterList(feeCenterReportList);
|
|
|
}
|
|
|
list.add(0, details);
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
if (!list.isEmpty()) {
|
|
|
for (Bills item : list) {
|
|
|
@@ -1246,7 +1252,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
// 排序
|
|
|
List<FeeCenterReports> feeCentersD = feeCenterReportsD.stream()
|
|
|
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName()))), ArrayList::new));
|
|
|
+ Comparator.comparing(e -> e.getFeeCnName() + e.getBillCorpCnName() + e.getCurCode()))), ArrayList::new));
|
|
|
int countC = 0;
|
|
|
// 遍历应收,并与应付对应
|
|
|
for (int i = 0; i < feeCentersD.size(); i++) {
|
|
|
@@ -1260,7 +1266,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
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);
|
|
|
+ .filter(e -> e.getFeeCnName().equals(feeCentersD.get(finalI).getFeeCnName())
|
|
|
+ && !"1".equals(e.getMark()) && e.getCurCode().equals(feeCentersD.get(finalI).getCurCode()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
if (feeCenterC != null) {
|
|
|
feeCenterC.setMark("1");
|
|
|
feeCenterReports1.setCorpCnName(feeCenterC.getCorpCnName());
|