|
|
@@ -63,6 +63,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
|
|
|
private final IBCurrencyService ibCurrencyService;
|
|
|
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<ReportsVO> selectReportsPage(IPage<ReportsVO> page, ReportsVO reports) {
|
|
|
return page.setRecords(baseMapper.selectReportsPage(page, reports));
|
|
|
@@ -119,7 +120,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
bills.setGrossMargin(new BigDecimal("0.00"));
|
|
|
}
|
|
|
- if (!"DD".equals(bills.getBillType())) {
|
|
|
+ if ("MM".equals(bills.getBillType())) {
|
|
|
List<Bills> billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getMasterId, bills.getId())
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -139,16 +140,15 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
for (FeeCenter fee : feeCenterList) {
|
|
|
FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
feeCenterReports.setPid(item.getId());
|
|
|
- feeCenterReports.setBillCorpCnName(item.getCorpCnName());
|
|
|
feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
|
|
|
List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
.filter(e -> "D".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
e.getCorpId().equals(fee.getCorpId()))
|
|
|
.collect(Collectors.toList());
|
|
|
if (feeCenterListD.size() > 0) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ 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)
|
|
|
@@ -156,11 +156,11 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
List<FeeCenter> feeCenterListUsdD = feeCenterListMh.stream()
|
|
|
.filter(e -> "D".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
e.getCorpId().equals(fee.getCorpId()))
|
|
|
.collect(Collectors.toList());
|
|
|
if (feeCenterListUsdD.size() > 0) {
|
|
|
- feeCenterReports.setCorpCnName(fee.getCorpCnName());
|
|
|
+ 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)
|
|
|
@@ -168,7 +168,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
List<FeeCenter> feeCenterListC = feeCenterListMh.stream()
|
|
|
.filter(e -> "C".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
e.getCorpId().equals(fee.getCorpId()))
|
|
|
.collect(Collectors.toList());
|
|
|
if (feeCenterListC.size() > 0) {
|
|
|
@@ -180,7 +180,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
List<FeeCenter> feeCenterListUsdC = feeCenterListMh.stream()
|
|
|
.filter(e -> "C".equals(e.getDc()) && e.getPid().equals(item.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
e.getCorpId().equals(fee.getCorpId()))
|
|
|
.collect(Collectors.toList());
|
|
|
if (feeCenterListUsdC.size() > 0) {
|
|
|
@@ -197,76 +197,224 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getPid, bills.getId())
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getIsDeleted, 0));
|
|
|
- if (feeCenterList.size() > 0) {
|
|
|
- List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
- .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
- List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
- for (FeeCenter fee : feeCenters) {
|
|
|
- FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
- feeCenterReports.setPid(bills.getId());
|
|
|
- feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ if (feeCenterList.size() > 0) {
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(bills.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
|
|
|
- List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
- .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (feeCenterListD.size() > 0) {
|
|
|
- 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 -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (feeCenterListUsdD.size() > 0) {
|
|
|
- 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> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ 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 -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ 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> feeCenterListC = feeCenterList.stream()
|
|
|
- .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (feeCenterListC.size() > 0) {
|
|
|
- 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));
|
|
|
+ bills.setFeeCenterList(feeCenterReportList);
|
|
|
+ }
|
|
|
+ list.add(0,bills);
|
|
|
+ } else if ("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){
|
|
|
+ List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ if (feeCenterList.size() > 0) {
|
|
|
+ List<FeeCenter> feeCenters = feeCenterList.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenters) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(bills.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterList.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ 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 -> "D".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ bills.setFeeCenterList(feeCenterReportList);
|
|
|
}
|
|
|
- List<FeeCenter> feeCenterListUsdC = feeCenterList.stream()
|
|
|
- .filter(e -> "C".equals(e.getDc()) && e.getPid().equals(bills.getId()) &&
|
|
|
- e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) &&
|
|
|
- e.getCorpId().equals(fee.getCorpId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- if (feeCenterListUsdC.size() > 0) {
|
|
|
- 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.add(bills);
|
|
|
+ List<FeeCenter> feeCenterListMh = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getPid, details.getId())
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0));
|
|
|
+ List<FeeCenter> feeCenterList1 = feeCenterListMh.stream()
|
|
|
+ .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
+ Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode()))), ArrayList::new));
|
|
|
+ List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
+ for (FeeCenter fee : feeCenterList1) {
|
|
|
+ FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
+ feeCenterReports.setPid(details.getId());
|
|
|
+ feeCenterReports.setFeeCnName(fee.getFeeCnName());
|
|
|
+
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterListMh.stream()
|
|
|
+ .filter(e -> "D".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListD.size() > 0) {
|
|
|
+ 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 -> "D".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdD.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "CNY".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListC.size() > 0) {
|
|
|
+ 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 -> "C".equals(e.getDc()) && e.getPid().equals(details.getId()) &&
|
|
|
+ e.getFeeId().equals(fee.getFeeId()) && "USD".equals(e.getCurCode()) && fee.getCurCode().equals(e.getCurCode()) &&
|
|
|
+ e.getCorpId().equals(fee.getCorpId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if (feeCenterListUsdC.size() > 0) {
|
|
|
+ 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);
|
|
|
+ list.add(0,details);
|
|
|
}
|
|
|
- bills.setFeeCenterList(feeCenterReportList);
|
|
|
}
|
|
|
- list.add(0, bills);
|
|
|
+ map.put("data", list);
|
|
|
+ }
|
|
|
+ } else if ("业务".equals(reportCode) && "MASTER 提单".equals(groupCode)) {
|
|
|
+ Bills bills = billsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+ bills.setFM("jms");
|
|
|
+ bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
|
|
|
+ map.put("data", bills);
|
|
|
+ } else {
|
|
|
+ map.put("data", null);
|
|
|
}
|
|
|
- map.put("data", list);
|
|
|
} else if ("单证".equals(reportCode) && "派车通知单".equals(groupCode)) {
|
|
|
Bills bills = billsService.getById(billId);
|
|
|
if (bills != null) {
|
|
|
@@ -326,8 +474,36 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
}
|
|
|
}
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitLoc = new BigDecimal("0.00");
|
|
|
List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
for (FeeCenter item : feeCenterList) {
|
|
|
+ if ("D".equals(item.getDc())) {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountDr = amountDr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
+ amountDrUsd = amountDrUsd.add(usd);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountCr = amountCr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
+ amountCrUsd = amountCrUsd.add(usd);
|
|
|
+ }
|
|
|
+ }
|
|
|
FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
feeCenterReports.setPid(item.getPid());
|
|
|
feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
@@ -344,6 +520,20 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
feeCenterReportsList.add(feeCenterReports);
|
|
|
}
|
|
|
bills.setFeeCenterList(feeCenterReportsList);
|
|
|
+ amountProfit = amountDr.subtract(amountCr);
|
|
|
+ amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd)).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd)).add(amountCr);
|
|
|
+ amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
List<BCorpsBank> bCorpsBanks = bankService.list(new LambdaQueryWrapper<BCorpsBank>()
|
|
|
.eq(BCorpsBank::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(BCorpsBank::getIsDeleted, 0)
|
|
|
@@ -399,8 +589,36 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
}
|
|
|
}
|
|
|
+ BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfit = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitUsd = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountDrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountCrLoc = new BigDecimal("0.00");
|
|
|
+ BigDecimal amountProfitLoc = new BigDecimal("0.00");
|
|
|
List<FeeCenterReports> feeCenterReportsList = new ArrayList<>();
|
|
|
for (FeeCenter item : feeCenterList) {
|
|
|
+ if ("D".equals(item.getDc())) {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountDr = amountDr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
+ amountDrUsd = amountDrUsd.add(usd);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if ("USD".equals(item.getCurCode())) {
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
+ } else if ("CNY".equals(item.getCurCode())) {
|
|
|
+ amountCr = amountCr.add(item.getAmount());
|
|
|
+ } else {
|
|
|
+ BigDecimal usd = ibCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
+ amountCrUsd = amountCrUsd.add(usd);
|
|
|
+ }
|
|
|
+ }
|
|
|
FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
feeCenterReports.setPid(item.getPid());
|
|
|
feeCenterReports.setCorpCnName(item.getCorpCnName());
|
|
|
@@ -417,6 +635,20 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
feeCenterReportsList.add(feeCenterReports);
|
|
|
}
|
|
|
bills.setFeeCenterList(feeCenterReportsList);
|
|
|
+ amountProfit = amountDr.subtract(amountCr);
|
|
|
+ amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
+ amountDrLoc = amountDrLoc.add(ibCurrencyService.converterCny("USD", amountDrUsd)).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(ibCurrencyService.converterCny("USD", amountCrUsd)).add(amountCr);
|
|
|
+ amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
map.put("data", bills);
|
|
|
} else {
|
|
|
map.put("data", null);
|