Преглед изворни кода

无车优化,自有车接口返回

Administrator пре 2 година
родитељ
комит
560da2f839

+ 48 - 0
src/main/java/com/jkcredit/invoice/controller/business/SelfCarController.java

@@ -14,6 +14,8 @@ import com.jkcredit.invoice.model.entity.customer.CustomerCarRec;
 import com.jkcredit.invoice.model.entity.customer.CustomerRec;
 import com.jkcredit.invoice.model.entity.invoice.SelfCarInvoice;
 import com.jkcredit.invoice.model.entity.waybill.SelfCarTrade;
+import com.jkcredit.invoice.model.vo.CardAndTradeVo;
+import com.jkcredit.invoice.model.vo.CodeAndNumVo;
 import com.jkcredit.invoice.service.calculateinfor.SelfCarCalculateInfoService;
 import com.jkcredit.invoice.service.customer.CustomerService;
 import com.jkcredit.invoice.service.lowerservice.SelfCarServiceL;
@@ -190,6 +192,29 @@ public class SelfCarController {
     }
 
     public void setTimeDue(SelfCarTrade selfCarTrade){
+        if(!StringUtils.isEmpty(selfCarTrade.getCardId()) && !StringUtils.isEmpty(selfCarTrade.getTradeId())){
+            String [] cardIdArr = selfCarTrade.getCardId().split(",");
+            String [] tradeIdArr=null;
+            if( selfCarTrade.getTradeId()!=null){
+                tradeIdArr =  selfCarTrade.getTradeId().split(",");
+            }
+            List<CardAndTradeVo> cardAndTradeVos = new ArrayList<>();
+            for (int i=0;i<cardIdArr.length;i++){
+                CardAndTradeVo cardAndTradeVo = new CardAndTradeVo();
+                cardAndTradeVo.setCardId(cardIdArr[i]);
+                if(tradeIdArr!=null && tradeIdArr.length>=i+1){
+                    cardAndTradeVo.setTradeId(tradeIdArr[i]);
+                }else{
+                    cardAndTradeVo.setTradeId("");
+                }
+                cardAndTradeVos.add(cardAndTradeVo);
+            }
+            selfCarTrade.setCardAndTradeVos(cardAndTradeVos);
+        }else if(!StringUtils.isEmpty(selfCarTrade.getCardId())){
+            selfCarTrade.setCardIds(Arrays.asList(selfCarTrade.getCardId().split(",")));
+        }else if(!StringUtils.isEmpty(selfCarTrade.getTradeId())){
+            selfCarTrade.setTradeIds(Arrays.asList(selfCarTrade.getTradeId().split(",")));
+        }
         if(!StringUtils.isEmpty(selfCarTrade.getAclTimeBegin()) && !"null".equals(selfCarTrade.getAclTimeBegin())){
             String [] res = selfCarTrade.getAclTimeBegin().split(",");
             selfCarTrade.setAclTimeBegin(res[0]);
@@ -216,6 +241,29 @@ public class SelfCarController {
     @LoginRequired
     public RespR findSelfCarInvoices(Page page, SelfCarInvoice selfCarInvoice) {
         try {
+            if(!StringUtils.isEmpty(selfCarInvoice.getCardId()) && !StringUtils.isEmpty(selfCarInvoice.getTradeId())){
+                String [] cardIdArr = selfCarInvoice.getCardId().split(",");
+                String [] tradeIdArr=null;
+                if( selfCarInvoice.getTradeId()!=null){
+                    tradeIdArr =  selfCarInvoice.getTradeId().split(",");
+                }
+                List<CardAndTradeVo> cardAndTradeVos = new ArrayList<>();
+                for (int i=0;i<cardIdArr.length;i++){
+                    CardAndTradeVo cardAndTradeVo = new CardAndTradeVo();
+                    cardAndTradeVo.setCardId(cardIdArr[i]);
+                    if(tradeIdArr!=null && tradeIdArr.length>=i+1){
+                        cardAndTradeVo.setTradeId(tradeIdArr[i]);
+                    }else{
+                        cardAndTradeVo.setTradeId("");
+                    }
+                    cardAndTradeVos.add(cardAndTradeVo);
+                }
+                selfCarInvoice.setCardAndTradeVos(cardAndTradeVos);
+            }else if(!StringUtils.isEmpty(selfCarInvoice.getCardId())){
+                selfCarInvoice.setCardIds(Arrays.asList(selfCarInvoice.getCardId().split(",")));
+            }else if(!StringUtils.isEmpty(selfCarInvoice.getTradeId())){
+                selfCarInvoice.setTradeIds(Arrays.asList(selfCarInvoice.getTradeId().split(",")));
+            }
             if(!StringUtils.isEmpty(selfCarInvoice.getInvoiceMakeTime()) && !"null".equals(selfCarInvoice.getInvoiceMakeTime())){
                 String [] res =selfCarInvoice.getInvoiceMakeTime().split(",");
                 selfCarInvoice.setInvoiceMakeStart(res[0]);

+ 31 - 0
src/main/java/com/jkcredit/invoice/model/entity/invoice/SelfCarInvoice.java

@@ -1,6 +1,9 @@
 package com.jkcredit.invoice.model.entity.invoice;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.jkcredit.invoice.model.vo.CardAndTradeVo;
+
+import java.util.List;
 
 /**
  * 自有车发票
@@ -109,7 +112,11 @@ public class SelfCarInvoice {
      */
     @Excel(name = "交易id")
     private String tradeId;
+    private List<CardAndTradeVo> cardAndTradeVos;
+
+    private List<String> cardIds;
 
+    private List<String> tradeIds;
     /**
      * 购方名称
      */
@@ -369,6 +376,30 @@ public class SelfCarInvoice {
         this.calculateTime = calculateTime;
     }
 
+    public List<CardAndTradeVo> getCardAndTradeVos() {
+        return cardAndTradeVos;
+    }
+
+    public void setCardAndTradeVos(List<CardAndTradeVo> cardAndTradeVos) {
+        this.cardAndTradeVos = cardAndTradeVos;
+    }
+
+    public List<String> getCardIds() {
+        return cardIds;
+    }
+
+    public void setCardIds(List<String> cardIds) {
+        this.cardIds = cardIds;
+    }
+
+    public List<String> getTradeIds() {
+        return tradeIds;
+    }
+
+    public void setTradeIds(List<String> tradeIds) {
+        this.tradeIds = tradeIds;
+    }
+
     @Override
     public String toString() {
         return "SelfCarInvoice{" +

+ 33 - 0
src/main/java/com/jkcredit/invoice/model/entity/waybill/SelfCarTrade.java

@@ -1,6 +1,9 @@
 package com.jkcredit.invoice.model.entity.waybill;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.jkcredit.invoice.model.vo.CardAndTradeVo;
+
+import java.util.List;
 
 /**
  * 自有车交易
@@ -32,12 +35,18 @@ public class SelfCarTrade {
     @Excel(name = "etc卡号")
     private String cardId;
 
+
     /**
      * 交易id
      */
     @Excel(name = "交易id")
     private String tradeId;
 
+    private List<CardAndTradeVo> cardAndTradeVos;
+
+    private List<String> cardIds;
+
+    private List<String> tradeIds;
     /**
      * 交易时间
      */
@@ -234,6 +243,30 @@ public class SelfCarTrade {
         this.days = days;
     }
 
+    public List<CardAndTradeVo> getCardAndTradeVos() {
+        return cardAndTradeVos;
+    }
+
+    public void setCardAndTradeVos(List<CardAndTradeVo> cardAndTradeVos) {
+        this.cardAndTradeVos = cardAndTradeVos;
+    }
+
+    public List<String> getCardIds() {
+        return cardIds;
+    }
+
+    public void setCardIds(List<String> cardIds) {
+        this.cardIds = cardIds;
+    }
+
+    public List<String> getTradeIds() {
+        return tradeIds;
+    }
+
+    public void setTradeIds(List<String> tradeIds) {
+        this.tradeIds = tradeIds;
+    }
+
     @Override
     public String toString() {
         return "SelfCarTrade{" +

+ 29 - 0
src/main/java/com/jkcredit/invoice/model/vo/CardAndTradeVo.java

@@ -0,0 +1,29 @@
+package com.jkcredit.invoice.model.vo;
+
+public class CardAndTradeVo {
+    /**
+     * etc卡号
+     */
+    private String cardId;
+
+    /**
+     * 交易id
+     */
+    private String tradeId;
+
+    public String getCardId() {
+        return cardId;
+    }
+
+    public void setCardId(String cardId) {
+        this.cardId = cardId;
+    }
+
+    public String getTradeId() {
+        return tradeId;
+    }
+
+    public void setTradeId(String tradeId) {
+        this.tradeId = tradeId;
+    }
+}

+ 17 - 5
src/main/resources/mapper/invoice/SelfCarInvoiceMapper.xml

@@ -63,17 +63,29 @@
             <if test="selfCarInvoice.companyName != null and selfCarInvoice.companyName != ''">
                 and  companyName = BINARY  #{selfCarInvoice.companyName}
             </if>
-            <if test="selfCarInvoice.tradeId != null and selfCarInvoice.tradeId != ''">
-                and  instr(CONCAT(',',#{selfCarInvoice.tradeId},','),CONCAT(',',tradeId,','))>0
-            </if>
             <if test="selfCarInvoice.plateNum != null and selfCarInvoice.plateNum != ''">
                 and  plateNum = BINARY #{selfCarInvoice.plateNum}
             </if>
             <if test="selfCarInvoice.buyerTaxpayerCode != null and selfCarInvoice.buyerTaxpayerCode != ''">
                 and  buyerTaxpayerCode = BINARY #{selfCarInvoice.buyerTaxpayerCode}
             </if>
-            <if test="selfCarInvoice.cardId != null and selfCarInvoice.cardId != ''">
-                and instr(CONCAT(',',#{selfCarInvoice.cardId},','),CONCAT(',',cardId,','))>0
+            <if test="selfCarInvoice.cardIds != null">
+                and  cardId in
+                <foreach collection="selfCarInvoice.cardIds" item="cardId" index="index" separator="," open="(" close=")">
+                    #{cardId}
+                </foreach>
+            </if>
+            <if test="selfCarInvoice.tradeIds != null">
+                and  tradeId in
+                <foreach collection="selfCarInvoice.tradeIds" item="tradeId" index="index" separator="," open="(" close=")">
+                    #{tradeId}
+                </foreach>
+            </if>
+            <if test="selfCarInvoice.cardAndTradeVos != null">
+                and  (cardId,tradeId) in
+                <foreach collection="selfCarInvoice.cardAndTradeVos" item="cardAndTradeVo" index="index" separator="," open="(" close=")">
+                    (#{cardAndTradeVo.cardId},#{cardAndTradeVo.tradeId})
+                </foreach>
             </if>
             <if test="selfCarInvoice.invoiceCode != null and selfCarInvoice.invoiceCode != ''">
                 and  invoiceCode = BINARY #{selfCarInvoice.invoiceCode}

+ 18 - 5
src/main/resources/mapper/waybill/SellCarTradeMapper.xml

@@ -41,15 +41,28 @@
             <if test="sellCarTrade.companyName != null and sellCarTrade.companyName != ''">
                 and  companyName =  BINARY #{sellCarTrade.companyName}
             </if>
-            <if test="sellCarTrade.cardId != null and sellCarTrade.cardId != ''">
-                and instr(CONCAT(',',#{sellCarTrade.cardId},','),CONCAT(',',cardId,','))>0
+            <if test="sellCarTrade.cardIds != null">
+                and  cardId in
+                <foreach collection="sellCarTrade.cardIds" item="cardId" index="index" separator="," open="(" close=")">
+                    #{cardId}
+                </foreach>
+            </if>
+            <if test="sellCarTrade.tradeIds != null">
+                and  tradeId in
+                <foreach collection="sellCarTrade.tradeIds" item="tradeId" index="index" separator="," open="(" close=")">
+                    #{tradeId}
+                </foreach>
+            </if>
+            <if test="sellCarTrade.cardAndTradeVos != null">
+                and  (cardId,tradeId) in
+                <foreach collection="sellCarTrade.cardAndTradeVos" item="cardAndTradeVo" index="index" separator="," open="(" close=")">
+                    (#{cardAndTradeVo.cardId},#{cardAndTradeVo.tradeId})
+                </foreach>
             </if>
             <if test="sellCarTrade.companyReferencenum != null and sellCarTrade.companyReferencenum != ''">
                 and  companyReferencenum = BINARY #{sellCarTrade.companyReferencenum}
             </if>
-            <if test="sellCarTrade.tradeId != null and sellCarTrade.tradeId != ''">
-                and  instr(CONCAT(',',#{sellCarTrade.tradeId},','),CONCAT(',',tradeId,','))>0
-            </if>
+
             <if test="sellCarTrade.status != null and sellCarTrade.status != ''">
                 and status = #{sellCarTrade.status}
             </if>