Browse Source

Merge remote-tracking branch 'origin/test' into test

wks 2 years ago
parent
commit
dfabdedc05

+ 9 - 5
src/main/java/com/ydtech/modules/inv/dao/InvSettlementSourceMapper.java

@@ -2,15 +2,19 @@ package com.ydtech.modules.inv.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
+import com.ydtech.modules.inv.model.po.InvSource;
+
+import java.util.List;
 
 /**
-* @author Administrator
-* @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Mapper
-* @createDate 2024-01-20 10:28:34
-* @Entity com.ydtech.modules.inv.model.po.InvSettlementSource
-*/
+ * @author Administrator
+ * @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Mapper
+ * @createDate 2024-01-20 10:28:34
+ * @Entity com.ydtech.modules.inv.model.po.InvSettlementSource
+ */
 public interface InvSettlementSourceMapper extends BaseMapper<InvSettlementSource> {
 
+    List<String> getReceivableListByLicenseno(List<String> namesList);
 }
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/inv/model/excel/InvSourceExcel.java

@@ -39,7 +39,7 @@ public class InvSourceExcel implements Serializable {
     /**
      * 保司机构id
      */
-    @ExcelProperty("保司机构代码")
+    @ExcelProperty("保司机构id")
     private String insuranceDeptId;
 
     /**

+ 25 - 0
src/main/java/com/ydtech/modules/inv/model/vo/InvSourceQueryVo.java

@@ -12,6 +12,7 @@ import org.thymeleaf.util.DateUtils;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 来源表
@@ -72,6 +73,12 @@ public class InvSourceQueryVo extends PageRequest implements Serializable {
     @ApiModelProperty("交强保单号")
     private String jqPolicyId;
 
+    /**
+     * 多个交强保单号
+     */
+    @ApiModelProperty("多个交强保单号")
+    private List<String>  jqPolicyIds;
+
     /**
      * 交强保费(含税)
      */
@@ -93,6 +100,12 @@ public class InvSourceQueryVo extends PageRequest implements Serializable {
     @ApiModelProperty("商业保单号")
     private String syPolicyId;
 
+    /**
+     * 多个商业保单号
+     */
+    @ApiModelProperty("多个商业保单号")
+    private List<String>  syPolicyIds;
+
     /**
      * 商业保费(含税)
      */
@@ -114,6 +127,12 @@ public class InvSourceQueryVo extends PageRequest implements Serializable {
     @ApiModelProperty("非车保单号")
     private String nonCarPolicyId;
 
+    /**
+     * 多个非车保单号
+     */
+    @ApiModelProperty("多个非车保单号")
+    private List<String> nonCarPolicyIds;
+
     /**
      * 非车保费(含税)
      */
@@ -142,6 +161,12 @@ public class InvSourceQueryVo extends PageRequest implements Serializable {
     @ApiModelProperty("车牌号")
     private String licenseno;
 
+    /**
+     * 多个车牌号
+     */
+    @ApiModelProperty("车牌号")
+    private List<String>  licensenos;
+
     /**
      * 出单日期
      */

+ 2 - 0
src/main/java/com/ydtech/modules/inv/service/InvReceivableService.java

@@ -58,4 +58,6 @@ public interface InvReceivableService {
     List<String> dataMatching();
 
     Boolean deleteSettlement(String[] ids);
+
+    List<String> getReceivableListByLicenseno(List<String> namesList);
 }

+ 41 - 3
src/main/java/com/ydtech/modules/inv/service/impl/InvReceivableServiceImpl.java

@@ -365,6 +365,22 @@ public class InvReceivableServiceImpl implements InvReceivableService {
             invSourceQueryVo.setRevenueTimeStartTime(split1[0]);
             invSourceQueryVo.setRevenueTimeEndTime(split1[1]);
         }
+        if (invSourceQueryVo.getJqPolicyId() != null && !"".equals(invSourceQueryVo.getJqPolicyId())) {
+            String[] split1 = invSourceQueryVo.getJqPolicyId().split(",");
+            invSourceQueryVo.setJqPolicyIds(Arrays.asList(split1));
+        }
+        if (invSourceQueryVo.getSyPolicyId() != null && !"".equals(invSourceQueryVo.getSyPolicyId())) {
+            String[] split1 = invSourceQueryVo.getSyPolicyId().split(",");
+            invSourceQueryVo.setSyPolicyIds(Arrays.asList(split1));
+        }
+        if (invSourceQueryVo.getNonCarPolicyId() != null && !"".equals(invSourceQueryVo.getNonCarPolicyId())) {
+            String[] split1 = invSourceQueryVo.getNonCarPolicyId().split(",");
+            invSourceQueryVo.setNonCarPolicyIds(Arrays.asList(split1));
+        }
+        if (invSourceQueryVo.getLicenseno() != null && !"".equals(invSourceQueryVo.getLicenseno())) {
+            String[] split1 = invSourceQueryVo.getLicenseno().split(",");
+            invSourceQueryVo.setLicensenos(Arrays.asList(split1));
+        }
         Page<InvSource> pageData = invSourceMapper.getRecivablePage(page, invSourceQueryVo);
         List<InvSource> records = pageData.getRecords();
         records.forEach(x -> {
@@ -497,6 +513,23 @@ public class InvReceivableServiceImpl implements InvReceivableService {
         if (invSettlementSourceQueryVo.getInsuredName() != null && !"".equals(invSettlementSourceQueryVo.getInsuredName())) {
             queryWrapper.like(InvSettlementSource::getInsuredName, invSettlementSourceQueryVo.getInsuredName());
         }
+
+        if (invSettlementSourceQueryVo.getJqPolicyId() != null && !"".equals(invSettlementSourceQueryVo.getJqPolicyId())) {
+            List<String> newsTypes = Arrays.asList(invSettlementSourceQueryVo.getJqPolicyId().split(","));
+            queryWrapper.in(InvSettlementSource::getJqPolicyId, newsTypes);
+        }
+        if (invSettlementSourceQueryVo.getSyPolicyId() != null && !"".equals(invSettlementSourceQueryVo.getSyPolicyId())) {
+            List<String> newsTypes = Arrays.asList(invSettlementSourceQueryVo.getSyPolicyId().split(","));
+            queryWrapper.in(InvSettlementSource::getSyPolicyId, newsTypes);
+        }
+        if (invSettlementSourceQueryVo.getNonCarPolicyId() != null && !"".equals(invSettlementSourceQueryVo.getNonCarPolicyId())) {
+            List<String> newsTypes = Arrays.asList(invSettlementSourceQueryVo.getNonCarPolicyId().split(","));
+            queryWrapper.in(InvSettlementSource::getNonCarPolicyId, newsTypes);
+        }
+        if (invSettlementSourceQueryVo.getLicenseno() != null && !"".equals(invSettlementSourceQueryVo.getLicenseno())) {
+            List<String> newsTypes = Arrays.asList(invSettlementSourceQueryVo.getLicenseno().split(","));
+            queryWrapper.in(InvSettlementSource::getLicenseno, newsTypes);
+        }
         Page pageData = invSettlementSourceMapper.selectPage(page, queryWrapper);
 
         return pageData;
@@ -664,13 +697,12 @@ public class InvReceivableServiceImpl implements InvReceivableService {
                         .add(invSource.getNonCarPremium().multiply(invSource.getNonCarNonCopyingRatio()))));
 
 
-
         //选择类型为平台类型时 应收金额 = 含税保费 * 应收比例
         if (invSource.getInvSourceType().equals("platform")) {
             //处理应收金额
             invSource.setReceivable(invSource.getJqPremiumTax().multiply(invSource.getJqReceivableRatio())
                     .add(invSource.getSyPremiumTax().multiply(invSource.getSyReceivableRatio())
-                    .add(invSource.getNonCarPremiumTax().multiply(invSource.getNonCarReceivableRatio()))));
+                            .add(invSource.getNonCarPremiumTax().multiply(invSource.getNonCarReceivableRatio()))));
             //处理应收总金额
             invSource.setTotalReceivableAmount(
                     invSource.getReceivable().add(invSource.getSubsidyAmount()));
@@ -703,7 +735,7 @@ public class InvReceivableServiceImpl implements InvReceivableService {
         invSettlementSource.setSettlementAmount(
                 invSettlementSource.getJqPremiumTax().multiply(invSettlementSource.getCompulsoryExportRatio())
                         .add(invSettlementSource.getSyPremiumTax().multiply(invSettlementSource.getCommercialExportRatio())
-                        .add(invSettlementSource.getNonCarPremiumTax().multiply(invSettlementSource.getNonVehicleExportRatio())))
+                                .add(invSettlementSource.getNonCarPremiumTax().multiply(invSettlementSource.getNonVehicleExportRatio())))
         );
         DateTime dateTime = new DateTime();
         invSettlementSource.setRevenueTime(dateTime.toString());
@@ -724,6 +756,12 @@ public class InvReceivableServiceImpl implements InvReceivableService {
         return i > 0 ? true : false;
     }
 
+    @Override
+    public List<String> getReceivableListByLicenseno(List<String> namesList) {
+        List<String> strings = invSettlementSourceMapper.getReceivableListByLicenseno(namesList);
+        return strings;
+    }
+
 }
 
 

+ 29 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvSettlementSourceServiceImpl.java

@@ -10,7 +10,9 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
 import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
+import com.ydtech.modules.inv.model.po.InvSource;
 import com.ydtech.modules.inv.service.InvChannelAccountService;
+import com.ydtech.modules.inv.service.InvReceivableService;
 import com.ydtech.modules.inv.service.InvSettlementSourceService;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
 * @author Administrator
@@ -27,10 +30,13 @@ import java.util.List;
 */
 @Service
 public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSourceMapper, InvSettlementSource>
-    implements InvSettlementSourceService {
+        implements InvSettlementSourceService {
     @Autowired
     private InvSettlementSourceService invSettlementSourceService;
 
+    @Autowired
+    private InvReceivableService invReceivableService;
+
     @Autowired
     private InvChannelAccountService invChannelAccountService;
 
@@ -40,8 +46,29 @@ public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSou
     @Override
     public HttpResult readInvSettlementSourceExcel(String file) {
         List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
-        List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels),InvSettlementSource.class);
+        List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels), InvSettlementSource.class);
+
+        List<String> namesList = invSettlementSources.stream()
+                .map(InvSettlementSource::getLicenseno)
+                .collect(Collectors.toList());
+
+        StringBuilder licensenos = new StringBuilder();
+        if (namesList.size() > 0) {
+            List<String> receivableLicensenos = invReceivableService.getReceivableListByLicenseno(namesList);
+            for (InvSettlementSource invSettlementSource : invSettlementSources) {
+                if (!receivableLicensenos.contains(invSettlementSource.getLicenseno())) {
+                    licensenos.append(invSettlementSource.getLicenseno());
+                    licensenos.append(",");
+                }
+            }
+        }
+
         boolean result = invSettlementSourceService.saveOrUpdateBatchWithConditions(invSettlementSources);
+
+        if (licensenos.length() > 0) {
+            licensenos.append("未在应收表中查询到对应车牌号");
+            return result ? HttpResult.ok("导入成功", licensenos.toString()) : HttpResult.error("导入失败");
+        }
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
     }
 

+ 5 - 0
src/main/java/com/ydtech/modules/ser/controller/SerRescueOrderController.java

@@ -52,5 +52,10 @@ public class SerRescueOrderController extends BaseController {
         return rescueOrderService.insertRescueOrder(rescueOrder);
     }
 
+    @PostMapping("update/rescueOrder")
+    @ApiOperation("修改订单")
+    public HttpResult<Object> updateRescueOrder(@RequestBody RescueOrder rescueOrder) {
+        return rescueOrderService.updateRescueOrder(rescueOrder);
+    }
 
 }

+ 2 - 0
src/main/java/com/ydtech/modules/ser/service/SerRescueOrderService.java

@@ -13,4 +13,6 @@ public interface SerRescueOrderService extends IService<RescueOrder> {
     HttpResult<Object> insertRescueOrder(RescueOrder rescueOrder);
 
     IPage<RescueOrder> rescueOrderPage(RescueOrderVo rescueOrderVo);
+
+    HttpResult<Object> updateRescueOrder(RescueOrder rescueOrder);
 }

+ 6 - 0
src/main/java/com/ydtech/modules/ser/service/impl/SerRescueOrderServiceImpl.java

@@ -119,4 +119,10 @@ public class SerRescueOrderServiceImpl extends ServiceImpl<SerRescueOrderMapper,
         });
         return pageData;
     }
+
+    @Override
+    public HttpResult<Object> updateRescueOrder(RescueOrder rescueOrder) {
+         baseMapper.updateById(rescueOrder);
+        return HttpResult.ok();
+    }
 }

+ 7 - 0
src/main/resources/mapper/modules/inv/InvSettlementSourceMapper.xml

@@ -39,4 +39,11 @@
         compulsory_export_ratio,commercial_export_ratio,non_vehicle_export_ratio,
         settlement_amount,agency_settlement_time,revenue_time,revenue_name,revenue_userid
     </sql>
+    <select id="getReceivableListByLicenseno" resultType="java.lang.String">
+        select licenseno from inv_source where  licenseno in
+        <foreach collection="namesList" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>

+ 16 - 4
src/main/resources/mapper/modules/inv/InvSourceMapper.xml

@@ -136,16 +136,28 @@
         ) a
         where 1=1
         <if test="param.licenseno != null and param.licenseno != ''">
-            and a.licenseno = #{param.licenseno}
+            and a.licenseno in
+            <foreach item="licenseno" collection="param.licenseno.split(',')" open="(" separator="," close=")">
+                #{licenseno}
+            </foreach>
         </if>
         <if test="param.jqPolicyId != null and param.jqPolicyId != ''">
-            and a.jq_policy_id = #{param.jqPolicyId}
+            and a.jq_policy_id in
+            <foreach item="jqPolicyId" collection="param.jqPolicyId.split(',')" open="(" separator="," close=")">
+                #{jqPolicyId}
+            </foreach>
         </if>
         <if test="param.syPolicyId != null and param.syPolicyId != ''">
-            and a.sy_policy_id = #{param.syPolicyId}
+            and a.sy_policy_id in
+            <foreach item="syPolicyId" collection="param.syPolicyId.split(',')" open="(" separator="," close=")">
+                #{syPolicyId}
+            </foreach>
         </if>
         <if test="param.nonCarPolicyId != null and param.nonCarPolicyId != ''">
-            and a.non_car_policy_id = #{param.nonCarPolicyId}
+            and a.non_car_policy_id in
+            <foreach item="nonCarPolicyId" collection="param.nonCarPolicyId.split(',')" open="(" separator="," close=")">
+                #{nonCarPolicyId}
+            </foreach>
         </if>
         <if test="param.insuranceId != null and param.insuranceId != ''">
             and a.insurance_id = #{param.insuranceId}

BIN
src/main/resources/template/finance/accountsReceivable.xlsx


BIN
src/main/resources/template/finance/settlement.xlsx