Przeglądaj źródła

Merge branch 'refs/heads/test' into test-fee

wks 2 lat temu
rodzic
commit
549b2bc8c3

+ 6 - 1
src/main/java/com/ydtech/modules/fnc/service/impl/InsFeeAuditServiceImpl.java

@@ -829,7 +829,12 @@ public class InsFeeAuditServiceImpl extends ServiceImpl<InsFeeAuditMapper, InsFe
             this.save(insFeeAudit);
         } else {
             //状态码为已审核且数据不为空,则更新审核状态
-            insFeeAudit.setAuditstatus(insFeeAudit.getAuditstatus());
+            //如果传入的为审核驳回 则将审核状态至为0
+            if(auditstatus.equals("2")) {
+                insFeeAudit.setAuditstatus("0");
+            }else{
+                insFeeAudit.setAuditstatus(insFeeAudit.getAuditstatus());
+            }
             insFeeAudit.setAudituser(BaseController.getUser().getName());
             insFeeAudit.setAudittime(LocalDateTime.now());
             insFeeAudit.setRejectinfo(rejectInfo);

+ 1 - 1
src/main/java/com/ydtech/modules/order/dao/InsOrdersMapper.java

@@ -90,7 +90,7 @@ public interface InsOrdersMapper extends BaseMapper<InsOrders> {
 
     int getExpirationInsureCount(@Param("userId") String userId,@Param("startDate") String startTime,@Param("endDate") String endTime,@Param("isJq")Integer isJq,@Param("param") String param);
 
-    Page<OrderExpirationVo> getExpirationInsure(@Param("page") Page page,@Param("userId") String userId,@Param("startDate") String startTime,@Param("endDate") String endTime,@Param("isJq")Integer isJq,@Param("param") String param);
+    Page<OrderExpirationVo> getExpirationInsure(@Param("page") Page page,@Param("order")OrderExpirationQueryVo orderExpirationQueryVo);
 
 
     /**

+ 5 - 0
src/main/java/com/ydtech/modules/order/entity/crawler/request/CrawlerQuoteRequest.java

@@ -39,4 +39,9 @@ public class CrawlerQuoteRequest extends BaseQuoteInfoVo {
      */
     private String pythonCheck;
 
+    /**
+     * 系统字段
+     */
+    private String form;
+
 }

+ 28 - 4
src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationQueryVo.java

@@ -5,9 +5,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ydtech.core.page.PageRequest;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.Date;
 
 @Data
 @TableName(autoResultMap = true)
@@ -22,17 +24,39 @@ public class OrderExpirationQueryVo extends PageRequest {
     private String userid;
 
     /**
-     * 交强终保时间
+     * 交强终保时间-开始时间
      */
-    @ApiModelProperty(value = "交强终保时间")
+    @ApiModelProperty(value = "交强终保时间-开始时间")
+    private String jqStartDate;
+    /**
+     * 交强终保时间-结束时间
+     */
+    @ApiModelProperty(value = "交强终保时间-结束时间")
     private String jqEndDate;
 
     /**
-     * 商业终保时间
+     * 是否启用交强时间范围查询
+     */
+    @ApiModelProperty(value = "是否启用交强时间范围查询,true:启用 false:不启用")
+    private Boolean jqEnable = Boolean.TRUE;
+
+    /**
+     * 商业终保时间-开始时间
      */
-    @ApiModelProperty(value = "商业终保时间")
+    @ApiModelProperty(value = "商业终保时间-开始时间")
+    private String syStartDate;
+    /**
+     * 商业终保时间-结束时间
+     */
+    @ApiModelProperty(value = "商业终保时间-结束时间")
     private String syEndDate;
 
+    /**
+     * 是否启用商业时间范围查询
+     */
+    @ApiModelProperty(value = "是否启用商业时间范围查询,true:启用 false:不启用")
+    private Boolean syEnable = Boolean.TRUE;
+
     @ApiModelProperty(value = "查询参数")
     private String param;
 

+ 8 - 2
src/main/java/com/ydtech/modules/order/entity/vo/OrderExpirationVo.java

@@ -75,7 +75,13 @@ public class OrderExpirationVo implements Serializable {
     @TableField(value = "syenddate")
     private String syenddate;
 
-    @TableField(value = "difference")
-    private String difference;
+
+    @TableField(value = "jqDiff")
+    @ApiModelProperty(value = "交强保单距离到期天数")
+    private String jqDiff;
+
+    @TableField(value = "syDiff")
+    @ApiModelProperty(value = "商业保单距离到期天数")
+    private String syDiff;
 
 }

+ 10 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsCrawlerOrderServiceImpl.java

@@ -27,6 +27,7 @@ import com.ydtech.modules.order.service.InsOrdersService;
 import com.ydtech.modules.order.service.InsTaskImagesService;
 import com.ydtech.modules.protocol.entity.constants.PtlCrawlerApiType;
 import com.ydtech.modules.protocol.entity.dto.PtlAgreementAttributionDto;
+import com.ydtech.modules.protocol.entity.dto.PtlAttributionTemplateDto;
 import com.ydtech.modules.protocol.entity.po.PtlAgreementAttribution;
 import com.ydtech.modules.protocol.service.PtlAgreementAttributionService;
 import com.ydtech.modules.protocol.service.PtlCrawlerApiService;
@@ -116,6 +117,15 @@ public class InsCrawlerOrderServiceImpl implements InsCrawlerOrderService {
             crawlerQuoteRequest.setPlyappno(insAreaCompany.getInsOrderNo());
         }
 
+        // 系统类型
+        List<PtlAttributionTemplateDto> ptlAttributionTemplateDtos = ptlAgreementAttribution.getFields().toJavaList(PtlAttributionTemplateDto.class);
+        List<PtlAttributionTemplateDto> collect = ptlAttributionTemplateDtos.stream().filter(x -> "form".equals(x.getField())).collect(Collectors.toList());
+        if (!collect.isEmpty()) {
+            PtlAttributionTemplateDto ptlAttributionTemplateDto = collect.get(0);
+            String value = ptlAttributionTemplateDto.getValue();
+            crawlerQuoteRequest.setForm(value);
+        }
+
         // 发送请求
         CrawlerQuoteResponse response = insCrawlerOrderComponents.request(apiUrl, ptlAgreementAttribution.getInsCompanyId(),
                 PtlCrawlerApiType.API_2.getDesc(), crawlerQuoteRequest, CrawlerQuoteResponse.class);

+ 20 - 18
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -75,6 +75,7 @@ import com.ydtech.utils.SnowFlakeUtil;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.InvalidPropertyException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Lazy;
@@ -86,6 +87,7 @@ import org.springframework.util.ObjectUtils;
 import javax.validation.constraints.NotBlank;
 import java.io.File;
 import java.math.BigDecimal;
+import java.time.Instant;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
@@ -1381,27 +1383,27 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     @Override
     public Page<OrderExpirationVo> getExpirationInsure(Page page, OrderExpirationQueryVo orderExpirationQueryVo) {
-        LocalDateTime currentTime, oneMonthAgo;
-        Integer isJq = 1;
-        if (orderExpirationQueryVo.getJqEndDate() != null) {
-            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getJqEndDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-            oneMonthAgo = currentTime.plus(1, ChronoUnit.MONTHS);
-        } else if (orderExpirationQueryVo.getSyEndDate() != null) {
-            currentTime = LocalDateTime.parse(orderExpirationQueryVo.getSyEndDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-            oneMonthAgo = currentTime.plus(1, ChronoUnit.MONTHS);
-            isJq = 2;
+        LocalDateTime currentTime = LocalDateTime.now();
+        LocalDateTime oneYearAgo = currentTime.plus(1, ChronoUnit.YEARS);
+        DateTimeFormatter datePat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        if (orderExpirationQueryVo.getJqEnable() &&( StringUtils.isEmpty(orderExpirationQueryVo.getJqStartDate()) ||
+                StringUtils.isEmpty(orderExpirationQueryVo.getJqEndDate()))) {
+            throw new InvalidPropertyException(getClass(),"jqStartDate/jqEndDate","请输入交强查询起止日期!");
+
         } else {
-            currentTime = LocalDateTime.now();
-            oneMonthAgo = currentTime.plus(1, ChronoUnit.MONTHS);
+            orderExpirationQueryVo.setJqStartDate(currentTime.format(datePat) );
+            orderExpirationQueryVo.setJqEndDate(oneYearAgo.format(datePat) );
         }
-        Page<OrderExpirationVo> expirationInsure = baseMapper.getExpirationInsure(page, orderExpirationQueryVo.getUserid(),
-                currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")),
-                oneMonthAgo.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")), isJq, orderExpirationQueryVo.getParam());
-        List<OrderExpirationVo> records = expirationInsure.getRecords();
-        for (OrderExpirationVo record : records) {
-            Integer difference = Integer.parseInt(record.getDifference());
-            record.setDifference(String.valueOf(-difference));
+
+        if (orderExpirationQueryVo.getSyEnable() &&(StringUtils.isEmpty(orderExpirationQueryVo.getSyStartDate()) ||
+                StringUtils.isEmpty(orderExpirationQueryVo.getSyEndDate() ))) {
+            throw new InvalidPropertyException(getClass(),"syStartDate/syEndDate","请输入商业查询起止日期!");
+        } else {
+            orderExpirationQueryVo.setSyStartDate(currentTime.format(datePat));
+            orderExpirationQueryVo.setSyEndDate(oneYearAgo.format(datePat)  );
         }
+        Page<OrderExpirationVo> expirationInsure = baseMapper.getExpirationInsure(page, orderExpirationQueryVo);
+        List<OrderExpirationVo> records = expirationInsure.getRecords();
         expirationInsure.setRecords(records);
         return expirationInsure;
     }

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

@@ -1090,7 +1090,7 @@
     <select id="costCenter" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
         SELECT
             iac.company_id,
-            iac.inscompany as  “insuranceCompanyName”,
+            iac.inscompany as  "insuranceCompanyName",
             COUNT( CASE WHEN ifa.auditstatus = 1 THEN 1 END ) AS "auditstatusOrders",
             COUNT( CASE WHEN ifa.auditstatus = 0 THEN 1 END ) AS "auditOrder",
             COUNT( CASE WHEN pa.audit_type = 1 AND ifa.auditstatus = 1 THEN 1 END ) AS "persionAudit",

+ 17 - 34
src/main/resources/mapper/modules/order/InsOrdersMapper.xml

@@ -1332,43 +1332,26 @@
 
     <select id="getExpirationInsure" resultType="com.ydtech.modules.order.entity.vo.OrderExpirationVo">
         SELECT
-            a.ins_company,
-            b.id as orderno,
-            a.jqenddate,
-            a.syenddate,
-            a.productid,
-            a.product,
-            a.licenseno,
-            <if test="isJq == 1">
-                DATEDIFF( NOW(), jqenddate ) AS difference
-            </if>
-            <if test="isJq == 2">
-                DATEDIFF( NOW(), syenddate ) AS difference
-            </if>
-
-        FROM
-            ins_orders a
-        left join
-            ins_area_company b
-        on a.orderno = b.orderno
-        WHERE
-            <if test="isJq == 1">
-                jqenddate BETWEEN #{startDate} AND #{endDate}
-            </if>
-            <if test="isJq == 2">
-                syenddate BETWEEN #{startDate} AND #{endDate}
-            </if>
-
-          AND a.orderstatus = 3
+        a.ins_company,
+        b.id as orderno,
+        b.jq_end_date,
+        b.sy_end_date,
+        b.productid,
+        b.product,
+        a.licenseno,
+        case when b.jq_end_date is not null then DATEDIFF( b.jq_end_date,NOW() ) else null end AS jqDiff,
+        case when b.sy_end_date is not null then DATEDIFF( b.sy_end_date,NOW() ) else null end AS syDiff
+        FROM ins_orders a,ins_area_company b
+        WHERE a.orderno = b.orderno
+        AND (b.jq_end_date BETWEEN #{order.jqStartDate} AND #{order.jqEndDate}  or b.sy_end_date BETWEEN #{order.syStartDate} AND #{order.syEndDate})
         AND b.orderstatus = 3
-        <if test="param != null and param != ''">
-        AND (a.licenseno = #{param} or a.ins_company = #{param})
+        <if test="order.param != null and order.param != ''">
+        AND (a.licenseno = #{order.param} or a.ins_company = #{order.param})
         </if>
-        <if test="userId != null and userId != ''">
-            AND a.userid = #{userId}
+        <if test="order.userid != null and order.userid != ''">
+            AND a.userid = #{order.userid}
         </if>
-        ORDER BY
-            difference DESC
+        ORDER BY least(IFNULL(jqDiff, 9999999) , IFNULL(syDiff, 9999999)) asc
     </select>