Forráskód Böngészése

业务利润 计算利润修改

纪新园 5 hónapja
szülő
commit
52b7b4acd5

+ 13 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/statisticAnalysis/FinanceProfitDtoList.java

@@ -239,10 +239,22 @@ public class FinanceProfitDtoList {
 	/**
 	 * 单票利润
 	 */
-	@ExcelProperty(value = "单票利润")
+	@ExcelProperty(value = "合计利润")
 	private BigDecimal amountProfitLoc;
 
 	/**
+	 * 人民币利润
+	 */
+	@ExcelProperty(value = "人民币利润")
+	private BigDecimal amountProfit;
+
+	/**
+	 * 人民币利润
+	 */
+	@ExcelProperty(value = "美元利润")
+	private BigDecimal amountProfitUsd;
+
+	/**
 	 * 实际单票利润
 	 */
 	@ExcelProperty(value = "实际单票利润")

+ 32 - 0
blade-service/blade-los/src/main/java/org/springblade/los/statisticAnalysis/service/impl/StatisticAnalysisServiceImpl.java

@@ -98,6 +98,12 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R<IPage<FinanceProfitDtoList>> financeProfit(FinanceProfitDtoList financeProfit, IPage<FinanceProfitDtoList> page) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(deptUtils.getDeptPid() + "");
+		if (ObjectUtils.isNotNull(financeProfit.getExamineDate()) && "0".equals(financeProfit.getExamineDate())) {
+			financeProfit.setExamineDate(null);
+		}
+		if (ObjectUtils.isNotNull(financeProfit.getExamine()) && "0".equals(financeProfit.getExamine())) {
+			financeProfit.setExamine(null);
+		}
 		String jurisdiction = sysClient.getParamService("data.jurisdiction");
 		if ("1".equals(jurisdiction)) {
 			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
@@ -253,6 +259,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					item.setLineCnName(profit.getLineCnName());
 				}
 			}
+			item.setAmountProfit(item.getAmountDr().subtract(item.getAmountCr()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitUsd(item.getAmountDrUsd().subtract(item.getAmountCrUsd()).setScale(2, RoundingMode.HALF_UP));
 			item.setRealAmountProfitLoc(item.getRealAmountDrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedDr(item.getAmountDr().subtract(item.getRealAmountDr()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedDrUsd(item.getAmountDrUsd().subtract(item.getRealAmountDrUsd()).setScale(2, RoundingMode.HALF_UP));
@@ -987,6 +995,12 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public R financeProfitSum(FinanceProfitDtoList financeProfit) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(deptUtils.getDeptPid() + "");
+		if (ObjectUtils.isNotNull(financeProfit.getExamineDate()) && "0".equals(financeProfit.getExamineDate())) {
+			financeProfit.setExamineDate(null);
+		}
+		if (ObjectUtils.isNotNull(financeProfit.getExamine()) && "0".equals(financeProfit.getExamine())) {
+			financeProfit.setExamine(null);
+		}
 		String jurisdiction = sysClient.getParamService("data.jurisdiction");
 		if ("1".equals(jurisdiction)) {
 			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
@@ -1129,6 +1143,14 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 				item.setRealAmountProfitLoc(item.getRealAmountDrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
 			}
 		}
+		for (FinanceProfitDtoList item : financeProfitList) {
+			item.setAmountProfit(item.getAmountDr().subtract(item.getAmountCr()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitUsd(item.getAmountDrUsd().subtract(item.getAmountCrUsd()).setScale(2, RoundingMode.HALF_UP));
+			item.setRealAmountProfitLoc(item.getRealAmountDrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedDr(item.getAmountDr().subtract(item.getRealAmountDr()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedDrUsd(item.getAmountDrUsd().subtract(item.getRealAmountDrUsd()).setScale(2, RoundingMode.HALF_UP));
+			item.setNotReceivedLoc(item.getAmountDrLoc().subtract(item.getRealAmountDrLoc()).setScale(2, RoundingMode.HALF_UP));
+		}
 		Map<String, BigDecimal> map = new HashMap<>();
 		map.put("amountDrUsd", financeProfitList.stream().map(FinanceProfitDtoList::getAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 		map.put("realAmountDrUsd", financeProfitList.stream().map(FinanceProfitDtoList::getRealAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
@@ -1144,6 +1166,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 		map.put("realAmountCrLoc", financeProfitList.stream().map(FinanceProfitDtoList::getRealAmountCrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 		map.put("amountProfitLoc", financeProfitList.stream().map(FinanceProfitDtoList::getAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 		map.put("realAmountProfitLoc", financeProfitList.stream().map(FinanceProfitDtoList::getRealAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+		map.put("amountProfit", financeProfitList.stream().map(FinanceProfitDtoList::getAmountProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+		map.put("amountProfitUsd", financeProfitList.stream().map(FinanceProfitDtoList::getAmountProfitUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
 		return R.data(map);
 	}
 
@@ -1151,6 +1175,12 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 	public List<FinanceProfitDtoList> financeProfitExport(FinanceProfitDtoList financeProfit) {
 		financeProfit.setTenantId(AuthUtil.getTenantId());
 		financeProfit.setBranchId(deptUtils.getDeptPid() + "");
+		if (ObjectUtils.isNotNull(financeProfit.getExamineDate()) && "0".equals(financeProfit.getExamineDate())) {
+			financeProfit.setExamineDate(null);
+		}
+		if (ObjectUtils.isNotNull(financeProfit.getExamine()) && "0".equals(financeProfit.getExamine())) {
+			financeProfit.setExamine(null);
+		}
 		String jurisdiction = sysClient.getParamService("data.jurisdiction");
 		if ("1".equals(jurisdiction)) {
 			if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
@@ -1305,6 +1335,8 @@ public class StatisticAnalysisServiceImpl implements IStatisticAnalysisService {
 					item.setLineCnName(profit.getLineCnName());
 				}
 			}
+			item.setAmountProfit(item.getAmountDr().subtract(item.getAmountCr()).setScale(2, RoundingMode.HALF_UP));
+			item.setAmountProfitUsd(item.getAmountDrUsd().subtract(item.getAmountCrUsd()).setScale(2, RoundingMode.HALF_UP));
 			item.setRealAmountProfitLoc(item.getRealAmountDrLoc().subtract(item.getRealAmountCrLoc()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedDr(item.getAmountDr().subtract(item.getRealAmountDr()).setScale(2, RoundingMode.HALF_UP));
 			item.setNotReceivedDrUsd(item.getAmountDrUsd().subtract(item.getRealAmountDrUsd()).setScale(2, RoundingMode.HALF_UP));