Selaa lähdekoodia

bugfix SAS-1260 已被对方撤回,撤回的数据不统计数量和金额

xucaiqin 2 vuotta sitten
vanhempi
commit
273326c775

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

@@ -65,7 +65,7 @@ public interface KwpLedgerTradeMapper extends BaseMapper<KwpLedgerTrade> {
 
     List<LedgerPurchaseDto> selectPurchaseIds(@Param("ids") List<Long> ids);
 
-    LedgerCountSumVo countSum(@Param("tradeReq") TradeReq tradeReq);
+    LedgerCountSumVo countSum(@Param("tradeReq") TradeReq tradeReq, @Param("status") List<Integer> status);
 
     void updatePrice(@Param("id") Long id, @Param("totalPrice") BigDecimal totalPrice);
 

+ 7 - 2
sckw-modules/sckw-payment/src/main/java/com/sckw/payment/service/KwpLedgerTradeService.java

@@ -145,7 +145,8 @@ public class KwpLedgerTradeService extends AbsLedger {
         fillPara(tradeReq);
         tradeReq.setUnitType(TradeUnitType.PURCHASE);
         tradeReq.setUnitTypeTwo(TradeUnitType.SELL);
-        return tradeMapper.countSum(tradeReq);
+        List<Integer> status = new ArrayList<>();
+        return tradeMapper.countSum(tradeReq,status);
     }
 
     /**
@@ -174,7 +175,11 @@ public class KwpLedgerTradeService extends AbsLedger {
         fillPara(tradeReq);
         tradeReq.setUnitType(TradeUnitType.SELL);
         tradeReq.setUnitTypeTwo(TradeUnitType.PURCHASE);
-        return tradeMapper.countSum(tradeReq);
+        List<Integer> status = new ArrayList<>() {{
+            add(LedgerEnum.SAVE.getStatus());
+            add(LedgerEnum.REVOCATION.getStatus());
+        }};
+        return tradeMapper.countSum(tradeReq, status);
     }
 
     private void removeDraft(Long id) {

+ 54 - 48
sckw-modules/sckw-payment/src/main/resources/mapper/KwpLedgerTradeMapper.xml

@@ -99,8 +99,8 @@
         klt.ex_tax_price  exTaxPrice,
         klt.settle_price  settlePrice,
         klt.actual_price  actualPrice,
-        klt.success_phone   successPhone,
-        klt.success_user    successUser,
+        klt.success_phone successPhone,
+        klt.success_user  successUser,
         klt.url,
         klt.generate_time generateTime,
         klt.receipt_time  receiptTime,
@@ -217,47 +217,47 @@
         </where>
         order by klt.generate_time desc
     </select>
-   <select id="selectIds" resultType="com.sckw.payment.model.vo.LedgerSell">
-       select klt.id,
-              klt.t_ledger_no   tLedgerNo,
-              klt.name,
-              klt.start_time    startTime,
-              klt.end_time      endTime,
-              klt.tax_rate      taxRate,
-              klt.trading,
-              klt.total_price   totalPrice,
-              klt.ex_tax_price  exTaxPrice,
-              klt.settle_price  settlePrice,
-              klt.actual_price  actualPrice,
-              klt.audit_phone   auditPhone,
-              klt.audit_user    auditUser,
-              klt.success_user  successUser,
-              klt.success_phone successPhone,
-              klt.url,
-              klt.generate_time generateTime,
-              klt.receipt_time  receiptTime,
-              klt.remark,
-              klt.status,
-              klt.create_by     createBy,
-              kltu.contacts,
-              kltu.phone,
-              kltu.firm_name    purchaseFirmName,
-              kltu2.firm_name   sellFirmName,
-              klt.order_count   orderCount
-       from kwp_ledger_trade klt
-                inner join kwp_ledger_trade_unit kltu
-                           on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
-                              kltu.unit_type = 1
-                inner join kwp_ledger_trade_unit kltu2
-                           on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type = 2
-       <where>
-           klt.del_flag = 0
-             and klt.id in
-           <foreach collection="ids" item="id" close=")" open="(" separator=",">
-               #{id,jdbcType=BIGINT}
-           </foreach>
-       </where>
-   </select>
+    <select id="selectIds" resultType="com.sckw.payment.model.vo.LedgerSell">
+        select klt.id,
+               klt.t_ledger_no   tLedgerNo,
+               klt.name,
+               klt.start_time    startTime,
+               klt.end_time      endTime,
+               klt.tax_rate      taxRate,
+               klt.trading,
+               klt.total_price   totalPrice,
+               klt.ex_tax_price  exTaxPrice,
+               klt.settle_price  settlePrice,
+               klt.actual_price  actualPrice,
+               klt.audit_phone   auditPhone,
+               klt.audit_user    auditUser,
+               klt.success_user  successUser,
+               klt.success_phone successPhone,
+               klt.url,
+               klt.generate_time generateTime,
+               klt.receipt_time  receiptTime,
+               klt.remark,
+               klt.status,
+               klt.create_by     createBy,
+               kltu.contacts,
+               kltu.phone,
+               kltu.firm_name    purchaseFirmName,
+               kltu2.firm_name   sellFirmName,
+               klt.order_count   orderCount
+        from kwp_ledger_trade klt
+                 inner join kwp_ledger_trade_unit kltu
+                            on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
+                               kltu.unit_type = 1
+                 inner join kwp_ledger_trade_unit kltu2
+                            on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type = 2
+        <where>
+            klt.del_flag = 0
+              and klt.id in
+            <foreach collection="ids" item="id" close=")" open="(" separator=",">
+                #{id,jdbcType=BIGINT}
+            </foreach>
+        </where>
+    </select>
     <select id="purchaseList" resultType="com.sckw.payment.model.dto.LedgerPurchaseDto">
         select
         <include refid="purchase_col"/>
@@ -318,6 +318,12 @@
             <if test="tradeReq.status != null">
                 and klt.status = #{tradeReq.status}
             </if>
+            <if test="status != null and status.size() > 0">
+                and klt.status not in
+                <foreach collection="status" item="id" close=")" open="(" separator=",">
+                    #{id,jdbcType=BIGINT}
+                </foreach>
+            </if>
             <if test="tradeReq.trading != null">
                 and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
             </if>
@@ -359,7 +365,7 @@
             klt.del_flag = 0
               and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
             <if test="tradeReq.unitType != null and tradeReq.unitType == 2">
-                and klt.status not in (1,6)
+                and klt.status not in (1, 6)
             </if>
             <if test="tradeReq.trading != null">
                 and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
@@ -500,15 +506,15 @@
                klt.actual_price  actualPrice,
                klt.audit_phone   auditPhone,
                klt.audit_user    auditUser,
-               klt.success_user    successUser,
-               klt.success_phone    successPhone,
+               klt.success_user  successUser,
+               klt.success_phone successPhone,
                klt.url,
                klt.generate_time generateTime,
                klt.receipt_time  receiptTime,
                klt.remark,
                klt.status,
                kltu.contacts,
-               kltu.top_ent_id purchaseEntId,
+               kltu.top_ent_id   purchaseEntId,
                kltu.phone,
                kltu.firm_name    firmName,
                klt.order_count   orderCount
@@ -522,7 +528,7 @@
     </select>
     <update id="updatePrice">
         update kwp_ledger_trade
-        set actual_price = IFNULL(actual_price,0) + #{totalPrice,jdbcType=DECIMAL}
+        set actual_price = IFNULL(actual_price, 0) + #{totalPrice,jdbcType=DECIMAL}
         where id = #{id,jdbcType=BIGINT}
     </update>