Просмотр исходного кода

1.费用校验列表页面 1. 添加筛选 人工 人员审核 2.添加详情 查看该保险公司下的人出单条数再添加导出 3.再添加详情 查看此人审核多少的车牌号 审核时间 创建时间 时间差 平均每笔审核多少时间

wuhp 1 год назад
Родитель
Сommit
be85c1214c

+ 71 - 0
src/main/java/com/ydtech/modules/admin/controller/taskStatistics/TaskStatisticsController.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.admin.controller.taskStatistics;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.dto.TaskStatisticsDto;
+import com.ydtech.modules.admin.model.dto.TaskStatisticsDtoNew;
 import com.ydtech.modules.admin.model.vo.BusinessAgentData;
 import com.ydtech.modules.admin.model.vo.KztGetDeptUtilsDto;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
@@ -144,6 +145,76 @@ public class TaskStatisticsController {
             return HttpResult.error("查询错误"+e.getMessage());
         }
     }
+    /**
+     * @description:   财务中心-费用校验-明细
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    @PostMapping("costCenterDetails")
+    @ApiOperation(value = "控制台-财务中心-费用校验详情")
+    public HttpResult<IPage<TaskStatisticsDto>> costCenterDetails(@RequestBody TaskStatisticsVo taskStatisticsVo, HttpServletRequest httpServerRequest) {
+        try{
+            KztGetDeptUtils kztGetDeptUtils = new KztGetDeptUtils();
+            KztGetDeptUtilsDto kztGetDeptUtilsDto = kztGetDeptUtils.KztGetDeptIds(httpServerRequest.getRequestURL().toString());
+            if(ObjectUtils.isNotEmpty(kztGetDeptUtilsDto)){
+                if("1".equals(kztGetDeptUtilsDto.getType())){
+                    taskStatisticsVo.setDeptIds(kztGetDeptUtilsDto.getIds());
+                } else if ("2".equals(kztGetDeptUtilsDto.getType())) {
+                    taskStatisticsVo.setUserIds(kztGetDeptUtilsDto.getIds());
+                }
+            }
+            IPage<TaskStatisticsDto> result = taskStatisticsService.costCenterDetails(taskStatisticsVo);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     * @description:   财务中心-费用校验-明细-查看
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    @PostMapping("costCenterDetailsLicense")
+    @ApiOperation(value = "控制台-财务中心-费用校验详情-查看")
+    public HttpResult<TaskStatisticsDtoNew> costCenterDetailsLicense(@RequestBody TaskStatisticsVo taskStatisticsVo, HttpServletRequest httpServerRequest) {
+        try{
+            KztGetDeptUtils kztGetDeptUtils = new KztGetDeptUtils();
+            KztGetDeptUtilsDto kztGetDeptUtilsDto = kztGetDeptUtils.KztGetDeptIds(httpServerRequest.getRequestURL().toString());
+            if(ObjectUtils.isNotEmpty(kztGetDeptUtilsDto)){
+                if("1".equals(kztGetDeptUtilsDto.getType())){
+                    taskStatisticsVo.setDeptIds(kztGetDeptUtilsDto.getIds());
+                } else if ("2".equals(kztGetDeptUtilsDto.getType())) {
+                    taskStatisticsVo.setUserIds(kztGetDeptUtilsDto.getIds());
+                }
+            }
+            TaskStatisticsDtoNew result = taskStatisticsService.costCenterDetailsLicense(taskStatisticsVo);
+            return HttpResult.ok("查询数据成功", result);
+        }catch (Exception e){
+            return HttpResult.error("查询错误"+e.getMessage());
+        }
+    }
+
+    /**
+     * @description:   任务统计-保险公司-导出
+     * @author: whp
+     * @date: 2024/9/9
+     **/
+    @PostMapping("/costCenterDetailsExcel")
+    @ApiOperation(value = "控制台-财务中心-费用校验详情-导出")
+    public HttpResult costCenterDetailsExcel(@RequestBody TaskStatisticsVo taskStatisticsVo, HttpServletRequest httpServerRequest) {
+        KztGetDeptUtils kztGetDeptUtils = new KztGetDeptUtils();
+        KztGetDeptUtilsDto kztGetDeptUtilsDto = kztGetDeptUtils.KztGetDeptIds(httpServerRequest.getRequestURL().toString());
+        if(ObjectUtils.isNotEmpty(kztGetDeptUtilsDto)){
+            if("1".equals(kztGetDeptUtilsDto.getType())){
+                taskStatisticsVo.setDeptIds(kztGetDeptUtilsDto.getIds());
+            } else if ("2".equals(kztGetDeptUtilsDto.getType())) {
+                taskStatisticsVo.setUserIds(kztGetDeptUtilsDto.getIds());
+            }
+        }
+        return this.taskStatisticsService.costCenterDetailsExcel(taskStatisticsVo);
+    }
+
 
     /**
      * @description:   财务中心-费用校验-合计

+ 23 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDto.java

@@ -147,4 +147,27 @@ public class TaskStatisticsDto {
     @ApiModelProperty(value = "领导人电话")
     private String leaderMobile;
 
+
+    @ApiModelProperty(value = "审核人id")
+    private String audituser;
+
+    @ApiModelProperty(value = "审核人名称")
+    private String audituserName;
+
+    @ApiModelProperty(value = "审核人电话")
+    private String audituserMobile;
+
+    @ApiModelProperty(value = "创建时间")
+    private String createTime;
+
+    @ApiModelProperty(value = "审核时间")
+    private String audittime;
+
+    @ApiModelProperty(value = "车牌号")
+    private String licenseno;
+
+
+    @ApiModelProperty(value = "时间差")
+    private String timeDifference;
+
 }

+ 25 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDtoExcel.java

@@ -0,0 +1,25 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+@Data
+public class TaskStatisticsDtoExcel {
+    @ExcelProperty(value = "保险公司",index = 0)
+    private String insuranceCompanyName;
+
+    @ExcelProperty(value = "审核人工号",index = 1)
+    private String audituser;
+
+    @ExcelProperty(value = "审核人名称",index = 2)
+    private String audituserName;
+
+    @ExcelProperty(value = "审核人电话",index = 3)
+    private String audituserMobile;
+
+    @ExcelProperty(value = "已审(条)",index = 4)
+    private String auditstatusOrders;
+
+    @ExcelProperty(value = "未审(条)",index = 5)
+    private String auditOrder;
+}

+ 23 - 0
src/main/java/com/ydtech/modules/admin/model/dto/TaskStatisticsDtoNew.java

@@ -0,0 +1,23 @@
+package com.ydtech.modules.admin.model.dto;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@ApiModel("任务统计控制台")
+@Data
+public class TaskStatisticsDtoNew {
+
+    @ApiModelProperty(value = "平均秒数")
+    private String  averageSecond;
+
+    @ApiModelProperty(value = "总笔数")
+    private String  orderNumber;
+
+    @ApiModelProperty(value = "总秒数")
+    private String  sumSecond;
+
+    @ApiModelProperty(value = "分页数据")
+    private  IPage<TaskStatisticsDto> pageResult;
+}

+ 3 - 0
src/main/java/com/ydtech/modules/admin/model/vo/TaskStatisticsVo.java

@@ -126,6 +126,9 @@ public class TaskStatisticsVo implements Serializable {
     @ApiModelProperty(value = "审核人")
     private String reviewer;
 
+    @ApiModelProperty(value = "审核人(审核表)")
+    private String audituser;
+
     @ApiModelProperty("审核时间")
     private String audittime;
 

+ 20 - 0
src/main/java/com/ydtech/modules/admin/service/TaskStatisticsService.java

@@ -3,6 +3,7 @@ package com.ydtech.modules.admin.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.modules.admin.model.dto.TaskStatisticsDto;
+import com.ydtech.modules.admin.model.dto.TaskStatisticsDtoNew;
 import com.ydtech.modules.admin.model.vo.BusinessAgentData;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.order.entity.BasePageResult;
@@ -104,4 +105,23 @@ public interface TaskStatisticsService {
      * @date: 2024/9/28
      **/
     HashMap<String, Object> costCenterTotal(TaskStatisticsVo taskStatisticsVo);
+    /**
+     * @description:   财务中心-费用校验-明细
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    IPage<TaskStatisticsDto> costCenterDetails(TaskStatisticsVo taskStatisticsVo);
+    /**
+     * @description:   财务中心-费用校验-明细-查看
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    TaskStatisticsDtoNew costCenterDetailsLicense(TaskStatisticsVo taskStatisticsVo);
+    /**
+     * @description:   任务统计-保险公司-导出
+     * @author: whp
+     * @date: 2024/9/9
+     **/
+    HttpResult costCenterDetailsExcel(TaskStatisticsVo taskStatisticsVo);
+
 }

+ 90 - 3
src/main/java/com/ydtech/modules/admin/service/impl/TaskStatisticsServiceImpl.java

@@ -16,9 +16,7 @@ import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.dao.TaskStatisticsMapper;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.SysUser;
-import com.ydtech.modules.admin.model.dto.InsuranceCompanyExcel;
-import com.ydtech.modules.admin.model.dto.TaskStatisticsDto;
-import com.ydtech.modules.admin.model.dto.TaskStatisticsExcel;
+import com.ydtech.modules.admin.model.dto.*;
 import com.ydtech.modules.admin.model.vo.BusinessAgentData;
 import com.ydtech.modules.admin.model.vo.TaskStatisticsVo;
 import com.ydtech.modules.admin.service.SysDeptService;
@@ -259,6 +257,95 @@ public class TaskStatisticsServiceImpl  implements TaskStatisticsService {
         IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.costCenter(page,taskStatisticsVo);
         return list;
     }
+    /**
+     * @description:   财务中心-费用校验-明细
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    @Override
+
+    public IPage<TaskStatisticsDto> costCenterDetails(TaskStatisticsVo taskStatisticsVo) {
+        if(StringUtils.isNotEmpty(taskStatisticsVo.getDays())){
+            if("7".equals(taskStatisticsVo.getDays())){
+                taskStatisticsVo.setDays("2");
+            } else if ("30".equals(taskStatisticsVo.getDays())) {
+                taskStatisticsVo.setDays("3");
+            }
+        }
+        HashMap<String, String> dateMapByType = getDateMapByTypeNew(taskStatisticsVo.getDays(), taskStatisticsVo.getCreatetimeStart(), taskStatisticsVo.getCreatetimeEnd());
+        taskStatisticsVo.setCreatetimeStart(dateMapByType.get("startDate"));
+        taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
+
+        PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
+        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        pageVo.setPageNum(taskStatisticsVo.getPageNum());
+        pageVo.setPageSize(taskStatisticsVo.getPageSize());
+        IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.costCenterDetails(page,taskStatisticsVo);
+        return list;
+    }
+
+    /**
+     * @description:   任务统计-保险公司-导出
+     * @author: whp
+     * @date: 2024/9/9
+     **/
+    @Override
+    public HttpResult costCenterDetailsExcel(TaskStatisticsVo taskStatisticsVo) {
+        if(StringUtils.isNotEmpty(taskStatisticsVo.getDays())){
+            if("7".equals(taskStatisticsVo.getDays())){
+                taskStatisticsVo.setDays("2");
+            } else if ("30".equals(taskStatisticsVo.getDays())) {
+                taskStatisticsVo.setDays("3");
+            }
+        }
+        HashMap<String, String> dateMapByType = getDateMapByTypeNew(taskStatisticsVo.getDays(), taskStatisticsVo.getCreatetimeStart(), taskStatisticsVo.getCreatetimeEnd());
+        taskStatisticsVo.setCreatetimeStart(dateMapByType.get("startDate"));
+        taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
+        List<TaskStatisticsDtoExcel> list = this.insAreaCompanyMapper.costCenterDetailsExcel(taskStatisticsVo);
+
+        String uploadPath = this.uploadPath + "/excel/";
+        Path path = Paths.get(uploadPath);
+        if (!Files.exists(path)) {
+            try {
+                Files.createDirectories(path);
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        String fileName = EasyExcelUtils.downExcel(uploadPath, "费用校验审核人导出", TaskStatisticsDtoExcel.class, list);
+        return HttpResult.ok("", uploadUrl + "excel/" + fileName);
+    }
+
+    /**
+     * @description:   财务中心-费用校验-明细-查看
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    @Override
+    public TaskStatisticsDtoNew costCenterDetailsLicense(TaskStatisticsVo taskStatisticsVo) {
+        if(StringUtils.isNotEmpty(taskStatisticsVo.getDays())){
+            if("7".equals(taskStatisticsVo.getDays())){
+                taskStatisticsVo.setDays("2");
+            } else if ("30".equals(taskStatisticsVo.getDays())) {
+                taskStatisticsVo.setDays("3");
+            }
+        }
+        HashMap<String, String> dateMapByType = getDateMapByTypeNew(taskStatisticsVo.getDays(), taskStatisticsVo.getCreatetimeStart(), taskStatisticsVo.getCreatetimeEnd());
+        taskStatisticsVo.setCreatetimeStart(dateMapByType.get("startDate"));
+        taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
+
+        PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
+        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        pageVo.setPageNum(taskStatisticsVo.getPageNum());
+        pageVo.setPageSize(taskStatisticsVo.getPageSize());
+        IPage<TaskStatisticsDto> list = this.insAreaCompanyMapper.costCenterDetailsLicense(page,taskStatisticsVo);
+        TaskStatisticsDtoNew sumSecond = this.insAreaCompanyMapper.costCenterSecond(taskStatisticsVo);
+        sumSecond.setPageResult(list);
+        return sumSecond;
+    }
+
+
+
     /**
      * @description:   保险公司统计总报价
      * @author: whp

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

@@ -344,7 +344,23 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      *  @Date: 2024/9/30 8:55
      *  @Description:  查询所有的驳回订单信息
      */
-    Page<InsAreaCompany> getAllRejectOrders(@Param("") Page page, @Param("vo") RejectPageQueryVo rejectPageQueryVo);
+    Page<InsAreaCompany> getAllRejectOrders(@Param("page") Page page, @Param("vo") RejectPageQueryVo rejectPageQueryVo);
+    /**
+     * @description:   财务中心-费用校验-明细
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    IPage<TaskStatisticsDto> costCenterDetails(@Param("page") Page page,@Param("taskStatisticsVo") TaskStatisticsVo taskStatisticsVo);
+    /**
+     * @description:   财务中心-费用校验-明细-查看
+     * @author: whp
+     * @date: 2024/10/10
+     **/
+    IPage<TaskStatisticsDto> costCenterDetailsLicense( @Param("page") Page page, @Param("taskStatisticsVo")  TaskStatisticsVo taskStatisticsVo);
+
+    TaskStatisticsDtoNew costCenterSecond(@Param("taskStatisticsVo")TaskStatisticsVo taskStatisticsVo);
+
+    List<TaskStatisticsDtoExcel> costCenterDetailsExcel(@Param("taskStatisticsVo") TaskStatisticsVo taskStatisticsVo);
 }
 
 

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

@@ -1537,8 +1537,6 @@
             1=1
             and iac.id = ifa.ins_order_no
             AND iac.orderstatus = 3
-
-
             <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
                 and su.name =#{taskStatisticsVo.reviewer}
             </if>
@@ -1583,6 +1581,278 @@
     </select>
 
 
+    <select id="costCenterDetails" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
+        SELECT
+            ifa.audituser as "audituser",
+            su.name  as "audituserName",
+            su.mobile as "audituserMobile",
+            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"
+        FROM
+            ins_fee_audit ifa
+            LEFT JOIN ins_orders io ON io.orderno = ifa.orderno
+            LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+            LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+            LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+            left join sys_user  su  on su.id =ifa.audituser
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            AND iac.orderstatus = 3
+            AND ifa.audituser != '自动审核'
+            AND (ifa.auditstatus ='1' or ifa.auditstatus ='0')
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and su.name =#{taskStatisticsVo.reviewer}
+            </if>
+
+            <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.audittime !=null  and  taskStatisticsVo.audittime !=''">
+                and ifa.audittime =#{taskStatisticsVo.audittime}
+            </if>
+
+             <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
+            </if>
+
+            <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
+                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+            </if>
+            <if test="taskStatisticsVo.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="taskStatisticsVo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="taskStatisticsVo.userIds != null and taskStatisticsVo.userIds != '' and taskStatisticsVo.userIds.size() > 0">
+                AND su.id  in
+                <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <choose>
+                <when test="taskStatisticsVo.riskCode != null and taskStatisticsVo.riskCode != '' and  taskStatisticsVo.riskCode != 'all' ">
+                    and iac.product = #{taskStatisticsVo.riskCode}
+                </when>
+            </choose>
+        </where>
+        GROUP BY
+          ifa.audituser,su.name,su.mobile,iac.inscompany
+    </select>
+
+    <select id="costCenterDetailsExcel" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDtoExcel">
+        SELECT
+            ifa.audituser as "audituser",
+            su.name  as "audituserName",
+            su.mobile as "audituserMobile",
+            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"
+        FROM
+            ins_fee_audit ifa
+            LEFT JOIN ins_orders io ON io.orderno = ifa.orderno
+            LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+            LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+            LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+            left join sys_user  su  on su.id =ifa.audituser
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            AND iac.orderstatus = 3
+            AND ifa.audituser != '自动审核'
+            AND (ifa.auditstatus ='1' or ifa.auditstatus ='0')
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and su.name =#{taskStatisticsVo.reviewer}
+            </if>
+
+            <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.audittime !=null  and  taskStatisticsVo.audittime !=''">
+                and ifa.audittime =#{taskStatisticsVo.audittime}
+            </if>
+
+             <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
+            </if>
+
+            <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
+                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+            </if>
+            <if test="taskStatisticsVo.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="taskStatisticsVo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="taskStatisticsVo.userIds != null and taskStatisticsVo.userIds != '' and taskStatisticsVo.userIds.size() > 0">
+                AND su.id  in
+                <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <choose>
+                <when test="taskStatisticsVo.riskCode != null and taskStatisticsVo.riskCode != '' and  taskStatisticsVo.riskCode != 'all' ">
+                    and iac.product = #{taskStatisticsVo.riskCode}
+                </when>
+            </choose>
+        </where>
+        GROUP BY
+          ifa.audituser,su.name,su.mobile,iac.inscompany
+    </select>
+
+
+
+    <select id="costCenterDetailsLicense" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDto">
+        SELECT
+            io.licenseno as "licenseno",
+            iac.createtime as "createTime",
+            iac.audittime as "auditTime",
+            IFNULL(TIMESTAMPDIFF(SECOND, iac.createtime, iac.audittime),0) as "timeDifference"
+        FROM
+            ins_fee_audit ifa
+            LEFT JOIN ins_orders io ON io.orderno = ifa.orderno
+            LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+            LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+            LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+            left join sys_user  su  on su.id =ifa.audituser
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            AND iac.orderstatus = 3
+            AND io.orderstatus = 3
+            AND ifa.audituser != '自动审核'
+            AND (ifa.auditstatus ='1' or ifa.auditstatus ='0')
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and su.name =#{taskStatisticsVo.reviewer}
+            </if>
+
+            <if test="taskStatisticsVo.audituser !=null  and  taskStatisticsVo.audituser !=''">
+                and ifa.audituser =#{taskStatisticsVo.audituser}
+            </if>
+
+            <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.audittime !=null  and  taskStatisticsVo.audittime !=''">
+                and ifa.audittime =#{taskStatisticsVo.audittime}
+            </if>
+
+             <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
+            </if>
+
+            <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
+                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+            </if>
+            <if test="taskStatisticsVo.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="taskStatisticsVo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="taskStatisticsVo.userIds != null and taskStatisticsVo.userIds != '' and taskStatisticsVo.userIds.size() > 0">
+                AND su.id  in
+                <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <choose>
+                <when test="taskStatisticsVo.riskCode != null and taskStatisticsVo.riskCode != '' and  taskStatisticsVo.riskCode != 'all' ">
+                    and iac.product = #{taskStatisticsVo.riskCode}
+                </when>
+            </choose>
+        </where>
+    </select>
+
+    <select id="costCenterSecond" resultType="com.ydtech.modules.admin.model.dto.TaskStatisticsDtoNew">
+        SELECT
+        IFNULL(count(io.licenseno),0) as "orderNumber",
+        IFNULL(sum(TIMESTAMPDIFF(SECOND, iac.createtime, iac.audittime)),0) as "sumSecond",
+        IFNULL(sum(TIMESTAMPDIFF(SECOND, iac.createtime, iac.audittime)),0) / count(io.licenseno)  as "averageSecond"
+        FROM
+            ins_fee_audit ifa
+            LEFT JOIN ins_orders io ON io.orderno = ifa.orderno
+            LEFT JOIN ins_area_company iac ON iac.orderno = io.orderno
+            LEFT JOIN ptl_agreement pa ON pa.id = iac.agreement_id
+            LEFT JOIN esm_ins_company eic ON eic.id = pa.partner_companies_id
+            left join sys_user  su  on su.id =ifa.audituser
+        <where>
+            1=1
+            and iac.id = ifa.ins_order_no
+            AND iac.orderstatus = 3
+            AND io.orderstatus = 3
+            AND ifa.audituser != '自动审核'
+            AND (ifa.auditstatus ='1' or ifa.auditstatus ='0')
+            <if test="taskStatisticsVo.reviewer !=null  and  taskStatisticsVo.reviewer !=''">
+                and su.name =#{taskStatisticsVo.reviewer}
+            </if>
+
+            <if test="taskStatisticsVo.audituser !=null  and  taskStatisticsVo.audituser !=''">
+                and ifa.audituser =#{taskStatisticsVo.audituser}
+            </if>
+
+            <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.audittime !=null  and  taskStatisticsVo.audittime !=''">
+                and ifa.audittime =#{taskStatisticsVo.audittime}
+            </if>
+
+             <if test="taskStatisticsVo.companyId !=null  and  taskStatisticsVo.companyId !=''">
+                and iac.company_id =#{taskStatisticsVo.companyId}
+            </if>
+
+            <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
+                AND   DATE_FORMAT( ifa.audittime, '%Y-%m-%d')  BETWEEN  DATE_FORMAT( #{taskStatisticsVo.createtimeStart}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.createtimeEnd}, '%Y-%m-%d')
+            </if>
+
+            <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
+                AND   DATE_FORMAT( iac.signing_time, '%Y-%m-%d')   BETWEEN  DATE_FORMAT( #{taskStatisticsVo.beginDate}, '%Y-%m-%d')   AND  DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+            </if>
+            <if test="taskStatisticsVo.deptIds != null and taskStatisticsVo.deptIds != '' and taskStatisticsVo.deptIds.size() > 0">
+                AND io.deptid  in
+                <foreach collection="taskStatisticsVo.deptIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+
+            <if test="taskStatisticsVo.userIds != null and taskStatisticsVo.userIds != '' and taskStatisticsVo.userIds.size() > 0">
+                AND su.id  in
+                <foreach collection="taskStatisticsVo.userIds" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
+            <choose>
+                <when test="taskStatisticsVo.riskCode != null and taskStatisticsVo.riskCode != '' and  taskStatisticsVo.riskCode != 'all' ">
+                    and iac.product = #{taskStatisticsVo.riskCode}
+                </when>
+            </choose>
+        </where>
+    </select>
+
+
     <select id="getOrderManpower" resultType="com.ydtech.modules.admin.model.dto.QxFrontlineAgentDto">
         SELECT
         count( a.numberUserId ) as "orderManpower",