Browse Source

Merge branch 'test'

wks 2 năm trước cách đây
mục cha
commit
83b774e869

+ 10 - 10
src/main/java/com/ydtech/modules/admin/controller/SysDeptController.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.controller;
 package com.ydtech.modules.admin.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysDept;
@@ -46,9 +47,14 @@ public class SysDeptController extends BaseController {
     //@PreAuthorize("hasAuthority('sys:dept:view')")
     //@PreAuthorize("hasAuthority('sys:dept:view')")
     @ApiOperation(value = "获取树结构")
     @ApiOperation(value = "获取树结构")
     @GetMapping(value = "/findTree")
     @GetMapping(value = "/findTree")
-    public HttpResult<List<SysDept>> findTree(String deptId,String managementSource) {
-        SysUser user = getUser();
-//        String deptId = user.getDeptId();
+    public HttpResult<List<SysDept>> findTree() {
+        BaseController baseController = new BaseController();
+        String deptId = baseController.getDeptId();
+        LambdaQueryWrapper<SysDept> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysDept::getDelFlag, 0).eq(SysDept::getId, deptId);
+        SysDept one = sysDeptService.getOne(queryWrapper);
+        String managementSource = one.getManagementSource();
+
         return HttpResult.ok(sysDeptService.findTree(deptId,managementSource));
         return HttpResult.ok(sysDeptService.findTree(deptId,managementSource));
     }
     }
 
 
@@ -71,13 +77,7 @@ public class SysDeptController extends BaseController {
         return HttpResult.ok(sysDeptService.removeByIds(records));
         return HttpResult.ok(sysDeptService.removeByIds(records));
     }
     }
 
 
-    @GetMapping(value = "/findLeftDeptTree")
-    public HttpResult findLeftDeptTree(String deptCode) {
-        if (deptCode.contains("D")) {
-            deptCode = deptCode.substring(0, deptCode.indexOf("D"));
-        }
-        return HttpResult.ok(sysDeptService.selectListTreeSysDeptVO(deptCode));
-    }
+
 
 
     ////    @PreAuthorize("hasAuthority('sys:dept:view')")
     ////    @PreAuthorize("hasAuthority('sys:dept:view')")
     @PostMapping(value = "/findSubDept")
     @PostMapping(value = "/findSubDept")

+ 0 - 7
src/main/java/com/ydtech/modules/admin/service/SysDeptService.java

@@ -13,13 +13,6 @@ import java.util.List;
 
 
 public interface SysDeptService extends IService<SysDept> {
 public interface SysDeptService extends IService<SysDept> {
 
 
-    /**
-     * 查找自已有权限的部门树
-     *
-     * @param deptCode
-     * @return
-     */
-    List<TreeSysDeptVO> selectListTreeSysDeptVO(String deptCode);
 
 
     //
     //
     PageResult findSubDepts(PageRequest pageRequest);
     PageResult findSubDepts(PageRequest pageRequest);

+ 0 - 27
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -186,33 +186,6 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
     }
     }
 
 
 
 
-    //查找自已有权限的部门树
-    public List<TreeSysDeptVO> selectListTreeSysDeptVO(String id) {
-        if (id == null) {
-            id = "";
-        }
-        LambdaQueryWrapper<SysDept> lqw = new LambdaQueryWrapper<>();
-
-        lqw.like(StringUtils.isNotEmpty(id), SysDept::getId, id);
-        List<SysDept> deptList = list(lqw);
-        List<TreeSysDeptVO> recordList = new ArrayList<>();
-
-        deptList.forEach(a -> {
-            TreeSysDeptVO model = new TreeSysDeptVO();
-            model.setId(a.getId());
-            model.setName(a.getName());
-            model.setParentId(a.getParentId());
-            model.setDeptCode(a.getDeptCode());
-            model.setProvince(a.getProvince());
-            model.setCity(a.getCity());
-            model.setArea(a.getArea());
-            model.setComlevel(a.getComlevel());
-            recordList.add(model);
-        });
-
-        return recordList;
-    }
-
 
 
     public String findMaxDeptId(String deptId) {
     public String findMaxDeptId(String deptId) {
         if (deptId == null) return "";
         if (deptId == null) return "";

+ 3 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -35,6 +35,7 @@ public class QuoteVerificationAspect {
 
 
     private final TaxSourceServiceImpl taxSourceService;
     private final TaxSourceServiceImpl taxSourceService;
 
 
+
     @Before("@annotation(com.ydtech.modules.order.aop.QuoteVerification)")
     @Before("@annotation(com.ydtech.modules.order.aop.QuoteVerification)")
     public void doBefore(JoinPoint point) {
     public void doBefore(JoinPoint point) {
         Object[] args = point.getArgs();
         Object[] args = point.getArgs();
@@ -53,7 +54,8 @@ public class QuoteVerificationAspect {
 
 
                 //税源查询
                 //税源查询
                 BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(orderno, agreementId);
                 BaseQuoteInfoVo quoteInfo = insOrdersComponents.getQuoteInfo(orderno, agreementId);
-                String taxAgreementId = taxSourceService.getAgreementId(deptId, userId, companyId, quoteInfo.getCarInfo().getLicenseNo(), quoteInfo.getCarInfo().getEnginedesc());
+                String productid = quoteInfo.getProductid();
+                String taxAgreementId = taxSourceService.getAgreementId(deptId, userId, companyId, quoteInfo.getCarInfo().getLicenseNo(), quoteInfo.getCarInfo().getEnginedesc(), productid);
                 if(!"".equals(taxAgreementId)){
                 if(!"".equals(taxAgreementId)){
                     ((BaseQuoteVo<?>) arg).setAgreementId(taxAgreementId);
                     ((BaseQuoteVo<?>) arg).setAgreementId(taxAgreementId);
                 }
                 }

+ 1 - 1
src/main/java/com/ydtech/modules/order/components/ZhongmeiRequestApiComponents.java

@@ -206,7 +206,7 @@ public class ZhongmeiRequestApiComponents {
 
 
     public <T extends BaseResponse> void validationResults(T t) {
     public <T extends BaseResponse> void validationResults(T t) {
         if ("-1".equals(t.getHead().getReturnCode())) {
         if ("-1".equals(t.getHead().getReturnCode())) {
-            if(StringUtils.isNotEmpty(t.getHead().getReturnMessage())&& t.getHead().getReturnMessage().contains("商业险重复投保") && t.getHead().getReturnMessage().contains("重复投保的本公司的保单信息")){
+            if(StringUtils.isNotEmpty(t.getHead().getReturnMessage())&& t.getHead().getReturnMessage().contains("平台返回") && t.getHead().getReturnMessage().contains("重复投保")){
 
 
             }else{
             }else{
                 throw new SystemException(t.getHead().getReturnMessage());
                 throw new SystemException(t.getHead().getReturnMessage());

+ 70 - 14
src/main/java/com/ydtech/modules/order/components/zhongmei/ZhongmeiRepeatInsuranceComponents.java

@@ -5,6 +5,7 @@ import com.ydtech.constants.InsuranceEnum;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.constants.enums.InsuranceRisk;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.components.ZhongmeiRequestApiComponents;
 import com.ydtech.modules.order.components.ZhongmeiRequestApiComponents;
+import com.ydtech.modules.order.components.gouren.GuorenDuplicateInsuranceComponent;
 import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
 import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
 import com.ydtech.modules.order.entity.api.zhongmei.request.QuotedPriceRequest;
 import com.ydtech.modules.order.entity.api.zhongmei.request.QuotedPriceRequest;
 import com.ydtech.modules.order.entity.api.zhongmei.response.QuotedPriceResponse;
 import com.ydtech.modules.order.entity.api.zhongmei.response.QuotedPriceResponse;
@@ -29,14 +30,57 @@ import java.util.List;
 @Component
 @Component
 public class ZhongmeiRepeatInsuranceComponents {
 public class ZhongmeiRepeatInsuranceComponents {
 
 
+    public static final String JQ = "交强险";
+
     private final ZhongmeiRequestApiComponents zhongmeiRequestApiComponents;
     private final ZhongmeiRequestApiComponents zhongmeiRequestApiComponents;
 
 
     public ZhongmeiRepeatInsuranceComponents(@Lazy ZhongmeiRequestApiComponents zhongmeiRequestApiComponents) {
     public ZhongmeiRepeatInsuranceComponents(@Lazy ZhongmeiRequestApiComponents zhongmeiRequestApiComponents) {
         this.zhongmeiRequestApiComponents = zhongmeiRequestApiComponents;
         this.zhongmeiRequestApiComponents = zhongmeiRequestApiComponents;
     }
     }
 
 
+    public QuotedPriceResponse test(QuotedPriceRequest quotedPriceRequest, QuotedPriceResponse quotedPriceResponse,
+                                    BaseQuoteInfoVo quoteInfo) {
+        String returnMessage = quotedPriceResponse.getHead().getReturnMessage();
+
+        QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBiz = null;
+        QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBusi = null;
+        List<QuotedPriceRequest.ContractDTO> contractDTOList = quotedPriceRequest.getBusinessData().getContract();
+
+        for (QuotedPriceRequest.ContractDTO contractDTO : contractDTOList) {
+            QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTO = contractDTO.getContractMain();
+            if ("0330".equals(contractMainDTO.getRiskCode())) {
+                contractMainDTOBiz = contractDTO.getContractMain();
+            } else {
+                contractMainDTOBusi = contractDTO.getContractMain();
+            }
+        }
+
+        List<RiskInfoVo> riskList = quoteInfo.getRiskList();
+        if (StringUtils.isNotEmpty(returnMessage) && returnMessage.contains("重复投保")) {
+            if (returnMessage.contains(GuorenDuplicateInsuranceComponent.JQ)) {
+                String jqEndDate = GuorenDuplicateInsuranceComponent.getEndDate(returnMessage,
+                        GuorenDuplicateInsuranceComponent.THE_SECOND_REGEX);
+                contractMainDTOBiz = getPeriodDate(jqEndDate, contractMainDTOBiz);
+            }
+
+            for (RiskInfoVo riskInfoVo : riskList) {
+                if (InsuranceRisk.TRAFFIC.getCode().equals(riskInfoVo.getRiskCode())) {
+                    riskInfoVo.setStartDate(contractMainDTOBiz.getValidDate());
+                    riskInfoVo.setEndDate(contractMainDTOBiz.getExpiryDate());
+                } else if (InsuranceRisk.BUSINESS.getCode().equals(riskInfoVo.getRiskCode())) {
+                    riskInfoVo.setStartDate(contractMainDTOBusi.getValidDate());
+                    riskInfoVo.setEndDate(contractMainDTOBusi.getExpiryDate());
+                }
+            }
+            return zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
+
+        }
+        return quotedPriceResponse;
+    }
+
 
 
-    public QuotedPriceResponse dealRepeatDate(QuotedPriceRequest quotedPriceRequest, QuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo quoteInfo) {
+    public QuotedPriceResponse dealRepeatDate(QuotedPriceRequest quotedPriceRequest, QuotedPriceResponse quotedPriceResponse,
+                                              BaseQuoteInfoVo quoteInfo) {
         String rtnMsgBz = "";
         String rtnMsgBz = "";
         String rtnMsgBusi = "";
         String rtnMsgBusi = "";
         List<RiskInfoVo> riskList = quoteInfo.getRiskList();
         List<RiskInfoVo> riskList = quoteInfo.getRiskList();
@@ -47,9 +91,14 @@ public class ZhongmeiRepeatInsuranceComponents {
             rtnMsgBusi = quotedPriceResponse.getBizPlatformMsg().getAnswer();
             rtnMsgBusi = quotedPriceResponse.getBizPlatformMsg().getAnswer();
         }
         }
         InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> {}\n\t---------> {}", "中煤财险重复投保处理", rtnMsgBz + rtnMsgBusi);
         InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> {}\n\t---------> {}", "中煤财险重复投保处理", rtnMsgBz + rtnMsgBusi);
-       /* rtnMsgBz = "交强险平台返回:号牌号码“晋HQE092”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02CCIC140022102196416712744293;保单号 PDFA22140123250000001413;起保日期 2022-10-24 00:00;终保日期 2023-10-24 00:00;号牌号码 晋HQE092;号牌种类 02;车架号 LSGBC5356HG101426;发动机号 170971343;地区 山西。";
-        rtnMsgBusi = "平台校验:成功 投保查询码:V0101ZMBX140023092205710579353 平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:6605212022140193005587; 保险公司:中国人寿财产保险公司: 起保日期:2022-10-1600:00:00; 终保日期:2023-10-16; 录单日期:2022-09-15; 险种名称:机动车第三者责任保险: 号牌号码:晋A711BW; 号牌种类代码:02; 号牌底色:01; 车辆识别代号: LGWEF4A52HF424155; 发动机号:1725091016";
-        投保查询码:V0101ZMBX140023102198367810970平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:;保险公司:;起保日期:;终保日期:;录单日期:;车辆识别代号:LVHRE4876B5049915;发动机号:5049956;重复投保公司种类:其他公司
+       /* rtnMsgBz = "交强险平台返回:号牌号码“晋HQE092”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02CCIC140022102196416712744293;保单号
+       PDFA22140123250000001413;起保日期 2022-10-24 00:00;终保日期 2023-10-24 00:00;号牌号码 晋HQE092;号牌种类 02;车架号 LSGBC5356HG101426;发动机号 170971343;地区
+       山西。";
+        rtnMsgBusi = "平台校验:成功 投保查询码:V0101ZMBX140023092205710579353 平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:6605212022140193005587;
+        保险公司:中国人寿财产保险公司: 起保日期:2022-10-1600:00:00; 终保日期:2023-10-16; 录单日期:2022-09-15; 险种名称:机动车第三者责任保险: 号牌号码:晋A711BW; 号牌种类代码:02; 号牌底色:01;
+        车辆识别代号: LGWEF4A52HF424155; 发动机号:1725091016";
+        投保查询码:V0101ZMBX140023102198367810970平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:;保险公司:;起保日期:;终保日期:;录单日期:;车辆识别代号:LVHRE4876B5049915;
+        发动机号:5049956;重复投保公司种类:其他公司
 */
 */
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBiz = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBiz = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBusi = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBusi = null;
@@ -62,14 +111,14 @@ public class ZhongmeiRepeatInsuranceComponents {
             } else {
             } else {
                 contractMainDTOBusi = contractDTO.getContractMain();
                 contractMainDTOBusi = contractDTO.getContractMain();
             }
             }
-
         }
         }
+
         String jqEndDate = "";
         String jqEndDate = "";
         String syEndDate = "";
         String syEndDate = "";
 
 
         if (StringUtils.isNotEmpty(rtnMsgBz) && rtnMsgBz.contains("起保日期") && rtnMsgBz.contains("终保日期")) {
         if (StringUtils.isNotEmpty(rtnMsgBz) && rtnMsgBz.contains("起保日期") && rtnMsgBz.contains("终保日期")) {
             String coverageEndDate = rtnMsgBz.substring(rtnMsgBz.indexOf("终保日期") + 5, rtnMsgBz.indexOf("终保日期") + 5 + 16);
             String coverageEndDate = rtnMsgBz.substring(rtnMsgBz.indexOf("终保日期") + 5, rtnMsgBz.indexOf("终保日期") + 5 + 16);
-            if(coverageEndDate.contains("-")){
+            if (coverageEndDate.contains("-")) {
                 LocalDateTime start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN_EXT1);
                 LocalDateTime start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.DATETIME_PATTERN_EXT1);
                 jqEndDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
                 jqEndDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
                 contractMainDTOBiz = getPeriodDate(jqEndDate, contractMainDTOBiz);
                 contractMainDTOBiz = getPeriodDate(jqEndDate, contractMainDTOBiz);
@@ -79,7 +128,7 @@ public class ZhongmeiRepeatInsuranceComponents {
                         riskInfoVo.setEndDate(contractMainDTOBiz.getExpiryDate());
                         riskInfoVo.setEndDate(contractMainDTOBiz.getExpiryDate());
                     }
                     }
                 }
                 }
-            }else{
+            } else {
                 return quotedPriceResponse;
                 return quotedPriceResponse;
             }
             }
 
 
@@ -88,7 +137,7 @@ public class ZhongmeiRepeatInsuranceComponents {
         // 商业险
         // 商业险
         if (StringUtils.isNotEmpty(rtnMsgBusi) && rtnMsgBusi.contains("起保日期") && rtnMsgBusi.contains("终保日期")) {
         if (StringUtils.isNotEmpty(rtnMsgBusi) && rtnMsgBusi.contains("起保日期") && rtnMsgBusi.contains("终保日期")) {
             String coverageEndDate = rtnMsgBusi.substring(rtnMsgBusi.indexOf("终保日期") + 5, rtnMsgBusi.indexOf("终保日期") + 5 + 10);
             String coverageEndDate = rtnMsgBusi.substring(rtnMsgBusi.indexOf("终保日期") + 5, rtnMsgBusi.indexOf("终保日期") + 5 + 10);
-            if(coverageEndDate.contains("-")){
+            if (coverageEndDate.contains("-")) {
                 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                 DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                 LocalDateTime start = LocalDate.parse(coverageEndDate, dateTimeFormatter).atStartOfDay();
                 LocalDateTime start = LocalDate.parse(coverageEndDate, dateTimeFormatter).atStartOfDay();
                 syEndDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
                 syEndDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
@@ -99,7 +148,7 @@ public class ZhongmeiRepeatInsuranceComponents {
                         riskInfoVo.setEndDate(contractMainDTOBusi.getExpiryDate());
                         riskInfoVo.setEndDate(contractMainDTOBusi.getExpiryDate());
                     }
                     }
                 }
                 }
-            }else{
+            } else {
                 return quotedPriceResponse;
                 return quotedPriceResponse;
             }
             }
         }
         }
@@ -111,12 +160,18 @@ public class ZhongmeiRepeatInsuranceComponents {
         return zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
         return zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
     }
     }
 
 
-    public QuotedPriceResponse dealRepeatDateFormError(QuotedPriceRequest quotedPriceRequest, QuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo quoteInfo) {
-        InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> {}\n\t---------> {}", "中煤财险重复投保处理", quotedPriceResponse.getHead().getReturnMessage());
+    public QuotedPriceResponse dealRepeatDateFormError(QuotedPriceRequest quotedPriceRequest, QuotedPriceResponse quotedPriceResponse,
+                                                       BaseQuoteInfoVo quoteInfo) {
+        InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> {}\n\t---------> {}", "中煤财险重复投保处理",
+                quotedPriceResponse.getHead().getReturnMessage());
         String rtnMsgBusi = quotedPriceResponse.getHead().getReturnMessage();
         String rtnMsgBusi = quotedPriceResponse.getHead().getReturnMessage();
         List<RiskInfoVo> riskList = quoteInfo.getRiskList();
         List<RiskInfoVo> riskList = quoteInfo.getRiskList();
-       /* rtnMsgBz = "交强险平台返回:号牌号码“晋HQE092”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02CCIC140022102196416712744293;保单号 PDFA22140123250000001413;起保日期 2022-10-24 00:00;终保日期 2023-10-24 00:00;号牌号码 晋HQE092;号牌种类 02;车架号 LSGBC5356HG101426;发动机号 170971343;地区 山西。";
-        rtnMsgBusi = "平台校验:成功 投保查询码:V0101ZMBX140023092205710579353 平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:6605212022140193005587; 保险公司:中国人寿财产保险公司: 起保日期:2022-10-1600:00:00; 终保日期:2023-10-16; 录单日期:2022-09-15; 险种名称:机动车第三者责任保险: 号牌号码:晋A711BW; 号牌种类代码:02; 号牌底色:01; 车辆识别代号: LGWEF4A52HF424155; 发动机号:1725091016";
+       /* rtnMsgBz = "交强险平台返回:号牌号码“晋HQE092”的保单发生重复投保,与其重复投保的其它公司的保单信息如下:投保确认码 02CCIC140022102196416712744293;保单号
+       PDFA22140123250000001413;起保日期 2022-10-24 00:00;终保日期 2023-10-24 00:00;号牌号码 晋HQE092;号牌种类 02;车架号 LSGBC5356HG101426;发动机号 170971343;地区
+       山西。";
+        rtnMsgBusi = "平台校验:成功 投保查询码:V0101ZMBX140023092205710579353 平台校验,可能存在重复投保,请关注以下平台返回的信息。保单号:6605212022140193005587;
+        保险公司:中国人寿财产保险公司: 起保日期:2022-10-1600:00:00; 终保日期:2023-10-16; 录单日期:2022-09-15; 险种名称:机动车第三者责任保险: 号牌号码:晋A711BW; 号牌种类代码:02; 号牌底色:01;
+        车辆识别代号: LGWEF4A52HF424155; 发动机号:1725091016";
 */
 */
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBiz = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBiz = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBusi = null;
         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTOBusi = null;
@@ -150,7 +205,8 @@ public class ZhongmeiRepeatInsuranceComponents {
         return zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
         return zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
     }
     }
 
 
-    private QuotedPriceRequest.ContractDTO.ContractMainDTO getPeriodDate(String startDate, QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTO) {
+    private QuotedPriceRequest.ContractDTO.ContractMainDTO getPeriodDate(String startDate,
+                                                                         QuotedPriceRequest.ContractDTO.ContractMainDTO contractMainDTO) {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
         LocalDate localDate = LocalDate.parse(startDate, formatter);
         LocalDate localDate = LocalDate.parse(startDate, formatter);
         LocalDate nextYears = localDate.plusYears(1);
         LocalDate nextYears = localDate.plusYears(1);

+ 5 - 0
src/main/java/com/ydtech/modules/order/entity/vo/BaseQuoteInfoVo.java

@@ -24,12 +24,17 @@ public class BaseQuoteInfoVo extends YaQuoteInfoVo {
     @ApiModelProperty("代客录单用-实际业务归属人")
     @ApiModelProperty("代客录单用-实际业务归属人")
     private String userId;
     private String userId;
 
 
+    @ApiModelProperty("险种id")
+    private String productid;
+
     public BaseQuoteInfoVo() {
     public BaseQuoteInfoVo() {
     }
     }
 
 
     public BaseQuoteInfoVo(InsOrders insOrders) {
     public BaseQuoteInfoVo(InsOrders insOrders) {
         super(insOrders);
         super(insOrders);
         this.orderNo = insOrders.getOrderno();
         this.orderNo = insOrders.getOrderno();
+        // 返回险种
+        this.productid = insOrders.getProductid();
         this.vehicleAndVesselTax = insOrders.getVehicleAndVesselTax().toJavaObject(VehicleAndVesselTax.class);
         this.vehicleAndVesselTax = insOrders.getVehicleAndVesselTax().toJavaObject(VehicleAndVesselTax.class);
     }
     }
 
 

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/impl/DaJiaOrderServiceImpl.java

@@ -300,6 +300,8 @@ public class DaJiaOrderServiceImpl implements DaJiaOrderService {
             newEndDate = DateTimeUtil.format(end, DateTimeUtil.DATETIME_PATTERN);
             newEndDate = DateTimeUtil.format(end, DateTimeUtil.DATETIME_PATTERN);
         } else {
         } else {
             newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
             newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
+            //减去一天
+            end = end.minusDays(1L);
             newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
             newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
         }
         }
         result.add(newStartDate);
         result.add(newStartDate);

+ 13 - 2
src/main/java/com/ydtech/modules/order/service/impl/YongchengOrderApiServiceImpl.java

@@ -500,8 +500,19 @@ public class YongchengOrderApiServiceImpl implements YongchengOrderApiService {
             LocalDateTime start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.UNSIGNED_DATETIME_PATTERN_EXT1);
             LocalDateTime start = DateTimeUtil.parseLocalDateTime(coverageEndDate, DateTimeUtil.UNSIGNED_DATETIME_PATTERN_EXT1);
             LocalDateTime end = start.plusYears(1L).minusDays(1L);
             LocalDateTime end = start.plusYears(1L).minusDays(1L);
 
 
-            String newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
-            String newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
+            String newStartDate = "";
+            String newEndDate = "";
+            //判断是否是及时起保
+            if(start.getHour() > 0 || start.getMinute() > 0 || start.getSecond() > 0){
+                newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
+                end = end.plusDays(1L);
+                newEndDate = DateTimeUtil.getStartTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
+            }else{
+                newStartDate = DateTimeUtil.getStartTimeOfDayStr(start, DateTimeUtil.DATETIME_PATTERN);
+                newEndDate = DateTimeUtil.getEndTimeOfDayStr(end, DateTimeUtil.DATETIME_PATTERN);
+            }
+
+
             System.err.println("商业新起:" + newStartDate);
             System.err.println("商业新起:" + newStartDate);
             System.err.println("商业新止:" + newEndDate);
             System.err.println("商业新止:" + newEndDate);
 
 

+ 3 - 1
src/main/java/com/ydtech/modules/protocol/entity/dto/TaxSourceDto.java

@@ -9,7 +9,6 @@ import lombok.Data;
 @TableName("ptl_tax_source")
 @TableName("ptl_tax_source")
 public class TaxSourceDto {
 public class TaxSourceDto {
 
 
-
     private String id;
     private String id;
 
 
     private String license;
     private String license;
@@ -22,5 +21,8 @@ public class TaxSourceDto {
 
 
     private String isTaxSource;
     private String isTaxSource;
 
 
+    private String insuranceRepertoire;
+
+    private String banishAgreementId;
 
 
 }
 }

+ 11 - 8
src/main/java/com/ydtech/modules/protocol/entity/vo/TaxSourceVo.java

@@ -1,23 +1,22 @@
 package com.ydtech.modules.protocol.entity.vo;
 package com.ydtech.modules.protocol.entity.vo;
 
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import java.util.List;
 import java.util.List;
 
 
 @Data
 @Data
+@ApiModel("险种")
 public class TaxSourceVo {
 public class TaxSourceVo {
 
 
-    /**
-     * 保险公司id
-     */
-    @TableField(value = "ins_company_id")
+    @ApiModelProperty("保险公司id")
     private String insCompanyId;
     private String insCompanyId;
-    /**
-     * 保险公司名称
-     */
-    @TableField(value = "ins_company_name")
+
+    @ApiModelProperty("保险公司名称")
     private String insCompanyName;
     private String insCompanyName;
+
     /**
     /**
      * 税源配置信息
      * 税源配置信息
      */
      */
@@ -44,6 +43,10 @@ public class TaxSourceVo {
          * 车牌号
          * 车牌号
          */
          */
         private String license;
         private String license;
+
+        @ApiModelProperty("支持险种")
+        private String insuranceRepertoire;
+
     }
     }
 
 
     @Data
     @Data

+ 0 - 1
src/main/java/com/ydtech/modules/protocol/service/ITaxSourceExcludeService.java

@@ -9,7 +9,6 @@ import org.springframework.stereotype.Service;
 
 
 import java.util.List;
 import java.util.List;
 
 
-@Service
 public interface ITaxSourceExcludeService extends IService<TaxSourceExcludeDto> {
 public interface ITaxSourceExcludeService extends IService<TaxSourceExcludeDto> {
 
 
 }
 }

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/service/ITaxSourceService.java

@@ -27,5 +27,5 @@ public interface ITaxSourceService extends IService<TaxSourceDto> {
 
 
     List<PtlAgreementInsCompanyDto> getAllAgreement(String deptId, String userId);
     List<PtlAgreementInsCompanyDto> getAllAgreement(String deptId, String userId);
 
 
-    String getAgreementId(String deptId, String userId,String companyId,String license,String volume);
+    String getAgreementId(String deptId, String userId, String companyId, String license, String volume, String productid);
 }
 }

+ 25 - 16
src/main/java/com/ydtech/modules/protocol/service/impl/TaxSourceServiceImpl.java

@@ -31,6 +31,8 @@ import org.springframework.transaction.annotation.Transactional;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Arrays;
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 @Service
 @Service
 public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSourceDto> implements ITaxSourceService {
 public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSourceDto> implements ITaxSourceService {
@@ -67,7 +69,7 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
                 }
                 }
             }
             }
         }
         }
-        QueryWrapper queryWrapper = new QueryWrapper();
+        QueryWrapper<PtlAgreement> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("id", agreementIds);
         queryWrapper.in("id", agreementIds);
         List<PtlAgreement> list = ptlAgreementService.list(queryWrapper);
         List<PtlAgreement> list = ptlAgreementService.list(queryWrapper);
         return list;
         return list;
@@ -92,6 +94,7 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
             dto.setAgreementId(agreementTax.getAgreementId());
             dto.setAgreementId(agreementTax.getAgreementId());
             dto.setIsTaxSource(agreementTax.getIsTaxSource());
             dto.setIsTaxSource(agreementTax.getIsTaxSource());
             dto.setLicense(agreementTax.getLicense());
             dto.setLicense(agreementTax.getLicense());
+            dto.setInsuranceRepertoire(agreementTax.getInsuranceRepertoire());
             dtos.add(dto);
             dtos.add(dto);
         });
         });
         //组装排除的部门信息
         //组装排除的部门信息
@@ -157,6 +160,7 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
             agreementTax.setAgreementId(item.getAgreementId());
             agreementTax.setAgreementId(item.getAgreementId());
             agreementTax.setIsTaxSource(item.getIsTaxSource());
             agreementTax.setIsTaxSource(item.getIsTaxSource());
             agreementTax.setLicense(item.getLicense());
             agreementTax.setLicense(item.getLicense());
+            agreementTax.setInsuranceRepertoire(item.getInsuranceRepertoire());
             agreementTaxList.add(agreementTax);
             agreementTaxList.add(agreementTax);
         });
         });
         taxSourceVo.setAgreementTaxList(agreementTaxList);
         taxSourceVo.setAgreementTaxList(agreementTaxList);
@@ -320,17 +324,19 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
      * @return
      * @return
      */
      */
     @Override
     @Override
-    public String getAgreementId(String deptId, String userId, String companyId, String license, String volume) {
+    public String getAgreementId(String deptId, String userId, String companyId, String license, String volume, String productid) {
         // 车牌前两位
         // 车牌前两位
         String firstTwoPlates = license.substring(0, 2);
         String firstTwoPlates = license.substring(0, 2);
         String resultId = "";
         String resultId = "";
 
 
         //查找配置的默认项
         //查找配置的默认项
-        TaxSourceDto taxSourceDefaultDto = baseMapper.selectOne(new LambdaQueryWrapper<TaxSourceDto>()
-                .eq(TaxSourceDto::getInsCompanyId, companyId)
-                .eq(TaxSourceDto::getLicense, firstTwoPlates));
-        if (taxSourceDefaultDto != null) {
-            resultId = taxSourceDefaultDto.getAgreementId();
+        List<TaxSourceDto> taxSourceDtoList = baseMapper.selectList(new LambdaQueryWrapper<TaxSourceDto>()
+                .eq(TaxSourceDto::getInsCompanyId, companyId));
+
+        List<TaxSourceDto> taxSource =
+                taxSourceDtoList.stream().filter(x -> x.getLicense().equals(firstTwoPlates)).collect(Collectors.toList());
+        if (!taxSource.isEmpty()) {
+            resultId = taxSourceDtoList.get(0).getAgreementId();
         }
         }
 
 
         boolean isExclude = false;
         boolean isExclude = false;
@@ -347,7 +353,8 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
 
 
         //查找排除的车牌号
         //查找排除的车牌号
         List<TaxSourceExcludeDto> licenseExclude =
         List<TaxSourceExcludeDto> licenseExclude =
-                taxSourceExcludeService.list(new LambdaQueryWrapper<TaxSourceExcludeDto>().eq(TaxSourceExcludeDto::getExcludeInfo, firstTwoPlates)
+                taxSourceExcludeService.list(new LambdaQueryWrapper<TaxSourceExcludeDto>().eq(TaxSourceExcludeDto::getExcludeInfo,
+                                firstTwoPlates)
                         .eq(TaxSourceExcludeDto::getType, TaxSourceStatusConstants.EXCLUDE_TYPE_LICENSE));
                         .eq(TaxSourceExcludeDto::getType, TaxSourceStatusConstants.EXCLUDE_TYPE_LICENSE));
 
 
         //车牌排除
         //车牌排除
@@ -355,14 +362,16 @@ public class TaxSourceServiceImpl extends ServiceImpl<TaxSourceMapper, TaxSource
             isExclude = true;
             isExclude = true;
         }
         }
 
 
-        if (!isExclude && (Float.parseFloat(volume) >= 1)) {
-            //查找是否配置税源
-            TaxSourceDto taxSourceDtos = baseMapper.selectOne(new LambdaQueryWrapper<TaxSourceDto>()
-                    .eq(TaxSourceDto::getIsTaxSource, "1")
-                    .eq(TaxSourceDto::getInsCompanyId, companyId));
-            if (taxSourceDtos != null) {
-                resultId = taxSourceDtos.getAgreementId();
-            }
+        // 税源
+        TaxSourceDto taxSourceDtos =
+                taxSourceDtoList.stream().filter(x -> x.getIsTaxSource().equals("1")).collect(Collectors.toList()).get(0);
+        if (!isExclude && (Float.parseFloat(volume) >= 1) && (taxSourceDtos != null)) {
+            resultId = taxSourceDtos.getAgreementId();
+        }
+
+        // 不包含险种 随机其他保险公司
+        if (taxSourceDtos != null && taxSourceDtos.getInsuranceRepertoire().contains(productid) && Objects.equals(resultId, taxSourceDtos.getAgreementId())) {
+            resultId = taxSourceDtos.getBanishAgreementId();
         }
         }
 
 
         return resultId;
         return resultId;