| 1234567891011121314151617181920212223242526272829303132 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.jzg.console.mapper.ReportFeeAuditSummaryMapper">
- <!-- 按保险公司分组统计费用审核汇总数据 -->
- <select id="getFeeAuditSummaryPage" resultType="com.jzg.commons.entity.report.dto.FeeAuditSummaryVo">
- SELECT
- io.company_id AS companyId,
- io.company_name AS companyName,
- -- 待审核:audit_status = 0 AND is_problem = 0
- COUNT(CASE WHEN ifa.audit_status = 0 AND (ifa.is_problem IS NULL OR ifa.is_problem = 0) THEN 1 END) AS pendingReviewNum,
- -- 已审核:audit_status = 1 AND (is_problem IS NULL OR is_problem = 0)
- COUNT(CASE WHEN ifa.audit_status = 1 AND (ifa.is_problem IS NULL OR ifa.is_problem = 0) THEN 1 END) AS approvedNum,
- -- 审核不通过:audit_status = 2 AND (is_problem IS NULL OR is_problem = 0)
- COUNT(CASE WHEN ifa.audit_status = 2 AND (ifa.is_problem IS NULL OR ifa.is_problem = 0) THEN 1 END) AS rejectedNum,
- -- 疑问订单:is_problem = 1
- COUNT(CASE WHEN ifa.is_problem = 1 THEN 1 END) AS problemOrderNum,
- -- 平均审核时长(秒):audit_time - receive_time
- COALESCE(ROUND(AVG(TIMESTAMPDIFF(SECOND, ifa.receive_time, ifa.audit_time)), 0), 0) AS avgAuditDuration
- FROM ins_fee_audit ifa
- LEFT JOIN ins_orders io ON ifa.order_no = io.id AND io.is_delete = 0
- <where>
- ifa.is_delete = 0
- <if test="param.checkTime != null and param.checkTime.size() > 0">
- AND (ifa.audit_time BETWEEN #{param.checkTime[0]} AND #{param.checkTime[1]} OR ifa.audit_time IS NULL)
- </if>
- </where>
- GROUP BY io.company_id, io.company_name
- ORDER BY approvedNum DESC, pendingReviewNum DESC
- </select>
- </mapper>
|