Bladeren bron

自有车添加本地计费时间,无车添加拆分运单号字段

Administrator 1 jaar geleden
bovenliggende
commit
d11b34b8ee

+ 4 - 0
src/main/java/com/jkcredit/invoice/controller/business/NoCarController.java

@@ -820,6 +820,10 @@ public class NoCarController {
             fileName = "自有车发票查询模板.xlsx";
         } else if (EIGHT.equals(fileName)) {
             fileName = "自有车按交易查询申请模板.xlsx";
+        }else if (NINE.equals(fileName)) {
+            fileName = "车辆绑定列表查询模板.xlsx";
+        }else if (TEN.equals(fileName)) {
+            fileName = "申请开票查询模板.xlsx";
         }
         OutputStream outputStream = null;
         InputStream inputStream = null;

+ 2 - 2
src/main/java/com/jkcredit/invoice/mapper/customer/CustomerCarRecMapper.java

@@ -69,10 +69,10 @@ public interface CustomerCarRecMapper extends BaseMapper<CustomerCarRec> {
     /**
      * 根据车牌号查询自有车客户列表 只查询注册成功客户
      *
-     * @param carNum
+     * @param carNums
      * @return
      */
-    List<CustomerCarRec> selectBySelfCarNum(String carNum);
+    List<CustomerCarRec> selectBySelfCarNum(@Param("carNums") String [] carNums);
 
     /**
      * 根据车牌号查询自有车客户列表

+ 11 - 0
src/main/java/com/jkcredit/invoice/model/entity/customer/CustomerCarRec.java

@@ -16,6 +16,8 @@ public class CustomerCarRec {
     private String businessType;
 
     private String carNum;
+
+    private String [] carNumArr;
     /**
      * 车辆颜色 蓝牌车需要 填运营类型
      **/
@@ -188,6 +190,15 @@ public class CustomerCarRec {
         this.endTime = endTime;
     }
 
+
+    public String[] getCarNumArr() {
+        return carNumArr;
+    }
+
+    public void setCarNumArr(String[] carNumArr) {
+        this.carNumArr = carNumArr;
+    }
+
     @Override
     public String toString() {
         return "CustomerCarRec{" +

+ 79 - 60
src/main/java/com/jkcredit/invoice/service/nocar/impl/NoCarRecServiceImpl.java

@@ -14,6 +14,8 @@ import com.jkcredit.invoice.service.nocar.NoCarRecService;
 import com.jkcredit.invoice.service.upservice.SelfCarInterface;
 import com.jkcredit.invoice.util.DateUtil;
 import com.jkcredit.invoice.util.RespR;
+import com.jkcredit.invoice.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
@@ -27,6 +29,7 @@ import static com.jkcredit.invoice.common.CommonConst.SELF_CAR;
  * @author mumuxigua
  */
 @Service
+@Slf4j
 public class NoCarRecServiceImpl extends ServiceImpl<CustomerCarRecMapper, CustomerCarRec> implements NoCarRecService {
     @Autowired
     CustomerCarRecMapper customerCarRecMapper;
@@ -42,76 +45,92 @@ public class NoCarRecServiceImpl extends ServiceImpl<CustomerCarRecMapper, Custo
             customerRec.setCompanyName(customerCarRec.getCompanyName());
             customerRec.setCustomerName(customerCarRec.getCustomerName());
             customerRec = customerRecMapper.selectByCustomerNameAndCompany(customerRec);
+            String carNums = customerCarRec.getCarNum();
             if (customerRec != null) {
-                List<CustomerCarRec> customerCarRecs = customerCarRecMapper.selectAllEtcBySelfCarNum(customerCarRec.getCarNum());
-                CardBindQueryListToBRequest bRequest = new CardBindQueryListToBRequest();
-                bRequest.setPlateNum(customerCarRec.getCarNum());
-                bRequest.setCompanyNum(customerRec.getCompanyNum());
-                RespR<CardBindQueryListToBResponse> responseRespR = selfCarInterface.cardBindQueryListToB(bRequest);
-                if (responseRespR.getCode() != 1) {
-                    List<CardBindQueryListToBModel> bModels = responseRespR.getData().getResult();
-                    if (bModels != null && bModels.size() > 0) {
-                        if (customerCarRecs != null && customerCarRecs.size() > 0) {
-                            customerCarRecs.forEach(customerCarRec1 -> {
-                                boolean has = false;
-                                for (CardBindQueryListToBModel bModel : bModels) {
-                                    if (bModel.getCardId().equals(customerCarRec1.getEtcNum())) {
-                                        has = true;
-                                        customerCarRec1.setCompanyName(customerCarRec.getCompanyName());
-                                        if (customerCarRec1.getCompanyNum() != null && !customerCarRec1.getCompanyNum().equals(bModel.getCompanyNum())) {
-                                            customerCarRec1.setSuccTime(DateUtil.getCurrentDateStr());
-                                        }
-                                        customerCarRec1.setCompanyNum(bModel.getCompanyNum());
-                                        customerCarRec1.setCarNum(customerCarRec.getCarNum());
-                                        customerCarRec1.setCarColor(bModel.getPlateColor() + "");
-                                        customerCarRec1.setRecStatus(1);
-                                        customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
-                                    }
-                                }
-                                if (!has) {
-                                    customerCarRec1.setRecStatus(2);
-                                    customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
-                                }
-                            });
+                if(!StringUtil.isEmpty(carNums)){
+                    String [] carNumArr = carNums.split(",");
+                    for(int i =0;i<carNumArr.length;i++){
+                        customerCarRec.setCarNum(carNumArr[i]);
+                        try {
+                            updateCustomerCar(customerCarRec,customerRec);
+                        }catch (Exception e){
+                            e.printStackTrace();
+                            log.error("更新ETC失败:msg[{}]",e.getMessage());
                         }
-                        for (CardBindQueryListToBModel bModel : bModels) {
-                            boolean has = false;
-                            if (customerCarRecs != null && customerCarRecs.size() > 0) {
-                                for (CustomerCarRec customerCarRec1 : customerCarRecs) {
 
-                                    if (bModel.getCardId().equals(customerCarRec1.getEtcNum())) {
-                                        has = true;
-                                    }
+                    }
+                }
+            }
+            customerCarRec.setCarNumArr(carNums.split(","));
+        }
+        return customerCarRecMapper.selectAllByPage(page, customerCarRec);
+    }
+    public void updateCustomerCar(CustomerCarRec customerCarRec,CustomerRec customerRec){
+        List<CustomerCarRec> customerCarRecs = customerCarRecMapper.selectAllEtcBySelfCarNum(customerCarRec.getCarNum());
+        CardBindQueryListToBRequest bRequest = new CardBindQueryListToBRequest();
+        bRequest.setPlateNum(customerCarRec.getCarNum());
+        bRequest.setCompanyNum(customerRec.getCompanyNum());
+        RespR<CardBindQueryListToBResponse> responseRespR = selfCarInterface.cardBindQueryListToB(bRequest);
+        if (responseRespR.getCode() != 1) {
+            List<CardBindQueryListToBModel> bModels = responseRespR.getData().getResult();
+            if (bModels != null && bModels.size() > 0) {
+                if (customerCarRecs != null && customerCarRecs.size() > 0) {
+                    customerCarRecs.forEach(customerCarRec1 -> {
+                        boolean has = false;
+                        for (CardBindQueryListToBModel bModel : bModels) {
+                            if (bModel.getCardId().equals(customerCarRec1.getEtcNum())) {
+                                has = true;
+                                customerCarRec1.setCompanyName(customerCarRec.getCompanyName());
+                                if (customerCarRec1.getCompanyNum() != null && !customerCarRec1.getCompanyNum().equals(bModel.getCompanyNum())) {
+                                    customerCarRec1.setSuccTime(DateUtil.getCurrentDateStr());
                                 }
-                            }
-                            if (!has) {
-                                CustomerCarRec customerCarRecDb = new CustomerCarRec();
-                                customerCarRecDb.setInterType(1);
-                                customerCarRecDb.setCompanyNum(bModel.getCompanyNum());
-                                customerCarRecDb.setCarNum(bModel.getPlateNum());
-                                customerCarRecDb.setBusinessType("0");
-                                customerCarRecDb.setCustomerName(customerCarRec.getCustomerName());
-                                customerCarRecDb.setSuccTime(DateUtil.getCurrentDateStr());
-                                customerCarRecDb.setCompanyName(customerRec.getCompanyName());
-                                customerCarRecDb.setEtcNum(bModel.getCardId());
-                                customerCarRecDb.setCarColor(bModel.getPlateColor() + "");
-                                customerCarRecDb.setRecStatus(1);
-                                customerCarRecMapper.insert(customerCarRecDb);
+                                customerCarRec1.setCompanyNum(bModel.getCompanyNum());
+                                customerCarRec1.setCarNum(customerCarRec.getCarNum());
+                                customerCarRec1.setCarColor(bModel.getPlateColor() + "");
+                                customerCarRec1.setRecStatus(1);
+                                customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
                             }
                         }
-                    } else {
-                        //车牌下的卡都更新为注销
-                        if (customerCarRecs != null && customerCarRecs.size() > 0) {
-                            customerCarRecs.forEach(customerCarRec1 -> {
-                                customerCarRec1.setRecStatus(2);
-                                customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
-                            });
+                        if (!has) {
+                            customerCarRec1.setRecStatus(2);
+                            customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
+                        }
+                    });
+                }
+                for (CardBindQueryListToBModel bModel : bModels) {
+                    boolean has = false;
+                    if (customerCarRecs != null && customerCarRecs.size() > 0) {
+                        for (CustomerCarRec customerCarRec1 : customerCarRecs) {
+
+                            if (bModel.getCardId().equals(customerCarRec1.getEtcNum())) {
+                                has = true;
+                            }
                         }
                     }
+                    if (!has) {
+                        CustomerCarRec customerCarRecDb = new CustomerCarRec();
+                        customerCarRecDb.setInterType(1);
+                        customerCarRecDb.setCompanyNum(bModel.getCompanyNum());
+                        customerCarRecDb.setCarNum(bModel.getPlateNum());
+                        customerCarRecDb.setBusinessType("0");
+                        customerCarRecDb.setCustomerName(customerCarRec.getCustomerName());
+                        customerCarRecDb.setSuccTime(DateUtil.getCurrentDateStr());
+                        customerCarRecDb.setCompanyName(customerRec.getCompanyName());
+                        customerCarRecDb.setEtcNum(bModel.getCardId());
+                        customerCarRecDb.setCarColor(bModel.getPlateColor() + "");
+                        customerCarRecDb.setRecStatus(1);
+                        customerCarRecMapper.insert(customerCarRecDb);
+                    }
+                }
+            } else {
+                //车牌下的卡都更新为注销
+                if (customerCarRecs != null && customerCarRecs.size() > 0) {
+                    customerCarRecs.forEach(customerCarRec1 -> {
+                        customerCarRec1.setRecStatus(2);
+                        customerCarRecMapper.updateEtcByPrimaryKeySelective(customerCarRec1);
+                    });
                 }
             }
         }
-        return customerCarRecMapper.selectAllByPage(page, customerCarRec);
     }
-
 }

+ 2 - 1
src/main/java/com/jkcredit/invoice/service/selfcar/impl/SelfCarBussServiceImpl.java

@@ -36,7 +36,8 @@ public class SelfCarBussServiceImpl implements SelfCarBussService {
 
     @Override
     public List<CustomerCarRec> getEtcsByCarNum(String carNum) {
-        return customerCarRecMapper.selectBySelfCarNum(carNum);
+        String [] carNumArr = carNum.split(",");
+        return customerCarRecMapper.selectBySelfCarNum(carNumArr);
     }
 
     @Override

+ 11 - 4
src/main/resources/mapper/customer/CustomerCarRecMapper.xml

@@ -34,8 +34,11 @@
       <if test="query.customerName != null">
         and  customer_name = BINARY #{query.customerName,jdbcType=VARCHAR}
       </if>
-      <if test="query.carNum != null and query.carNum != ''">
-        and  car_num = BINARY #{query.carNum}
+      <if test="query.carNumArr != null">
+        and  car_num in
+        <foreach collection="query.carNumArr" item="carNum" index="index" separator="," open="(" close=")">
+          #{carNum}
+        </foreach>
       </if>
       <if test="query.companyName != null and query.companyName != ''">
         and  company_name  LIKE BINARY CONCAT('%',#{query.companyName},'%')
@@ -73,11 +76,15 @@
     from t_customer_carRec
     where  car_num = BINARY #{carNum,jdbcType=VARCHAR} and bussiness_type=2
   </select>
-  <select id="selectBySelfCarNum" parameterType="java.lang.String" resultMap="BaseResultMap">
+  <select id="selectBySelfCarNum" parameterType="java.util.Arrays" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />
     from t_customer_carRec
-    where  car_num = BINARY #{carNum,jdbcType=VARCHAR} and bussiness_type=0 and rec_status = 1
+    where  car_num in
+    <foreach collection="carNums" item="carNum" index="index" separator="," open="(" close=")">
+       #{carNum}
+    </foreach>
+    and bussiness_type=0 and rec_status = 1
   </select>
   <select id="selectAllEtcBySelfCarNum" parameterType="java.lang.String" resultMap="BaseResultMap">
     select