|
|
@@ -51,6 +51,10 @@ import org.springblade.los.finance.agreement.service.IAgreementPriceService;
|
|
|
import org.springblade.los.finance.fee.dto.FeeCenterReports;
|
|
|
import org.springblade.los.finance.fee.entity.FeeCenter;
|
|
|
import org.springblade.los.finance.fee.service.IFeeCenterService;
|
|
|
+import org.springblade.los.finance.invoices.entity.FinInvoices;
|
|
|
+import org.springblade.los.finance.invoices.entity.FinInvoicesItems;
|
|
|
+import org.springblade.los.finance.invoices.service.IFinInvoicesItemsService;
|
|
|
+import org.springblade.los.finance.invoices.service.IFinInvoicesService;
|
|
|
import org.springblade.los.finance.stl.dto.FinStlBillsItemsReports;
|
|
|
import org.springblade.los.finance.stl.entity.FinStlBills;
|
|
|
import org.springblade.los.finance.stl.entity.FinStlBillsItems;
|
|
|
@@ -86,9 +90,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
private final IFeeCenterService feeCenterService;
|
|
|
|
|
|
private final IFinStlBillsService finStlBillsService;
|
|
|
-
|
|
|
private final IFinStlBillsItemsService finStlBillsItemsService;
|
|
|
|
|
|
+ private final IFinInvoicesService finInvoicesService;
|
|
|
+ private final IFinInvoicesItemsService finInvoicesItemsService;
|
|
|
+
|
|
|
+
|
|
|
private final IBCurrencyService ibCurrencyService;
|
|
|
|
|
|
private final IAgreementPriceService agreementPriceService;
|
|
|
@@ -863,7 +870,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- } else if (MagicValues.SETTLEMENT_CENTER.equals(reportCode) && MagicValues.PAID_SETTLEMENT.equals(groupCode)) {
|
|
|
+ } 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) {
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
@@ -910,7 +919,62 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} else {
|
|
|
map.put(MagicValues.DATA, null);
|
|
|
}
|
|
|
- } else if (MagicValues.SETTLEMENT_CENTER.equals(reportCode) && MagicValues.CHARGE_SETTLEMENT.equals(groupCode)) {
|
|
|
+ } 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) {
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
+ }
|
|
|
+// finStlBills.setFrom(MagicValues.FM);
|
|
|
+// finStlBills.setFromName(MagicValues.FM);
|
|
|
+// finStlBills.setFromTel("0532-82668811");
|
|
|
+ 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())
|
|
|
+ .orderByDesc(FinStlBillsItems::getVesselCnName);
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (finStlBillsItems.size() > 0) {
|
|
|
+ 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.setQuantityCntrTypesDescr(item.getQuantityCntrTypesDescr());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentStlAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentStlAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ 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) {
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
@@ -962,6 +1026,105 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
} 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) {
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
+ }
|
|
|
+// finStlBills.setFrom(MagicValues.FM);
|
|
|
+// finStlBills.setFromName(MagicValues.FM);
|
|
|
+// finStlBills.setFromTel("0532-82668811");
|
|
|
+ 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.size() > 0) {
|
|
|
+ for (FinInvoicesItems item : finStlBillsItems) {
|
|
|
+ FinStlBillsItemsReports finStlBillsItemsReports = new FinStlBillsItemsReports();
|
|
|
+ finStlBillsItemsReports.setMblno(item.getMblno());
|
|
|
+ finStlBillsItemsReports.setBillNo(item.getBillNo());
|
|
|
+ finStlBillsItemsReports.setAccBillNo(item.getAccBillNo());
|
|
|
+ finStlBillsItemsReports.setEtd(item.getEtd());
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ 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) {
|
|
|
+ if (ObjectUtils.isNotNull(finStlBills.getCorpId())) {
|
|
|
+ BCorps bCorps = bCorpsService.getById(finStlBills.getCorpId());
|
|
|
+ if (bCorps != null) {
|
|
|
+ finStlBills.setAttnName(bCorps.getAttnName());
|
|
|
+ finStlBills.setAttnTel(bCorps.getAttnTel());
|
|
|
+ }
|
|
|
+ }
|
|
|
+// finStlBills.setFrom(MagicValues.FM);
|
|
|
+// finStlBills.setFromName(MagicValues.FM);
|
|
|
+// finStlBills.setFromTel("0532-82668811");
|
|
|
+ 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())
|
|
|
+ .orderByDesc(FinInvoicesItems::getVesselCnName);
|
|
|
+ List<FinInvoicesItems> finStlBillsItems = finInvoicesItemsService.list(lambdaQueryWrapper);
|
|
|
+ if (finStlBillsItems.size() > 0) {
|
|
|
+ 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.setQuantityCntrTypesDescr(item.getQuantityCntrTypesDescr());
|
|
|
+ finStlBillsItemsReports.setPodCnName(item.getPodCnName());
|
|
|
+ if (MagicValues.D.equals(item.getDc())) {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmount(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsd(item.getCurrentAmount());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (MagicValues.CNY.equals(item.getCurCode())) {
|
|
|
+ finStlBillsItemsReports.setAmountC(item.getCurrentAmount());
|
|
|
+ } else {
|
|
|
+ finStlBillsItemsReports.setAmountUsdC(item.getCurrentAmount());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBillsItemsReportsList.add(finStlBillsItemsReports);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ finStlBills.setFinStlBillsItemsReportsList(finStlBillsItemsReportsList);
|
|
|
+ map.put(MagicValues.DATA, finStlBills);
|
|
|
+ } else {
|
|
|
+ map.put(MagicValues.DATA, null);
|
|
|
+ }
|
|
|
} else if (MagicValues.COST.equals(reportCode) && MagicValues.MEET.equals(groupCode) && MagicValues.AMEND.equals(type)) {
|
|
|
Bills bills;
|
|
|
Amends amends = amendsService.getById(billId);
|
|
|
@@ -1943,8 +2106,8 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
BigDecimal amountDrCnyUpdate = ibCurrencyService.converterCny(MagicValues.USD, amountDrUsd, MagicValues.D);
|
|
|
BigDecimal amountCrCnyUpdate = ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.C);
|
|
|
item.setAmountProfitLocUpdate(amountDr.subtract(amountCr).add(amountDrCnyUpdate.subtract(amountCrCnyUpdate)));
|
|
|
- item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
- item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2,BigDecimal.ROUND_HALF_UP));
|
|
|
+ item.setAmountProfitLocUpdate(item.getAmountProfitLocUpdate().setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ item.setAmountProfitLoc(item.getAmountProfitLoc().setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
item.setResponsibleParty(amends.getResponsibleParty());
|
|
|
if (ObjectUtils.isNotNull(item.getAmountProfitLocUpdate()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
|
|
|
if (item.getAmountProfitLocUpdate().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
|