|
|
@@ -192,546 +192,547 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
throw new RuntimeException("获取报表表头数据失败");
|
|
|
}
|
|
|
- if (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type)) {
|
|
|
- return this.getReportDataHY(billId, reportCode, groupCode, corpIds, itemIds, type, curCode);
|
|
|
- } else if (MagicValues.AMEND.equals(type)) {
|
|
|
- return this.getReportDataAmend(billId, reportCode, groupCode, corpIds, itemIds, type, curCode);
|
|
|
- } else {
|
|
|
- if (MagicValues.PAID_APPLICATION.equals(reportCode) && MagicValues.PAID_APPLICATION.equals(groupCode)) {
|
|
|
- FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- finStlBills.setBankAccountBank(finStlBills.getBankAccountBank() + "/" + finStlBills.getBankAccountNo());
|
|
|
- if (agreementPriceService.count(new LambdaQueryWrapper<AgreementPrice>()
|
|
|
- .eq(AgreementPrice::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(AgreementPrice::getIsDeleted, 0)
|
|
|
- .eq(AgreementPrice::getStatus, 0)
|
|
|
- .eq(AgreementPrice::getCorpId, finStlBills.getCorpId())) > 0) {
|
|
|
- finStlBills.setAgreement("是");
|
|
|
- } else {
|
|
|
- finStlBills.setAgreement("否");
|
|
|
- }
|
|
|
- BigDecimal amountC = new BigDecimal(MagicValues.ZERO);
|
|
|
- BigDecimal amountC1 = new BigDecimal(MagicValues.ZERO);
|
|
|
- BigDecimal amountD = new BigDecimal(MagicValues.ZERO);
|
|
|
- BigDecimal amountD1 = new BigDecimal(MagicValues.ZERO);
|
|
|
- List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getIsDeleted, 0)
|
|
|
- .eq(FeeCenter::getDc, MagicValues.C)
|
|
|
- .eq(FeeCenter::getAccStatus, MagicValues.ONE)
|
|
|
- .apply("amount != stl_ttl_amount")
|
|
|
- .eq(FeeCenter::getCorpId, finStlBills.getCorpId()));
|
|
|
- if (!feeCenterListC.isEmpty()) {
|
|
|
- amountC = feeCenterListC.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- amountC1 = feeCenterListC.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- }
|
|
|
- List<FeeCenter> feeCenterListD = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getIsDeleted, 0)
|
|
|
- .eq(FeeCenter::getDc, MagicValues.D)
|
|
|
- .eq(FeeCenter::getAccStatus, MagicValues.ONE)
|
|
|
- .apply("amount != stl_ttl_amount")
|
|
|
- .eq(FeeCenter::getCorpId, finStlBills.getCorpId()));
|
|
|
- if (!feeCenterListD.isEmpty()) {
|
|
|
- amountD = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- amountD1 = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- }
|
|
|
- BigDecimal amount = amountD.subtract(amountD1);
|
|
|
- BigDecimal amount1 = amountC.subtract(amountC1);
|
|
|
- if (amount.subtract(amount1).compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
- finStlBills.setAmountOwed("是");
|
|
|
- } else {
|
|
|
- finStlBills.setAmountOwed("否");
|
|
|
- }
|
|
|
+ if ((MagicValues.COST_APPLY_MODIFY.equals(groupCode) || MagicValues.COST_APPLY_DELETE.equals(groupCode))) {
|
|
|
+ FeeCenterUpdateRecord feeCenterUpdateRecord = feeCenterUpdateRecordService.getById(billId);
|
|
|
+ if (feeCenterUpdateRecord != null) {
|
|
|
+ feeCenterUpdateRecord.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, feeCenterUpdateRecord);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type)) {
|
|
|
+ return this.getReportDataHY(billId, reportCode, groupCode, corpIds, itemIds, type, curCode);
|
|
|
+ } else if (MagicValues.AMEND.equals(type)) {
|
|
|
+ return this.getReportDataAmend(billId, reportCode, groupCode, corpIds, itemIds, type, curCode);
|
|
|
+ } else {
|
|
|
+ if (MagicValues.PAID_APPLICATION.equals(reportCode) && MagicValues.PAID_APPLICATION.equals(groupCode)) {
|
|
|
+ FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ finStlBills.setBankAccountBank(finStlBills.getBankAccountBank() + "/" + finStlBills.getBankAccountNo());
|
|
|
+ if (agreementPriceService.count(new LambdaQueryWrapper<AgreementPrice>()
|
|
|
+ .eq(AgreementPrice::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AgreementPrice::getIsDeleted, 0)
|
|
|
+ .eq(AgreementPrice::getStatus, 0)
|
|
|
+ .eq(AgreementPrice::getCorpId, finStlBills.getCorpId())) > 0) {
|
|
|
+ finStlBills.setAgreement("是");
|
|
|
+ } else {
|
|
|
+ finStlBills.setAgreement("否");
|
|
|
+ }
|
|
|
+ BigDecimal amountC = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountC1 = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountD = new BigDecimal(MagicValues.ZERO);
|
|
|
+ BigDecimal amountD1 = new BigDecimal(MagicValues.ZERO);
|
|
|
+ List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getDc, MagicValues.C)
|
|
|
+ .eq(FeeCenter::getAccStatus, MagicValues.ONE)
|
|
|
+ .apply("amount != stl_ttl_amount")
|
|
|
+ .eq(FeeCenter::getCorpId, finStlBills.getCorpId()));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ amountC = feeCenterListC.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountC1 = feeCenterListC.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ List<FeeCenter> feeCenterListD = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getDc, MagicValues.D)
|
|
|
+ .eq(FeeCenter::getAccStatus, MagicValues.ONE)
|
|
|
+ .apply("amount != stl_ttl_amount")
|
|
|
+ .eq(FeeCenter::getCorpId, finStlBills.getCorpId()));
|
|
|
+ if (!feeCenterListD.isEmpty()) {
|
|
|
+ amountD = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ amountD1 = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
+ BigDecimal amount = amountD.subtract(amountD1);
|
|
|
+ BigDecimal amount1 = amountC.subtract(amountC1);
|
|
|
+ if (amount.subtract(amount1).compareTo(new BigDecimal("0.00")) > 0) {
|
|
|
+ finStlBills.setAmountOwed("是");
|
|
|
+ } else {
|
|
|
+ finStlBills.setAmountOwed("否");
|
|
|
+ }
|
|
|
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
- .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
- .eq(FinStlBillsItems::getPid, finStlBills.getId());
|
|
|
- List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
- List<Bills> billsList = new ArrayList<>();
|
|
|
- List<FeeCenter> feeCenterListAll = new ArrayList<>();
|
|
|
- if (!reducelList.isEmpty()) {
|
|
|
- String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
- billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .eq(FinStlBillsItems::getPid, finStlBills.getId());
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
+ List<Bills> billsList = new ArrayList<>();
|
|
|
+ List<FeeCenter> feeCenterListAll = new ArrayList<>();
|
|
|
+ if (!reducelList.isEmpty()) {
|
|
|
+ String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- List<Long> billCorpId = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
|
|
|
- List<AgreementPriceItems> agreementPriceItemsList = new ArrayList<>();
|
|
|
- List<AgreementPrice> agreementPriceList = agreementPriceService.list(new LambdaQueryWrapper<AgreementPrice>()
|
|
|
- .eq(AgreementPrice::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(AgreementPrice::getIsDeleted, 0)
|
|
|
- .eq(AgreementPrice::getStatus, 0)
|
|
|
- .in(AgreementPrice::getCorpId, billCorpId));
|
|
|
- if (!agreementPriceList.isEmpty()) {
|
|
|
- List<Long> ids = agreementPriceList.stream().map(AgreementPrice::getId).collect(Collectors.toList());
|
|
|
- agreementPriceItemsList = agreementPriceItemsService.list(new LambdaQueryWrapper<AgreementPriceItems>()
|
|
|
- .eq(AgreementPriceItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(AgreementPriceItems::getIsDeleted, 0)
|
|
|
- .eq(AgreementPriceItems::getStatus, 0)
|
|
|
- .in(AgreementPriceItems::getPid, ids));
|
|
|
- }
|
|
|
- StringBuilder billCorpName = new StringBuilder();
|
|
|
- StringBuilder billCorpNameAgreement = new StringBuilder();
|
|
|
- List<Long> billsIds = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
|
|
|
- List<Bills> billsList1 = billsList.stream().filter(e -> billsIds.contains(e.getCorpId())).collect(Collectors.toList());
|
|
|
- for (Bills item : billsList1) {
|
|
|
- billCorpName.append(item.getCorpCnName()).append("/");
|
|
|
- AgreementPrice agreementPrice = agreementPriceList.stream().filter(e -> e.getCorpId().equals(item.getCorpId())).findFirst().orElse(null);
|
|
|
- if (agreementPrice != null) {
|
|
|
- AgreementPriceItems agreementPriceItems = agreementPriceItemsList.stream().filter(e -> e.getPid().equals(agreementPrice.getId())).findFirst().orElse(null);
|
|
|
- if (agreementPriceItems != null) {
|
|
|
- billCorpNameAgreement.append(agreementPriceItems.getSettlementPeriodName()).append("/");
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ List<Long> billCorpId = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
|
|
|
+ List<AgreementPriceItems> agreementPriceItemsList = new ArrayList<>();
|
|
|
+ List<AgreementPrice> agreementPriceList = agreementPriceService.list(new LambdaQueryWrapper<AgreementPrice>()
|
|
|
+ .eq(AgreementPrice::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AgreementPrice::getIsDeleted, 0)
|
|
|
+ .eq(AgreementPrice::getStatus, 0)
|
|
|
+ .in(AgreementPrice::getCorpId, billCorpId));
|
|
|
+ if (!agreementPriceList.isEmpty()) {
|
|
|
+ List<Long> ids = agreementPriceList.stream().map(AgreementPrice::getId).collect(Collectors.toList());
|
|
|
+ agreementPriceItemsList = agreementPriceItemsService.list(new LambdaQueryWrapper<AgreementPriceItems>()
|
|
|
+ .eq(AgreementPriceItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(AgreementPriceItems::getIsDeleted, 0)
|
|
|
+ .eq(AgreementPriceItems::getStatus, 0)
|
|
|
+ .in(AgreementPriceItems::getPid, ids));
|
|
|
+ }
|
|
|
+ StringBuilder billCorpName = new StringBuilder();
|
|
|
+ StringBuilder billCorpNameAgreement = new StringBuilder();
|
|
|
+ List<Long> billsIds = billsList.stream().map(Bills::getCorpId).distinct().collect(Collectors.toList());
|
|
|
+ List<Bills> billsList1 = billsList.stream().filter(e -> billsIds.contains(e.getCorpId())).collect(Collectors.toList());
|
|
|
+ for (Bills item : billsList1) {
|
|
|
+ billCorpName.append(item.getCorpCnName()).append("/");
|
|
|
+ AgreementPrice agreementPrice = agreementPriceList.stream().filter(e -> e.getCorpId().equals(item.getCorpId())).findFirst().orElse(null);
|
|
|
+ if (agreementPrice != null) {
|
|
|
+ AgreementPriceItems agreementPriceItems = agreementPriceItemsList.stream().filter(e -> e.getPid().equals(agreementPrice.getId())).findFirst().orElse(null);
|
|
|
+ if (agreementPriceItems != null) {
|
|
|
+ billCorpNameAgreement.append(agreementPriceItems.getSettlementPeriodName()).append("/");
|
|
|
+ } else {
|
|
|
+ billCorpNameAgreement.append("无").append("/");
|
|
|
+ }
|
|
|
} else {
|
|
|
billCorpNameAgreement.append("无").append("/");
|
|
|
}
|
|
|
- } else {
|
|
|
- billCorpNameAgreement.append("无").append("/");
|
|
|
}
|
|
|
+ finStlBills.setBillCorpName(billCorpName.toString());
|
|
|
+ finStlBills.setBillCorpNameAgreement(billCorpNameAgreement.toString());
|
|
|
+ }
|
|
|
+ feeCenterListAll = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
+ .eq(FeeCenter::getDc, "D")
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ }
|
|
|
+ for (FinStlBillsItems item : reducelList) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ if (!feeCenterListAll.isEmpty()) {
|
|
|
+ BigDecimal amountDSum = feeCenterListAll.stream().filter(e -> e.getCurCode().equals(exrateType))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal amountDStl = feeCenterListAll.stream().filter(e -> e.getCurCode().equals(exrateType))
|
|
|
+ .map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal amountDSumUsd = feeCenterListAll.stream().filter(e -> !e.getCurCode().equals(exrateType))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal amountDStlUsd = feeCenterListAll.stream().filter(e -> !e.getCurCode().equals(exrateType))
|
|
|
+ .map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ finStlBillsItemsReports.setAmountD(amountDSum.subtract(amountDStl));
|
|
|
+ finStlBillsItemsReports.setAmountUsdD(amountDSumUsd.subtract(amountDStlUsd));
|
|
|
+ }
|
|
|
+ BigDecimal currentStlAmountD = finStlBillsItems.stream()
|
|
|
+ .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.D.equals(e.getDc()) && exrateType.equals(e.getCurCode()))
|
|
|
+ .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal currentStlAmountC = finStlBillsItems.stream()
|
|
|
+ .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.C.equals(e.getDc()) && exrateType.equals(e.getCurCode()))
|
|
|
+ .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal currentStlAmountUsdD = finStlBillsItems.stream()
|
|
|
+ .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.D.equals(e.getDc()) && !exrateType.equals(e.getCurCode()))
|
|
|
+ .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal currentStlAmountUsdC = finStlBillsItems.stream()
|
|
|
+ .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.C.equals(e.getDc()) && !exrateType.equals(e.getCurCode()))
|
|
|
+ .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ finStlBillsItemsReports.setAmount(currentStlAmountC.subtract(currentStlAmountD).abs());
|
|
|
+ finStlBillsItemsReports.setAmountUsd(currentStlAmountUsdC.subtract(currentStlAmountUsdD).abs());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).findFirst()
|
|
|
+ .ifPresent(bills -> finStlBillsItemsReports.setAmountProfit(bills.getAmountDrLoc().subtract(bills.getAmountCrLoc())));
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountProfit(new BigDecimal(MagicValues.ZERO));
|
|
|
}
|
|
|
- finStlBills.setBillCorpName(billCorpName.toString());
|
|
|
- finStlBills.setBillCorpNameAgreement(billCorpNameAgreement.toString());
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- feeCenterListAll = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
- .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FeeCenter::getIsDeleted, 0)
|
|
|
- .eq(FeeCenter::getDc, "D")
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
}
|
|
|
- for (FinStlBillsItems item : reducelList) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- if (!feeCenterListAll.isEmpty()) {
|
|
|
- BigDecimal amountDSum = feeCenterListAll.stream().filter(e -> e.getCurCode().equals(exrateType))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal amountDStl = feeCenterListAll.stream().filter(e -> e.getCurCode().equals(exrateType))
|
|
|
- .map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal amountDSumUsd = feeCenterListAll.stream().filter(e -> !e.getCurCode().equals(exrateType))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal amountDStlUsd = feeCenterListAll.stream().filter(e -> !e.getCurCode().equals(exrateType))
|
|
|
- .map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- finStlBillsItemsReports.setAmountD(amountDSum.subtract(amountDStl));
|
|
|
- finStlBillsItemsReports.setAmountUsdD(amountDSumUsd.subtract(amountDStlUsd));
|
|
|
- }
|
|
|
- BigDecimal currentStlAmountD = finStlBillsItems.stream()
|
|
|
- .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.D.equals(e.getDc()) && exrateType.equals(e.getCurCode()))
|
|
|
- .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal currentStlAmountC = finStlBillsItems.stream()
|
|
|
- .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.C.equals(e.getDc()) && exrateType.equals(e.getCurCode()))
|
|
|
- .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal currentStlAmountUsdD = finStlBillsItems.stream()
|
|
|
- .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.D.equals(e.getDc()) && !exrateType.equals(e.getCurCode()))
|
|
|
- .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal currentStlAmountUsdC = finStlBillsItems.stream()
|
|
|
- .filter(e -> e.getMblno().equals(item.getMblno()) && MagicValues.C.equals(e.getDc()) && !exrateType.equals(e.getCurCode()))
|
|
|
- .map(FinStlBillsItems::getCurrentStlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- finStlBillsItemsReports.setAmount(currentStlAmountC.subtract(currentStlAmountD).abs());
|
|
|
- finStlBillsItemsReports.setAmountUsd(currentStlAmountUsdC.subtract(currentStlAmountUsdD).abs());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).findFirst()
|
|
|
- .ifPresent(bills -> finStlBillsItemsReports.setAmountProfit(bills.getAmountDrLoc().subtract(bills.getAmountCrLoc())));
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountProfit(new BigDecimal(MagicValues.ZERO));
|
|
|
+ finStlBills.setAmountSubLoc(finStlBills.getAmountSubLoc().abs());
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
|
|
|
+ || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
+ && MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
|
|
|
+ FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- }
|
|
|
- finStlBills.setAmountSubLoc(finStlBills.getAmountSubLoc().abs());
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
|
|
|
- || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
- && MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
|
|
|
- FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
- BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
- if (bCorps != null) {
|
|
|
- finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
- finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .eq(FinStlBillsItems::getPid, finStlBills.getId());
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
+ List<Bills> billsList = new ArrayList<>();
|
|
|
+ if (!reducelList.isEmpty()) {
|
|
|
+ String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ }
|
|
|
+ for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
+ }
|
|
|
}
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
- .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
- .eq(FinStlBillsItems::getPid, finStlBills.getId());
|
|
|
- List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
- List<Bills> billsList = new ArrayList<>();
|
|
|
- if (!reducelList.isEmpty()) {
|
|
|
- String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
- billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
|
|
|
+ || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
+ && (MagicValues.CHARGE_SETTLEMENT.equals(groupCode) || MagicValues.CHARGE.equals(groupCode))) {
|
|
|
+ FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
}
|
|
|
- for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- if (MagicValues.D.equals(item.getDc())) {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .eq(FinStlBillsItems::getPid, finStlBills.getId())
|
|
|
+ .eq(FinStlBillsItems::getDc, "D")
|
|
|
+ .orderByDesc(FinStlBillsItems::getVesselCnName);
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
+ List<Bills> billsList = new ArrayList<>();
|
|
|
+ if (!reducelList.isEmpty()) {
|
|
|
+ String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ }
|
|
|
+ for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
} else {
|
|
|
- finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
}
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
- }
|
|
|
- }
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode)
|
|
|
- || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
- && (MagicValues.CHARGE_SETTLEMENT.equals(groupCode) || MagicValues.CHARGE.equals(groupCode))) {
|
|
|
- FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
- BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
- if (bCorps != null) {
|
|
|
- finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
- finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
}
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
- .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
- .eq(FinStlBillsItems::getPid, finStlBills.getId())
|
|
|
- .eq(FinStlBillsItems::getDc, "D")
|
|
|
- .orderByDesc(FinStlBillsItems::getVesselCnName);
|
|
|
- List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
- List<Bills> billsList = new ArrayList<>();
|
|
|
- if (!reducelList.isEmpty()) {
|
|
|
- String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
- billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode) || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
+ && (MagicValues.PAID_SETTLEMENT.equals(groupCode) || MagicValues.PAID.equals(groupCode))) {
|
|
|
+ FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
}
|
|
|
- for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- if (MagicValues.D.equals(item.getDc())) {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .eq(FinStlBillsItems::getPid, finStlBills.getId())
|
|
|
+ .eq(FinStlBillsItems::getDc, "C")
|
|
|
+ .orderByDesc(FinStlBillsItems::getVesselCnName);
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
+ List<Bills> billsList = new ArrayList<>();
|
|
|
+ if (!reducelList.isEmpty()) {
|
|
|
+ String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ }
|
|
|
+ for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
} else {
|
|
|
- finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
}
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if ((MagicValues.SETTLEMENT_CENTER.equals(reportCode) || MagicValues.RECONCILIATION_CENTER.equals(reportCode) || MagicValues.PAID_APPLICATION.equals(reportCode))
|
|
|
- && (MagicValues.PAID_SETTLEMENT.equals(groupCode) || MagicValues.PAID.equals(groupCode))) {
|
|
|
- FinStlBills finStlBills = finStlBillsService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
- BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
- if (bCorps != null) {
|
|
|
- finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
- finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ } else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
|
|
|
+ FinInvoices finStlBills = finInvoicesService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
- .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
- .eq(FinStlBillsItems::getPid, finStlBills.getId())
|
|
|
- .eq(FinStlBillsItems::getDc, "C")
|
|
|
- .orderByDesc(FinStlBillsItems::getVesselCnName);
|
|
|
- List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<FinStlBillsItems> reducelList = finStlBillsItems.stream().filter(distinctByKey(FinStlBillsItems::getMblno)).collect(Collectors.toList());
|
|
|
- List<Bills> billsList = new ArrayList<>();
|
|
|
- if (!reducelList.isEmpty()) {
|
|
|
- String mblno = reducelList.stream().map(FinStlBillsItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
+ .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
+ .eq(FinInvoicesItems::getPid, finStlBills.getId());
|
|
|
+ List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<Bills> billsList;
|
|
|
+ String mblno = finStlBillsItems.stream().map(FinInvoicesItems::getMblno).collect(Collectors.joining(","));
|
|
|
billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
.apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
- }
|
|
|
- for (FinStlBillsItems item : finStlBillsItems) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- if (MagicValues.D.equals(item.getDc())) {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ for (FinInvoicesItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
+ }
|
|
|
} else {
|
|
|
- finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
+ }
|
|
|
}
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
- }
|
|
|
- }
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE_PAID_OFFSET.equals(groupCode)) {
|
|
|
- FinInvoices finStlBills = finInvoicesService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
- BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
- if (bCorps != null) {
|
|
|
- finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
- finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
}
|
|
|
+ finStlBills.setAmountD(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setAmountDUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setAmountC(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountC).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setAmountCUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsdC).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
- .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
- .eq(FinInvoicesItems::getPid, finStlBills.getId());
|
|
|
- List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<Bills> billsList;
|
|
|
- String mblno = finStlBillsItems.stream().map(FinInvoicesItems::getMblno).collect(Collectors.joining(","));
|
|
|
- billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
- for (FinInvoicesItems item : finStlBillsItems) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (MagicValues.D.equals(item.getDc())) {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
- }
|
|
|
+ } else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE.equals(groupCode)) {
|
|
|
+ FinInvoices finStlBills = finInvoicesService.getById(billId);
|
|
|
+ if (finStlBills != null) {
|
|
|
+ String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
+ finStlBills.setExrateType(exrateType);
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
- }
|
|
|
- }
|
|
|
- finStlBills.setAmountD(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setAmountDUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setAmountC(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountC).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setAmountCUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsdC).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if (MagicValues.INVOICE_APPLICATION.equals(reportCode) && MagicValues.CHARGE.equals(groupCode)) {
|
|
|
- FinInvoices finStlBills = finInvoicesService.getById(billId);
|
|
|
- if (finStlBills != null) {
|
|
|
- String exrateType = currencyUtils.standardCurrency(finStlBills.getBranchId());
|
|
|
- finStlBills.setExrateType(exrateType);
|
|
|
- if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
- BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
- if (bCorps != null) {
|
|
|
- finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
- finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
}
|
|
|
- }
|
|
|
- List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
- LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
- .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
- .eq(FinInvoicesItems::getPid, finStlBills.getId())
|
|
|
- .eq(FinInvoicesItems::getDc, "D")
|
|
|
- .orderByDesc(FinInvoicesItems::getVesselCnName);
|
|
|
- List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
|
|
|
- if (!finStlBillsItems.isEmpty()) {
|
|
|
- finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
- List<Bills> billsList;
|
|
|
- String mblno = finStlBillsItems.stream().map(FinInvoicesItems::getMblno).collect(Collectors.joining(","));
|
|
|
- billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
- for (FinInvoicesItems item : finStlBillsItems) {
|
|
|
- FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
- finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
- finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
- finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
- finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
- finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
- finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
- finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
- finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
- finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
- if (!billsList.isEmpty()) {
|
|
|
- String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
- finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
- }
|
|
|
- if (MagicValues.D.equals(item.getDc())) {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
- } else {
|
|
|
- finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (exrateType.equals(item.getCurCode())) {
|
|
|
- finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
+ List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
|
|
|
+ LambdaQueryWrapper<FinInvoicesItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
+ .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
+ .eq(FinInvoicesItems::getPid, finStlBills.getId())
|
|
|
+ .eq(FinInvoicesItems::getDc, "D")
|
|
|
+ .orderByDesc(FinInvoicesItems::getVesselCnName);
|
|
|
+ List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ finStlBills.setSalesman(finStlBillsItems.get(0).getSrcCnName());
|
|
|
+ List<Bills> billsList;
|
|
|
+ String mblno = finStlBillsItems.stream().map(FinInvoicesItems::getMblno).collect(Collectors.joining(","));
|
|
|
+ billsList = billsService.list(new LambdaQueryWrapper<Bills>()
|
|
|
+ .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Bills::getIsDeleted, 0)
|
|
|
+ .apply("find_in_set(mblno,'" + mblno + "')"));
|
|
|
+ for (FinInvoicesItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setHblno(item.getHblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ finStlBillsItemsReports.setVesselCnName(item.getVesselCnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setVesselEnName(item.getVesselEnName() + "/" + item.getVoyageNo());
|
|
|
+ finStlBillsItemsReports.setSalesman(item.getSrcCnName());
|
|
|
+ finStlBillsItemsReports.setPodEnName(item.getPodEnName());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (!billsList.isEmpty()) {
|
|
|
+ String quantityCntrDescr = billsList.stream().filter(e -> e.getMblno().equals(item.getMblno())).map(Bills::getQuantityCntrDescr).collect(Collectors.joining(","));
|
|
|
+ finStlBillsItemsReports.setQuantityCntrTypesDescr(quantityCntrDescr);
|
|
|
+ }
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
+ }
|
|
|
} else {
|
|
|
- finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
+ if (exrateType.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
+ }
|
|
|
}
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
- finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
}
|
|
|
+ finStlBills.setAmountD(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setAmountDUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ finStlBills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
+ } else if (MagicValues.KHTS.equals(reportCode) && MagicValues.KHTS.equals(groupCode) && MagicValues.KHTS.equals(type)) {
|
|
|
+ Bills bills = billsService.getById(billId);
|
|
|
+ if (bills != null) {
|
|
|
+ List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getIsDeleted, 0)
|
|
|
+ .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PreContainers::getPid, bills.getId()));
|
|
|
+ bills.setPreContainersList(preContainersList);
|
|
|
+ bills.setDept(dept);
|
|
|
+ map.put(MagicValues.DATA, bills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- finStlBills.setAmountD(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setAmountDUsd(finStlBillsItemsReportsList.stream().map(FinStlBillsItemsReports::getAmountUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
- finStlBills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, finStlBills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if (MagicValues.COST.equals(reportCode)
|
|
|
- && (MagicValues.COST_APPLY_MODIFY.equals(groupCode) || MagicValues.COST_APPLY_DELETE.equals(groupCode))) {
|
|
|
- FeeCenterUpdateRecord feeCenterUpdateRecord = feeCenterUpdateRecordService.getById(billId);
|
|
|
- if (feeCenterUpdateRecord != null) {
|
|
|
- feeCenterUpdateRecord.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, feeCenterUpdateRecord);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
- }
|
|
|
- } else if (MagicValues.KHTS.equals(reportCode) && MagicValues.KHTS.equals(groupCode) && MagicValues.KHTS.equals(type)) {
|
|
|
- Bills bills = billsService.getById(billId);
|
|
|
- if (bills != null) {
|
|
|
- List<PreContainers> preContainersList = preContainersService.list(new LambdaQueryWrapper<PreContainers>()
|
|
|
- .eq(PreContainers::getIsDeleted, 0)
|
|
|
- .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PreContainers::getPid, bills.getId()));
|
|
|
- bills.setPreContainersList(preContainersList);
|
|
|
- bills.setDept(dept);
|
|
|
- map.put(MagicValues.DATA, bills);
|
|
|
- } else {
|
|
|
- map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
}
|
|
|
}
|