Răsfoiți Sursa

业绩提成功能

caozj 1 an în urmă
părinte
comite
66fab8e920

+ 1 - 2
hx-account/src/main/resources/mapper/tax/TaxRefundDetailsMapper.xml

@@ -16,8 +16,7 @@
 
     <select id="getSumMoneyByContractIds" resultType="com.fjhx.account.entity.tax.po.TaxRefundDetails">
         SELECT
-            t1.contract_id,
-            t1.amount,
+            t1.*,
             t2.rate AS rate
         FROM
             tax_refund_details t1

+ 1 - 0
hx-purchase/src/main/resources/mapper/pay/PayDetailMapper.xml

@@ -41,6 +41,7 @@
 
     <select id="getPayDetailList" resultType="com.fjhx.purchase.entity.pay.po.Pay">
         SELECT
+            t1.*,
             IFNULL( t1.money, 0 ) AS amount,
             IFNULL( t2.rate, 1 ) AS rate,
             IFNULL( t2.currency, "CNY" ) AS currency

+ 33 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/statement/vo/ProfitSettlementVo.java

@@ -1,9 +1,17 @@
 package com.fjhx.sale.entity.statement.vo;
 
+import com.fjhx.account.entity.account.po.AccountRequestFundsDetail;
+import com.fjhx.account.entity.account.vo.AccountRequestFundsDetailVo;
+import com.fjhx.account.entity.tax.po.TaxRefundDetails;
+import com.fjhx.purchase.entity.pay.po.Pay;
+import com.fjhx.purchase.entity.pay.po.PayDetail;
+import com.fjhx.purchase.entity.purchase.po.Purchase;
+import com.fjhx.sale.entity.claim.po.ClaimContract;
 import lombok.Getter;
 import lombok.Setter;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @Getter
 @Setter
@@ -120,4 +128,29 @@ public class ProfitSettlementVo {
      * 税率
      */
     private BigDecimal rate;
+
+    /**
+     * 到账认领列表
+     */
+    private List<ClaimContract> claimList;
+
+    /**
+     * 退税列表
+     */
+    private List<TaxRefundDetails> taxReturnList;
+
+    /**
+     * 采购列表
+     */
+    private List<Purchase> purchaseList;
+
+    /**
+     * 付款列表
+     */
+    private List<Pay> payList;
+
+    /**
+     * 请款列表
+     */
+    private List<AccountRequestFundsDetailVo> accountRequestFundsDetailList;
 }

+ 5 - 5
hx-sale/src/main/java/com/fjhx/sale/service/commission/impl/CommissionServiceImpl.java

@@ -55,7 +55,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
      */
     @Override
     public void settlement(CommissionDto commissionDto) {
-        if (ObjectUtil.isEmpty(commissionDto.getCommissionRule()) || ObjectUtil.isEmpty(commissionDto.getSettlementStatus())){
+        if (ObjectUtil.isEmpty(commissionDto.getSettlementStatus())){
             throw  new ServiceException("参数缺失:结算状态或业绩提成规则表不能为null");
         }
 
@@ -77,7 +77,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
             commissionRuleService.remove(Wrappers.<CommissionRule>lambdaQuery()
                     .eq(CommissionRule::getCommissionId,commission.getId())
             );
-        }else  if (commissionDto.getSettlementStatus() == 1){
+        }else if (commissionDto.getSettlementStatus() == 1){
             saveOrUpdate(commissionDto);
         }
 
@@ -101,19 +101,19 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
 
 
         //计算售后金额:到账金额 * 售后占比(保留两位小数向上取整)
-        commissionDto.setAfterSalesAmount(commissionDto.getContractArrival()
+        commissionDto.setAfterSalesAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getAfterSalesRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算公共金额:到账金额 * 公共占比
-        commissionDto.setPublicAmount(commissionDto.getContractArrival()
+        commissionDto.setPublicAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getPublicRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));
 
         //计算总办金额:到账金额 * 总办占比
-        commissionDto.setHaveOverallAmount(commissionDto.getContractArrival()
+        commissionDto.setHaveOverallAmount(commissionDto.getTotalIncome()
                 .multiply(commissionRule.getHaveOverallRatio())
                 .divide(new BigDecimal(100))
                 .setScale(2,BigDecimal.ROUND_HALF_UP));

+ 11 - 3
hx-sale/src/main/java/com/fjhx/sale/service/statement/impl/SaleStatementServiceImpl.java

@@ -112,7 +112,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
 
         // 获取税率明细
         Map<Long, Map<String, BigDecimal>> detailsRateMap = getDetailsRateMap(records, defaultRateMap);
-
+        Map<String,Object> map = new HashMap<>();
         //赋值合同到账金额、退税金额、采购金额
         setContractArrivalAndRefundMoney(list);
 
@@ -307,6 +307,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setContractArrival(contractArrival);
+                    p.setClaimList(cList);
                 }
                 /**
                  * 处理退税金额
@@ -322,6 +323,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setTaxReturnMoney(taxReturnMoney);
+                    p.setTaxReturnList(rList);
                 }
                 /**
                  * 处理采购金额
@@ -338,7 +340,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setPurchaseAmount(purchaseAmount);
-
+                    p.setPurchaseList(pList);
                     /**
                      * 处理支付款金额
                      */
@@ -354,6 +356,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                             return rate.multiply(money);
                         }).reduce(BigDecimal.ZERO, BigDecimal::add);
                         p.setPayForGoods(payAmount);
+                        p.setPayList(payList);
                     }
                 }
                 /**
@@ -370,6 +373,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setOtherExpenses(otherExpenses);
+                    p.setAccountRequestFundsDetailList(accountRequestFundsDetailVos);
                 }
             } else {//取数据汇率
                 /**
@@ -390,6 +394,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setContractArrival(contractArrival);
+                    p.setClaimList(cList);
                 }
                 /**
                  * 处理退税金额
@@ -405,6 +410,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setTaxReturnMoney(taxReturnMoney);
+                    p.setTaxReturnList(rList);
                 }
                 /**
                  * 处理采购金额
@@ -421,7 +427,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setPurchaseAmount(purchaseAmount);
-
+                    p.setPurchaseList(pList);
                     /**
                      * 处理支付款金额
                      */
@@ -437,6 +443,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                             return rate.multiply(money);
                         }).reduce(BigDecimal.ZERO, BigDecimal::add);
                         p.setPayForGoods(payAmount);
+                        p.setPayList(payList);
                     }
                 }
                 /**
@@ -453,6 +460,7 @@ public class SaleStatementServiceImpl implements SaleStatementService {
                         return rate.multiply(money);
                     }).reduce(BigDecimal.ZERO, BigDecimal::add);
                     p.setOtherExpenses(otherExpenses);
+                    p.setAccountRequestFundsDetailList(accountRequestFundsDetailVos);
                 }
             }
         }