Просмотр исходного кода

修改bug:
修改计算应收手续费、跟单手续费、驾意险手续费、驾意险跟单费的逻辑

jiakai 4 месяцев назад
Родитель
Сommit
f81a69f9ab

+ 3 - 2
tenant/organization/src/main/java/com/jzg/organization/mapper/ReceivableMapper.java

@@ -18,6 +18,7 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
@@ -168,9 +169,9 @@ public interface ReceivableMapper extends BaseMapper<InsPlyIncome> {
     Page<ReceiverSettlementReportDto> getReceiverSettlementReport(Page page,@Param("settlementReportQueryVo") SettlementReportQueryVo settlementReportQueryVo);
 
     /**
-     * 获取应收的总金额
+     * 获取应收交强的总金额
      */
-    String getJqSumReceivable(@Param("orderNos") List<String> orderNos);
+    Map<String, Object> getJqSumReceivable(@Param("orderNos") List<String> orderNos);
 
     /**
      * 获取开票记录

+ 23 - 11
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -549,22 +549,34 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
     @Override
     public BigDecimal getReceivableAmount(InvoicingVo invoicingVo) {
         String invoiceType = invoicingVo.getInvoiceType();
+        List<String> orderNos = invoicingVo.getOrderNos();
+        orderNos = orderNos.stream()
+                .filter(s -> s != null && !s.trim().isEmpty())
+                .map(String::trim)
+                .distinct() // 可选,去重
+                .collect(Collectors.toList());
+        // 修改后(返回总手续费 = 交强险+商业险+驾意险 手续费之和)
+        Map<String, Object> map = baseMapper.getJqSumReceivable(orderNos);
+        BigDecimal jqCommissionPremium = (BigDecimal) Optional.ofNullable(map.get("jqCommissionPremium")).orElse(BigDecimal.ZERO);
+        BigDecimal syCommissionPremium = (BigDecimal) Optional.ofNullable(map.get("syCommissionPremium")).orElse(BigDecimal.ZERO);
+        BigDecimal jyCommissionPremium = (BigDecimal) Optional.ofNullable(map.get("jyCommissionPremium")).orElse(BigDecimal.ZERO);
+        BigDecimal jqFollowPremium = (BigDecimal) Optional.ofNullable(map.get("jqFollowPremium")).orElse(BigDecimal.ZERO);
+        BigDecimal syFollowPremium = (BigDecimal) Optional.ofNullable(map.get("syFollowPremium")).orElse(BigDecimal.ZERO);
+        BigDecimal jyFollowPremium = (BigDecimal) Optional.ofNullable(map.get("jyFollowPremium")).orElse(BigDecimal.ZERO);
+
         // 私有手续费 应收金额
+        // 交强的总手续费(jq_commission_premium) + 商业的总手续费(sy_commission_premium)
         if (invoiceType.equals("1")) {
-            List<String> orderNos = invoicingVo.getOrderNos();
-            orderNos = orderNos.stream()
-                    .filter(s -> s != null && !s.trim().isEmpty())
-                    .map(String::trim)
-                    .distinct() // 可选,去重
-                    .collect(Collectors.toList());
-            String jqSumReceivable = baseMapper.getJqSumReceivable(orderNos);
-            return new BigDecimal(jqSumReceivable);
+            return jqCommissionPremium.add(syCommissionPremium);
         } else if (invoiceType.equals("2")) {
-
+            // 交强的总跟单费(jq_follow_premium) + 商业的总跟单费(sy_follow_premium)
+            return jqFollowPremium.add(syFollowPremium);
         } else if (invoiceType.equals("3")) {
-
+            // 驾意险的总手续费(jy_commission_premium)
+            return jyCommissionPremium;
         } else if (invoiceType.equals("4")) {
-
+            // 驾意险的总跟单费(jy_follow_premium)
+            return jyFollowPremium;
         }
         return null;
     }

+ 9 - 4
tenant/organization/src/main/resources/mapper/ReceivableMapper.xml

@@ -1056,13 +1056,18 @@
         </foreach>
     </select>
 
-    <select id="getJqSumReceivable" resultType="String">
+    <select id="getJqSumReceivable" resultType="java.util.Map">
         SELECT
-            sum( jq_commission_premium ) AS receivable_premium
+            sum( jq_commission_premium ) AS jqCommissionPremium,
+            sum( sy_commission_premium ) AS syCommissionPremium,
+            sum( jy_commission_premium ) AS jyCommissionPremium,
+            sum( jq_follow_premium ) AS jqFollowPremium,
+            sum( sy_follow_premium ) AS syFollowPremium,
+            sum( jy_follow_premium ) AS jyFollowPremium
         FROM
-            ins_fee_orders
+        ins_fee_orders
         WHERE
-            order_no IN
+        order_no IN
         <foreach collection="orderNos" item="id" open="(" separator="," close=")">
             #{id}
         </foreach>