|
|
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.springblade.common.enums.CommonEnum;
|
|
|
import org.springblade.common.utils.NumToWords;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
@@ -47,6 +48,7 @@ import org.springblade.los.business.customsDeclaration.service.ICustomsDeclarati
|
|
|
import org.springblade.los.business.sea.dto.ContainersReports;
|
|
|
import org.springblade.los.business.sea.entity.*;
|
|
|
import org.springblade.los.business.sea.service.*;
|
|
|
+import org.springblade.los.enums.AmendType;
|
|
|
import org.springblade.los.finance.agreement.entity.AgreementPrice;
|
|
|
import org.springblade.los.finance.agreement.entity.AgreementPriceItems;
|
|
|
import org.springblade.los.finance.agreement.service.IAgreementPriceItemsService;
|
|
|
@@ -3047,6 +3049,10 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
Comparator.comparing(f -> f.getFeeId() + f.getCorpId() + f.getCurCode() + f.getDc()))), ArrayList::new));
|
|
|
List<FeeCenterReports> feeCenterReportList = new ArrayList<>();
|
|
|
for (FeeCenter fee : feeCenters) {
|
|
|
+/* if (AmendType.isAmendType(fee.getBusinessType()) && !CommonEnum.FOUR.info.equals(fee.getAuditStatus())) {
|
|
|
+ // 是 amend 类型并没审核通过的不计入
|
|
|
+ continue;
|
|
|
+ }*/
|
|
|
FeeCenterReports feeCenterReports = new FeeCenterReports();
|
|
|
feeCenterReports.setRemarks(fee.getRemarks());
|
|
|
feeCenterReports.setPid(bills.getId());
|
|
|
@@ -3563,6 +3569,10 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
if (item.equals(bills)) {
|
|
|
// 当前单据,计算 ProfitStatus
|
|
|
for (FeeCenter fee : allFeeCenter) {
|
|
|
+/* if (AmendType.isAmendType(fee.getBusinessType()) && !CommonEnum.FOUR.info.equals(fee.getAuditStatus())) {
|
|
|
+ // 是 amend 类型并没审核通过的不计入
|
|
|
+ continue;
|
|
|
+ }*/
|
|
|
if (MagicValues.C.equals(fee.getDc()) && "P/S".equals(fee.getFeeCode())) {
|
|
|
// if("USD".equals(fee.getCurCode())){
|
|
|
sumOFPS = sumOFPS.add(fee.getAmountLoc()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
@@ -3586,8 +3596,16 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
sumLocCr = sumLocCr.add(fee.getAmountLoc()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ bills.setAmountDrUsd(sumUSDDr);
|
|
|
+ bills.setAmountDr(sumCNYDr);
|
|
|
+ bills.setAmountCrUsd(sumUSDCr);
|
|
|
+ bills.setAmountCr(sumCNYCr);
|
|
|
+ bills.setAmountProfit(bills.getAmountDr().subtract(bills.getAmountCr()));
|
|
|
+ bills.setAmountProfitUsd(bills.getAmountDrUsd().subtract(bills.getAmountCrUsd()));
|
|
|
+ bills.setAmountProfitLoc(bills.getAmountProfit().add(bills.getAmountProfitUsd().multiply(bills.getRate())));
|
|
|
+ BigDecimal dAll = bills.getAmountDr().add(bills.getAmountDrUsd().multiply(bills.getRate()));
|
|
|
+ bills.setGrossMargin(bills.getAmountProfitLoc().compareTo(BigDecimal.ZERO) == 0 || dAll.compareTo(BigDecimal.ZERO) == 0 ?
|
|
|
+ BigDecimal.ZERO: bills.getAmountProfitLoc().divide(dAll, 4, RoundingMode.HALF_UP));
|
|
|
BigDecimal sumProfitUSD = sumUSDDr.subtract(sumUSDCr).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal sumProfitCNY = sumCNYDr.subtract(sumCNYCr).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
BigDecimal sumProfitLoc = sumLocDr.subtract(sumLocCr).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
@@ -6063,9 +6081,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
/* List<FeeCenterReports> feeCenters = feeCenterReportsList.stream()
|
|
|
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));*/
|
|
|
- List<FeeCenterReports> feeCenters1 = feeCenterReportsList1.stream()
|
|
|
+/* List<FeeCenterReports> feeCenters1 = feeCenterReportsList1.stream()
|
|
|
.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
|
|
|
- Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));
|
|
|
+ Comparator.comparing(FeeCenterReports::getFeeCnName))), ArrayList::new));*/
|
|
|
BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
BigDecimal amountDrUsd = new BigDecimal("0.00");
|
|
|
@@ -6247,10 +6265,11 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
|
|
|
BigDecimal amountDrCny = ibCurrencyService.converterCny(MagicValues.USD, amountDrUsd, MagicValues.D, "1");
|
|
|
BigDecimal amountCrCny = ibCurrencyService.converterCny(MagicValues.USD, amountCrUsd, MagicValues.C, "1");
|
|
|
item.setAmountProfitLoc(amountDr.subtract(amountCr).add(amountDrCny.subtract(amountCrCny)));
|
|
|
- for (FeeCenterReports fee : feeCenters1) {
|
|
|
- FeeCenterReports feeReports = feeCenterReportsList1.stream()
|
|
|
+ for (FeeCenterReports fee : feeCenterReportsList1) {
|
|
|
+/* FeeCenterReports feeReports = feeCenterReportsList1.stream()
|
|
|
.filter(e -> e.getFeeCnName().equals(fee.getFeeCnName()))
|
|
|
- .findFirst().orElse(null);
|
|
|
+ .findFirst().orElse(null);*/
|
|
|
+ FeeCenterReports feeReports = fee;
|
|
|
FeeCenterReports feeCenterReports1 = new FeeCenterReports();
|
|
|
feeCenterReports1.setFeeCnName(fee.getFeeCnName());
|
|
|
feeCenterReports1.setHblno(fee.getHblno());
|