Quellcode durchsuchen

优化控制台查询

wks vor 1 Jahr
Ursprung
Commit
22f9596ac7

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

@@ -594,6 +594,7 @@ public class TaskStatisticsController {
     @ApiOperation(value = "控制台-业务数据-代理人-详情")
     public HttpResult<IPage<BusinessAgentData>> getBusinessAgentDataDetails(@RequestBody TaskStatisticsVo taskStatisticsVo) {
         try{
+            taskStatisticsVo.filterTime();
             IPage<BusinessAgentData> result = taskStatisticsService.getBusinessAgentDataDetails(taskStatisticsVo);
             return HttpResult.ok("查询数据成功", result);
         }catch (Exception e){
@@ -610,6 +611,7 @@ public class TaskStatisticsController {
     @ApiOperation(value = "控制台任务统计 渠道代理人详情")
     public HttpResult<IPage<TaskStatisticsDto>> channelAgentDetails(@RequestBody TaskStatisticsVo taskStatisticsVo) {
         try{
+            taskStatisticsVo.filterTime();
             IPage<TaskStatisticsDto> result = taskStatisticsService.channelAgentDetails(taskStatisticsVo);
             return HttpResult.ok("查询数据成功", result);
         }catch (Exception e){
@@ -627,6 +629,7 @@ public class TaskStatisticsController {
     @ApiOperation(value = "控制台-业务数据-电销-订单详情-详情")
     public HttpResult<PageInfo<BusinessOrderData>> getBusinessOrderDataDetails(@RequestBody TaskStatisticsVo taskStatisticsVo) {
         try {
+            taskStatisticsVo.filterTime();
             PageInfo<BusinessOrderData> businessOrderDataDetails = taskStatisticsService.getBusinessOrderDataDetails(taskStatisticsVo);
             return HttpResult.ok("查询数据成功", businessOrderDataDetails);
         } catch (Exception e) {

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

@@ -1061,7 +1061,7 @@ public class TaskStatisticsServiceImpl implements TaskStatisticsService {
         taskStatisticsVo.setCreatetimeEnd(dateMapByType.get("endDate"));
         getDateByType(taskStatisticsVo.getDateType(), taskStatisticsVo);
         PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
-        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        Page<TaskStatisticsVo> page = new Page<>(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
         page.setSearchCount(false).setOptimizeCountSql(false);//关闭count查询
         pageVo.setPageNum(taskStatisticsVo.getPageNum());
         pageVo.setPageSize(taskStatisticsVo.getPageSize());
@@ -1089,10 +1089,9 @@ public class TaskStatisticsServiceImpl implements TaskStatisticsService {
         taskStatisticsVo.setEndDate(dateMapByType.get("endDate"));
 
         PageVo<TaskStatisticsVo> pageVo = new PageVo<>();
-        Page page = new Page(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
+        Page<TaskStatisticsVo> page = new Page<>(taskStatisticsVo.getPageNum(), taskStatisticsVo.getPageSize());
         pageVo.setPageNum(taskStatisticsVo.getPageNum());
         pageVo.setPageSize(taskStatisticsVo.getPageSize());
-
         IPage<TaskStatisticsDto> list = this.taskStatisticsMapper.channelAgentDetails(page, taskStatisticsVo);
         return list;
     }

+ 18 - 18
src/main/resources/mapper/modules/admin/TaskStatisticsMapper.xml

@@ -320,10 +320,10 @@
             </if>
 
             <if test="vo.signingTimeStart != null and vo.signingTimeStart!='' and vo.signingTimeEnd != null and vo.signingTimeEnd != ''">
-                AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
+                AND iac.signing_time BETWEEN#{vo.signingTimeStart} AND #{vo.signingTimeEnd}
             </if>
             <if test="vo.enterTimeStart != null and vo.enterTimeStart!='' and vo.enterTimeEnd != null and vo.enterTimeEnd != ''">
-                AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
+                AND iac.createtime BETWEEN #{vo.enterTimeStart} AND #{vo.enterTimeEnd}
             </if>
 
             <if test="vo.managementSource !=null  and vo.managementSource!=''">
@@ -361,10 +361,10 @@
                   </if>
 
                   <if test="vo.signingTimeStart != null and vo.signingTimeStart!='' and vo.signingTimeEnd != null and vo.signingTimeEnd != ''">
-                      AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
+                      AND iac.signing_time BETWEEN #{vo.signingTimeStart} AND DATE_FORMAT(#{vo.signingTimeEnd}
                   </if>
                   <if test="vo.enterTimeStart != null and vo.enterTimeStart!='' and vo.enterTimeEnd != null and vo.enterTimeEnd != ''">
-                      AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d') AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
+                      AND iac.createtime BETWEEN  #{vo.enterTimeStart} AND DATE_FORMAT(#{vo.enterTimeEnd}
                   </if>
 
                   <if test="vo.managementSource !=null  and vo.managementSource!=''">
@@ -382,11 +382,15 @@
         COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ) AS underwritingCount,
         COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) AS qutationInsureCount,
         COUNT( CASE WHEN iot.order_status = '4' THEN 1 END ) AS underwritingReturn,
-        COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ) / COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) AS "passingRate",
-        COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) / COUNT( CASE WHEN  iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "closeRate",
-        (COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) + COUNT( CASE WHEN  iot.order_status = '2'  THEN 1 END ))/ COUNT(
-        CASE WHEN  iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "contributionRate",
-        COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) / COUNT( CASE WHEN  iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "quotationRate",
+        COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ) / COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) AS
+        "passingRate",
+        COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) / COUNT( CASE WHEN iot.order_status in
+        ('0','1','2','3','4') THEN 1 END ) AS "closeRate",
+        (COUNT( CASE WHEN iot.order_status = '3' THEN 1 END ) + COUNT( CASE WHEN iot.order_status = '2' THEN 1 END ))/
+        COUNT(
+        CASE WHEN iot.order_status in ('0','1','2','3','4') THEN 1 END ) AS "contributionRate",
+        COUNT( CASE WHEN iot.order_status = '0' THEN 1 END ) / COUNT( CASE WHEN iot.order_status in
+        ('0','1','2','3','4') THEN 1 END ) AS "quotationRate",
         COUNT(CASE WHEN io.order_source = 0 and iot.order_status = '0' THEN 1 END) as "pcOrderSource",
         COUNT(CASE WHEN io.order_source = 1 and iot.order_status = '0' THEN 1 END) as "appOrderSource",
         COUNT( CASE WHEN iot.order_status = '1' THEN 1 END ) AS "auditOrder"
@@ -395,7 +399,7 @@
         select iot.suborder,iot.order_status from `ins_orders_track` iot
         GROUP BY iot.suborder ,iot.order_status
         ) iot
-        left join ins_area_company  iac ON iac.id = iot.suborder
+        left join ins_area_company iac ON iac.id = iot.suborder
         LEFT JOIN ins_orders io ON io.orderno = iac.orderno
         LEFT JOIN sys_dept sd ON sd.id = io.deptid
         <where>
@@ -421,12 +425,10 @@
             </if>
 
             <if test="taskStatisticsVo.createtimeStart !=null and taskStatisticsVo.createtimeStart != '' and taskStatisticsVo.createtimeEnd !=null and taskStatisticsVo.createtimeEnd != ''">
-                AND DATE_FORMAT( ica.signing_time, '%Y-%m-%d') BETWEEN #{taskStatisticsVo.createtimeStart} AND
-                #{taskStatisticsVo.createtimeEnd}
+                AND ica.signing_time BETWEEN #{taskStatisticsVo.createtimeStart} AND #{taskStatisticsVo.createtimeEnd}
             </if>
             <if test="taskStatisticsVo.beginDate !=null and taskStatisticsVo.beginDate != '' and taskStatisticsVo.endDate !=null and taskStatisticsVo.endDate != ''">
-                AND DATE_FORMAT( iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT( #{taskStatisticsVo.beginDate},
-                '%Y-%m-%d') AND DATE_FORMAT( #{taskStatisticsVo.endDate}, '%Y-%m-%d')
+                AND iac.createtime BETWEEN #{taskStatisticsVo.beginDate} AND #{taskStatisticsVo.endDate}
             </if>
         </where>
         GROUP BY
@@ -475,12 +477,10 @@
                 AND su.id = #{vo.userId}
             </if>
             <if test="vo.signingTimeStart != null and vo.signingTimeStart!='' and vo.signingTimeEnd != null and vo.signingTimeEnd != ''">
-                AND DATE_FORMAT(iac.signing_time, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.signingTimeStart}, '%Y-%m-%d')
-                AND DATE_FORMAT(#{vo.signingTimeEnd}, '%Y-%m-%d')
+                AND iac.signing_time BETWEEN #{vo.signingTimeStart} AND #{vo.signingTimeEnd}
             </if>
             <if test="vo.enterTimeStart != null and vo.enterTimeStart!='' and vo.enterTimeEnd != null and vo.enterTimeEnd != ''">
-                AND DATE_FORMAT(iac.createtime, '%Y-%m-%d') BETWEEN DATE_FORMAT(#{vo.enterTimeStart}, '%Y-%m-%d')
-                AND DATE_FORMAT(#{vo.enterTimeEnd}, '%Y-%m-%d')
+                AND iac.createtime BETWEEN #{vo.enterTimeStart} AND #{vo.enterTimeEnd}
             </if>
         </where>
         GROUP BY