Jelajahi Sumber

提交任务池导出功能

hxl13994548489 1 tahun lalu
induk
melakukan
cc9a11ddc8

+ 13 - 6
src/main/java/com/ydtech/modules/order/entity/dto/TaskPoolDataExcelDto.java

@@ -1,9 +1,8 @@
 package com.ydtech.modules.order.entity.dto;
 package com.ydtech.modules.order.entity.dto;
 
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.ydtech.modules.admin.constants.ManagementSource;
+import com.ydtech.constants.enums.dict.InsOrderStatusEnum;
 import com.ydtech.modules.order.constants.OrderEntryStatus;
 import com.ydtech.modules.order.constants.OrderEntryStatus;
-import com.ydtech.modules.order.constants.UnderwritingStatus;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.InsOrders;
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.Data;
@@ -58,8 +57,8 @@ public class TaskPoolDataExcelDto {
     @ExcelProperty("投保人姓名")
     @ExcelProperty("投保人姓名")
     private String insuredName;
     private String insuredName;
 
 
-    @ExcelProperty("核保通过方式")
-    private String underwritingStatus;
+    //@ExcelProperty("核保通过方式")
+    //private String underwritingStatus;
 
 
     @ExcelProperty("业务员工号")
     @ExcelProperty("业务员工号")
     private String userid;
     private String userid;
@@ -67,6 +66,12 @@ public class TaskPoolDataExcelDto {
     @ExcelProperty("报价时间")
     @ExcelProperty("报价时间")
     private String createTime;
     private String createTime;
 
 
+    @ExcelProperty("签单时间")
+    private String signingTime;
+
+    @ExcelProperty("订单状态")
+    private String orderstatus;
+
     public TaskPoolDataExcelDto(InsOrders insOrder) {
     public TaskPoolDataExcelDto(InsOrders insOrder) {
         this.orderNo = insOrder.getSubOrderId();
         this.orderNo = insOrder.getSubOrderId();
         this.product = insOrder.getProduct();
         this.product = insOrder.getProduct();
@@ -89,16 +94,18 @@ public class TaskPoolDataExcelDto {
         this.taxAmount = insOrder.getTaxamount();
         this.taxAmount = insOrder.getTaxamount();
         this.jyPremium = insOrder.getJypremium();
         this.jyPremium = insOrder.getJypremium();
         this.insuredName = insOrder.getInsuredname();
         this.insuredName = insOrder.getInsuredname();
-
+        /**
         try {
         try {
             UnderwritingStatus status = UnderwritingStatus.valueOf("US_" + insOrder.getUnderwritingStatus());
             UnderwritingStatus status = UnderwritingStatus.valueOf("US_" + insOrder.getUnderwritingStatus());
             this.underwritingStatus = status.getDesc();
             this.underwritingStatus = status.getDesc();
         } catch (Exception e) {
         } catch (Exception e) {
             this.underwritingStatus = "";
             this.underwritingStatus = "";
         }
         }
-
+        **/
         this.userid = insOrder.getUserid();
         this.userid = insOrder.getUserid();
         this.createTime = insOrder.getCreatetime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
         this.createTime = insOrder.getCreatetime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
+        this.signingTime = insOrder.getSigningTime()!=null?insOrder.getSigningTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")):"";
+        this.orderstatus= InsOrderStatusEnum.matchKey(insOrder.getOrderstatus()).getDesc();
     }
     }
 
 
 
 

+ 37 - 22
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -1,7 +1,6 @@
 package com.ydtech.modules.order.service.impl;
 package com.ydtech.modules.order.service.impl;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
-import com.alibaba.excel.EasyExcel;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
@@ -28,7 +27,6 @@ import com.ydtech.modules.admin.constants.ManagementSource;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.dao.*;
 import com.ydtech.modules.admin.model.*;
 import com.ydtech.modules.admin.model.*;
-import com.ydtech.modules.admin.model.dto.SysUserLinkPtlAgreementDto;
 import com.ydtech.modules.admin.model.po.SysUserIsDial;
 import com.ydtech.modules.admin.model.po.SysUserIsDial;
 import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.admin.service.*;
 import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.base.controller.BaseController;
@@ -41,27 +39,27 @@ import com.ydtech.modules.fnc.entity.InsFeeAudit;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.fnc.service.InsFeeAuditService;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcel;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
 import com.ydtech.modules.ins.model.InsOrdersExcelVo;
-import com.ydtech.modules.ins.model.vo.*;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.ins.model.vo.QuoteKindRespVo;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
 import com.ydtech.modules.ins.model.ya.ExtendInfoDto;
 import com.ydtech.modules.ins.model.ya.ResponseDataC2;
 import com.ydtech.modules.ins.model.ya.ResponseDataC2;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.order.constants.BusinessConstant;
 import com.ydtech.modules.order.constants.BusinessConstant;
 import com.ydtech.modules.order.constants.JqInsuranceType;
 import com.ydtech.modules.order.constants.JqInsuranceType;
-import com.ydtech.modules.order.constants.OrderEntryStatus;
 import com.ydtech.modules.order.constants.OrderLinkTypeConstants;
 import com.ydtech.modules.order.constants.OrderLinkTypeConstants;
 import com.ydtech.modules.order.dao.InsOrdersMapper;
 import com.ydtech.modules.order.dao.InsOrdersMapper;
 import com.ydtech.modules.order.entity.*;
 import com.ydtech.modules.order.entity.*;
 import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
 import com.ydtech.modules.order.entity.crawler.response.CrawlerVerifyPaymentResponse;
 import com.ydtech.modules.order.entity.dto.*;
 import com.ydtech.modules.order.entity.dto.*;
 import com.ydtech.modules.order.entity.vo.*;
 import com.ydtech.modules.order.entity.vo.*;
-import com.ydtech.modules.order.entity.vo.OrderVo;
 import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuoRenQuoteVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuoRenQuoteVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuorenAccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.guoren.GuorenAccidentalDrivingVo;
 import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
 import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
 import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
 import com.ydtech.modules.order.entity.vo.ya.YaExtendInfoDto;
-import com.ydtech.modules.order.entity.vo.yangguang.YgNonVehicleProductsVo;
 import com.ydtech.modules.order.entity.vo.yangguang.YgQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.yangguang.YgQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
 import com.ydtech.modules.order.service.*;
 import com.ydtech.modules.order.service.*;
@@ -81,7 +79,6 @@ import com.ydtech.modules.scheme.entity.vo.RuleFilterVo;
 import com.ydtech.modules.scheme.service.PtlSchemeRulesService;
 import com.ydtech.modules.scheme.service.PtlSchemeRulesService;
 import com.ydtech.utils.SnowFlakeUtil;
 import com.ydtech.utils.SnowFlakeUtil;
 import com.ydtech.utils.idgen.IdGenerate;
 import com.ydtech.utils.idgen.IdGenerate;
-import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.InvalidPropertyException;
 import org.springframework.beans.InvalidPropertyException;
@@ -2494,20 +2491,36 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
 
         String quoteStartDateStr = orderQueryVo.getQuoteStartDateStr();
         String quoteStartDateStr = orderQueryVo.getQuoteStartDateStr();
         String quoteEndDateStr = orderQueryVo.getQuoteEndDateStr();
         String quoteEndDateStr = orderQueryVo.getQuoteEndDateStr();
-        if ((StringUtils.isEmpty(signStartDateStr) || StringUtils.isEmpty(signEndDateStr)) ||  (StringUtils.isEmpty(quoteStartDateStr) || StringUtils.isEmpty(quoteEndDateStr))) {
-            throw new SystemException("1.导出数据时,签单时间 或者 录单时间必填;2.选择的签单时间 或 录单时间 (开始日期-结束日期)>30天,导出时,按结束时间往前+30天的数据做导出");
-        }
 
 
         final int day = 30;
         final int day = 30;
-        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
-        LocalDate startDate = LocalDate.parse(signStartDateStr, pattern);
-        LocalDate endDate = LocalDate.parse(signEndDateStr, pattern);
-        long between = ChronoUnit.DAYS.between(startDate, endDate);
-        if (between > day) {
-            LocalDate localDate = endDate.minusDays(day);
-            orderQueryVo.setSignStartDateStr(localDate.format(pattern));
+        if("3".equals(orderQueryVo.getOrderStatus())){
+            if((StringUtils.isEmpty(signStartDateStr) || StringUtils.isEmpty(signEndDateStr))) {
+                throw new SystemException("导出已承保数据时,1.签单时间必填;2.选择的签单时间(开始日期-结束日期)>30天,导出时,按结束时间往前+30天的数据做导出");
+            }
+            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate startDate = LocalDate.parse(signStartDateStr, pattern);
+            LocalDate endDate = LocalDate.parse(signEndDateStr, pattern);
+            long between = ChronoUnit.DAYS.between(startDate, endDate);
+            if (between > day) {
+                LocalDate localDate = endDate.minusDays(day);
+                orderQueryVo.setSignStartDateStr(localDate.format(pattern));
+            }
+        }else{
+            if((StringUtils.isEmpty(quoteStartDateStr) || StringUtils.isEmpty(quoteEndDateStr))) {
+                throw new SystemException("导出非已承保数据时,1.录单时间必填;2.选择的录单时间(开始日期-结束日期)>30天,导出时,按结束时间往前+30天的数据做导出");
+            }
+            DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate startDate = LocalDate.parse(quoteStartDateStr, pattern);
+            LocalDate endDate = LocalDate.parse(quoteEndDateStr, pattern);
+            long between = ChronoUnit.DAYS.between(startDate, endDate);
+            if (between > day) {
+                LocalDate localDate = endDate.minusDays(day);
+                orderQueryVo.setQuoteStartDateStr(localDate.format(pattern));
+            }
         }
         }
 
 
+
+
         switch (orderLinkTypeConstants) {
         switch (orderLinkTypeConstants) {
             case ORDER_LINK_TYPE_CONSTANTS_1:
             case ORDER_LINK_TYPE_CONSTANTS_1:
                 agentUserIds = sysUserService.getUserIdsByLeaderId(orderQueryVo.getUserId());
                 agentUserIds = sysUserService.getUserIdsByLeaderId(orderQueryVo.getUserId());
@@ -2522,11 +2535,13 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 break;
                 break;
             case ORDER_LINK_TYPE_CONSTANTS_3:
             case ORDER_LINK_TYPE_CONSTANTS_3:
                 //查询用户关联的协议
                 //查询用户关联的协议
-                List<SysUserLinkPtlAgreementDto> ptlAgreementListByUserIds =
-                        sysUserLinkPtlAgreementMapper.findPtlAgreementListByUserId(orderQueryVo.getUserId());
-                if (ptlAgreementListByUserIds != null && !ptlAgreementListByUserIds.isEmpty()) {
-                    agreeIds = ptlAgreementListByUserIds.stream().map(sysUserLinkPtlAgreementDto -> sysUserLinkPtlAgreementDto.getPtlAgreement().getId()).collect(Collectors.toList());
-                }
+                //List<SysUserLinkPtlAgreementDto> ptlAgreementListByUserIds =
+                //        sysUserLinkPtlAgreementMapper.findPtlAgreementListByUserId(orderQueryVo.getUserId());
+                // if (ptlAgreementListByUserIds != null && !ptlAgreementListByUserIds.isEmpty()) {
+                //     agreeIds = ptlAgreementListByUserIds.stream().map(sysUserLinkPtlAgreementDto -> sysUserLinkPtlAgreementDto.getPtlAgreement().getId()).collect(Collectors.toList());
+                // }
+                //  add by  hxl 2025-01-08  注释关联的协议维护太频繁改为关联保险公司
+                agreeIds = sysUserLinkCompanyMapper.findCompanyListByUserId(orderQueryVo.getUserId());
                 break;
                 break;
             case ORDER_LINK_TYPE_CONSTANTS_4:
             case ORDER_LINK_TYPE_CONSTANTS_4:
                 agentUserIds = sysUserService.getTelemarketingPersonnelData();
                 agentUserIds = sysUserService.getTelemarketingPersonnelData();

+ 1 - 9
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -1845,21 +1845,16 @@
         io.orderno as orderno,
         io.orderno as orderno,
         io.quoteno as quoteno,
         io.quoteno as quoteno,
         iac.orderstatus as orderstatus,
         iac.orderstatus as orderstatus,
-        io.carinfo as carinfo,
         io.userid as userid,
         io.userid as userid,
         io.username as username,
         io.username as username,
         io.deptid as deptid,
         io.deptid as deptid,
         io.deptname as deptname,
         io.deptname as deptname,
-        io.ownerinfo as ownerinfo,
-        io.applyinfo as applyinfo,
-        io.insureinfo as insureinfo,
         io.agreeid as agreeid,
         io.agreeid as agreeid,
         iac.productid as productid,
         iac.productid as productid,
         iac.product as product,
         iac.product as product,
         iac.createtime as createtime,
         iac.createtime as createtime,
         io.frameno as frameno,
         io.frameno as frameno,
         io.licenseno as licenseno,
         io.licenseno as licenseno,
-        REPLACE(JSON_EXTRACT(io.applyinfo, '$.name'),'"','') as insuredname,
         iac.jq_start_date as jqstartdate,
         iac.jq_start_date as jqstartdate,
         iac.jq_end_date as jqenddate,
         iac.jq_end_date as jqenddate,
         iac.sy_start_date as systartdate,
         iac.sy_start_date as systartdate,
@@ -1868,9 +1863,6 @@
         iac.sypremium as sypremium,
         iac.sypremium as sypremium,
         iac.jypremium as jypremium,
         iac.jypremium as jypremium,
         iac.taxamount as taxamount,
         iac.taxamount as taxamount,
-        io.risk as risk,
-        io.king as king,
-        io.vehicle_and_vessel_tax as vehicleAndVesselTax,
         iac.id as subOrderId,
         iac.id as subOrderId,
         iac.underwriting_status as underwritingStatus,
         iac.underwriting_status as underwritingStatus,
         iac.company_id as company_id,
         iac.company_id as company_id,
@@ -1933,7 +1925,7 @@
             </if>
             </if>
             <if test="agreeIds != null and agreeIds.size>0">
             <if test="agreeIds != null and agreeIds.size>0">
                 AND (
                 AND (
-                (iac.agreement_id in
+                (iac.company_id  in
                 <foreach collection="agreeIds" item="item" open="(" separator="," close=")">
                 <foreach collection="agreeIds" item="item" open="(" separator="," close=")">
                     #{item}
                     #{item}
                 </foreach>
                 </foreach>