فهرست منبع

修改了结算部分sql语句以及相关查询逻辑等

sptkw 2 سال پیش
والد
کامیت
320e48c730

+ 1 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/dao/KwpSettlementLogisticsMapper.java

@@ -43,7 +43,7 @@ public interface KwpSettlementLogisticsMapper extends BaseMapper<KwpSettlementLo
      * @author Aick Spt
      * @date 2023-07-24 16:24
      */
-    SettlementLogisticsDto detail(@Param("id") Long id, @Param("unitType") Integer unitType);
+    SettlementLogisticsDto detail(@Param("id") Long id, @Param("unitType") Integer unitType, @Param("unitTypeTwo") Integer unitTypeTwo);
 
     /**
      * 根据条件查物流结算订单-导出

+ 6 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/dto/SettlementLogisticsDto.java

@@ -153,10 +153,15 @@ public class SettlementLogisticsDto {
     private String lLedgerNo;
 
     /**
-     * 客户企业类型
+     * 客户企业类型1
      */
     private Integer unitType;
 
+    /**
+     * 客户企业类型2
+     */
+    private Integer unitTypeTwo;
+
     /**
      * 客户名称
      */

+ 11 - 1
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/model/vo/req/SettlementReq.java

@@ -56,8 +56,18 @@ public class SettlementReq extends BasePara {
     private Long entId;
 
     /**
-     * 筛选交易方
+     * 交易方式
+     */
+    private String trading;
+
+    /**
+     * 筛选交易方1
      */
     private Integer unitType;
 
+    /**
+     * 筛选交易方2
+     */
+    private Integer unitTypeTwo;
+
 }

+ 8 - 4
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpSettlementLogisticsService.java

@@ -51,6 +51,7 @@ public class KwpSettlementLogisticsService {
      */
     public List<TableTop> getCountListCollection(SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.SHIPPER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.CARRIER);
         return getCountList(settlementReq);
     }
 
@@ -62,6 +63,7 @@ public class KwpSettlementLogisticsService {
      */
     public List<TableTop> getCountListPayment(SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.CARRIER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.SHIPPER);
         return getCountList(settlementReq);
     }
 
@@ -73,6 +75,7 @@ public class KwpSettlementLogisticsService {
      */
     public PageMoreRes<SettlementLogisticsDto> pageSelectCollection(SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.SHIPPER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.CARRIER);
         return pageSelect(settlementReq);
     }
 
@@ -84,6 +87,7 @@ public class KwpSettlementLogisticsService {
      */
     public PageMoreRes<SettlementLogisticsDto> pageSelectPayment(SettlementReq settlementReq) {
         settlementReq.setUnitType(LogisticsUnitType.CARRIER);
+        settlementReq.setUnitTypeTwo(LogisticsUnitType.SHIPPER);
         return pageSelect(settlementReq);
     }
 
@@ -97,7 +101,7 @@ public class KwpSettlementLogisticsService {
         if (id == null) {
             throw new BusinessException("结算单ID必传");
         }
-        return detail(id, LogisticsUnitType.SHIPPER);
+        return detail(id, LogisticsUnitType.SHIPPER, LogisticsUnitType.CARRIER);
     }
 
     /**
@@ -107,7 +111,7 @@ public class KwpSettlementLogisticsService {
      * @date 2023-07-24 16:24
      */
     public SettlementLogisticsDto detailPayment(Long id) {
-        return detail(id, LogisticsUnitType.CARRIER);
+        return detail(id, LogisticsUnitType.CARRIER, LogisticsUnitType.SHIPPER);
     }
 
     /**
@@ -229,8 +233,8 @@ public class KwpSettlementLogisticsService {
      * @author Aick Spt
      * @date 2023-08-07 10:14
      */
-    private SettlementLogisticsDto detail(Long id, Integer unitType) {
-        SettlementLogisticsDto settlementLogisticsDto = settlementLogisticsMapper.detail(id, unitType);
+    private SettlementLogisticsDto detail(Long id, Integer unitType, Integer unitTypeTwo) {
+        SettlementLogisticsDto settlementLogisticsDto = settlementLogisticsMapper.detail(id, unitType, unitTypeTwo);
         if (settlementLogisticsDto == null) {
             throw new BusinessException("查无数据");
         }

+ 28 - 18
sckw-modules/sckw-payment/src/main/resources/mapper/KwpSettlementLogisticsMapper.xml

@@ -78,12 +78,15 @@
                l.url          as attachmentUrl,
 
                lu.unit_type   as unitType,
-               lu.firm_name   as firmName,
+               lu2.firm_name  as firmName,
 
         <include refid="Join_Column_List"/>
         from kwp_settlement_logistics s
-                 left join kwp_ledger_logistics l on s.l_ledger_id = l.id
-                 left join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
+                 inner join kwp_ledger_logistics l on s.l_ledger_id = l.id
+                 inner join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id and
+                                                            lu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
+                 inner join kwp_ledger_logistics_unit lu2 on s.l_ledger_id = lu2.l_ledger_id and lu2.unit_type =
+                                                                                                 #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
     </sql>
     <!--  连表筛选准备  -->
     <sql id="settlementLogisticsSelectSum">
@@ -91,8 +94,10 @@
                sum(l.settle_price) as actualReceivable,
                sum(s.actual_price) as currentReceipt
         from kwp_settlement_logistics s
-                 left join kwp_ledger_logistics l on s.l_ledger_id = l.id
-                 left join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
+                 inner join kwp_ledger_logistics l on s.l_ledger_id = l.id
+                 inner join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id and lu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
+        inner join kwp_ledger_logistics_unit lu2 on s.l_ledger_id = lu2.l_ledger_id and lu2.unit_type =
+                                                                                        #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
     </sql>
 
     <!--  根据连表,查询条件准备  -->
@@ -101,14 +106,16 @@
             and s.status = #{settlementReq.status}
         </if>
 
-        <if test="settlementReq.unitType != null">
-            and lu.unit_type = #{settlementReq.unitType}
-        </if>
+<!--        <if test="settlementReq.unitType != null">-->
+<!--            and lu.unit_type = #{settlementReq.unitType}-->
+<!--        </if>-->
 
         <if test="settlementReq.entId != null">
-            and lu.top_ent_id = #{settlementReq.entId}
+            and lu2.top_ent_id =#{settlementReq.entId,jdbcType=INTEGER}
+        </if>
+        <if test="settlementReq.trading != null and settlementReq.trading != ''">
+            and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
         </if>
-
         <if test="settlementReq.startCreateTime != null and settlementReq.endCreateTime != null">
             and s.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
         </if>
@@ -155,8 +162,8 @@
     <select id="getCountList" resultType="java.lang.Long">
         select count(s.id) as num
         from kwp_settlement_logistics s
-                 left join kwp_ledger_logistics l on s.l_ledger_id = l.id
-                 left join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
+                 inner join kwp_ledger_logistics l on s.l_ledger_id = l.id
+                 inner join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
         <where>
             l.del_flag = 0
               and s.del_flag = 0
@@ -175,15 +182,18 @@
                l.url          as attachmentUrl,
 
                lu.unit_type   as unitType,
-               lu.firm_name   as firmName,
+               lu2.firm_name  as firmName,
         <include refid="Join_Column_List"/>
         from kwp_settlement_logistics s
-                 left join kwp_ledger_logistics l on s.l_ledger_id = l.id
-                 left join kwp_ledger_logistics_unit lu on s.l_ledger_id = lu.l_ledger_id
+                 inner join kwp_ledger_logistics l on s.l_ledger_id = l.id
+                 inner join kwp_ledger_logistics_unit lu
+                            on s.l_ledger_id = lu.l_ledger_id and lu.unit_type = #{unitType,jdbcType=INTEGER}
+                 inner join kwp_ledger_logistics_unit lu2 on s.l_ledger_id = lu2.l_ledger_id and lu2.unit_type =
+                                                                                                 #{unitTypeTwo,jdbcType=INTEGER}
         where s.id = #{id,jdbcType=BIGINT}
-        <if test="unitType != null">
-            and lu.unit_type = #{unitType}
-        </if>
+        <!--        <if test="unitType != null">-->
+        <!--            and lu.unit_type = #{unitType}-->
+        <!--        </if>-->
     </select>
 
     <!--  根据多个结算运费物流订单id查订单,用于导出   -->