From 30f1b989186505884e3e4567a2b39e5f12846bde Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 30 May 2024 19:31:08 +0800
Subject: [PATCH] 通过E呼即办数据统计
---
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java | 76 ++++++++----
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java | 11 +
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java | 24 +++
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java | 9
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java | 8 +
src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java | 3
src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml | 131 ++++++++++++++-------
src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java | 4
13 files changed, 227 insertions(+), 79 deletions(-)
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java b/src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java
index 36716d8..825c388 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java
@@ -28,6 +28,7 @@
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.eCallEventTwo.dto.EcOrderDTO;
import org.springblade.modules.eCallEventTwo.dto.EcOrderParamDTO;
import org.springblade.modules.eCallEventTwo.entity.ECallEventTwoEntity;
import org.springblade.modules.eCallEventTwo.service.EcOrderService;
@@ -146,12 +147,12 @@
/**
* 工单 同步
*/
- @PostMapping("/getCount")
+ @GetMapping("/getCount")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "工单统计")
- public R getCount(@Valid @RequestBody EcOrderParamDTO ecOrderParamDTO) {
- Map<String, String> count = ecOrderService.getCount(ecOrderParamDTO);
- return R.data(count);
+ public R getCount( EcOrderParamDTO ecOrderParamDTO, Query query) {
+ IPage<EcOrderDTO> pages = ecOrderService.getCount(Condition.getPage(query),ecOrderParamDTO);
+ return R.data(pages);
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java
index 45e6383..54ab83b 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java
@@ -32,11 +32,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java
index 2648be6..130104c 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java
@@ -31,11 +31,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java
index 657257f..50f83b9 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java
@@ -31,12 +31,34 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
+
+ private String orderNumber;
+ private String dispatchRate;
+ private String dispatchNumber;
+ private String handRate;
+ private String checkRate;
+ private String doneRate;
+ private String respRate;
+ private String reviewRate;
+ private String superviseNumber;
+
+ private String orgCode;
+ private String orgName;
+
+
+
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java
index b55e63c..b7b5028 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java
@@ -31,11 +31,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java
index af0dc7d..34150c9 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java
@@ -23,11 +23,20 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
+
+ @ApiModelProperty(value = "是否主办(1/2)", example = "")
+ private Integer mainFlag;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java
index a91f0ff..2c36bfc 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java
@@ -31,11 +31,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java
index d2f7ee6..e61af2c 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java
@@ -31,11 +31,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java
index 8aef62e..7005bda 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java
@@ -31,11 +31,17 @@
private LocalDateTime endTime;
@ApiModelProperty(value = "调度单位", example = "")
- private String objectOrgCode;
+ private String subjectOrgCode;
+
+ @ApiModelProperty(value = "调度单位名称", example = "")
+ private String subjectOrgName;
@ApiModelProperty(value = "主办单位", example = "")
private String sinkOrgCode;
+ @ApiModelProperty(value = "主办单位名称", example = "")
+ private String sinkOrgName;
+
@ApiModelProperty(value = "是否主办(Y/N)", example = "")
private String tagMain;
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java
index a1ea701..ba8f26a 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.eCallEventTwo.dto.*;
import org.springblade.modules.eCallEventTwo.entity.EcOrder;
@@ -92,4 +93,6 @@
public int selectEcOrderSuperviseCount(EcOrderSuperviseDTO ecOrderSuperviseDTO);
List<Map<String, String>> getUnitAssessmentIndicators();
+
+ List<EcOrderDTO> getOrgCode(IPage page, EcOrderParamDTO ecOrderParamDTO);
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml
index ade451d..2077cd3 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml
@@ -123,10 +123,8 @@
<select id="selectEcOrderList" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderDTO" resultMap="EcOrderDTOResult">
SELECT
- eo.*
- FROM
- ec_order_cti eoc
- LEFT JOIN ec_order eo on eo.order_id= eoc.order_id
+ *
+ FROM ec_order
<where>
<if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
</if>
@@ -194,13 +192,12 @@
resultType="java.lang.Integer">
SELECT
COUNT(DISTINCT(eo.order_id))
- FROM
- ec_order_cti eoc
- LEFT JOIN ec_order eo on eo.order_id= eoc.order_id
+ FROM ec_order eo
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
<if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
</if>
@@ -273,18 +270,19 @@
<select id="selectEcDispatchCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcDispatchDTO"
resultType="java.lang.Integer">
SELECT
- COUNT(
- DISTINCT ( eo.order_id ))
+ COUNT(1)
FROM
ec_dispatch ed
LEFT JOIN ec_order eo ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
<if test="startTime != null and endTime != null">and ed.dispatch_time BETWEEN #{startTime} AND #{endTime}
</if>
-
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
+ </if>
<if test="dispatchId != null ">and dispatch_id = #{dispatchId}</if>
<if test="orderId != null ">and order_id = #{orderId}</if>
@@ -331,20 +329,22 @@
<select id="selectEcHandleCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcHandleDTO"
resultType="java.lang.Integer">
SELECT
- COUNT(DISTINCT(eo.order_id))
+ COUNT(DISTINCT(ehd.uid))
FROM
- ec_handle eh
- LEFT JOIN ec_order eo on eh.order_id = eo.order_id
+ ec_handle_doing ehd
+ LEFT JOIN ec_handle eh ON ehd.order_id = eh.order_id
+ LEFT JOIN ec_order eo ON eh.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
-
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
- <if test="startTime != null and endTime != null">and eh.remote_hdl_time BETWEEN #{startTime} AND
+ <if test="startTime != null and endTime != null">and ehd.biz_time BETWEEN #{startTime} AND
#{endTime}
</if>
-
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
+ </if>
<if test="handleId != null ">and handle_id = #{handleId}</if>
<if test="orderId != null ">and order_id = #{orderId}</if>
@@ -372,19 +372,21 @@
<select id="selectEcOrderCheckCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderCheckDTO"
resultType="java.lang.Integer">
SELECT
- COUNT(DISTINCT(eo.order_id))
+ COUNT(
+ DISTINCT ( eoct.uid ))
FROM
- ec_order_check eoc
- LEFT JOIN ec_order eo on eoc.order_id = eo.order_id
+ ec_order_check_tel eoct
+ LEFT JOIN ec_order_check eoc ON eoct.order_id = eoc.order_id
+ LEFT JOIN ec_order eo ON eoc.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
- LEFT JOIN ec_order_check_tel eoct on eoct.order_id = eo.order_id
+ LEFT JOIN ec_order_cti eoci on eoci.order_id = eo.order_id
<where>
-
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
<if test="startTime != null and endTime != null">and eoct.chk_time BETWEEN #{startTime} AND #{endTime}</if>
-
+ <if test="startTime != null and endTime != null">and eoci.callin_time BETWEEN #{startTime} AND #{endTime}
+ </if>
<if test="orderId != null ">and order_id = #{orderId}</if>
<if test="checkCode != null and checkCode != ''">and check_code = #{checkCode}</if>
@@ -399,19 +401,23 @@
<select id="selectEcOrderDoneCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderDoneDTO"
resultType="java.lang.Integer">
SELECT
- COUNT(DISTINCT(eo.order_id))
+ COUNT(
+ DISTINCT ( eodl.uid ))
FROM
- ec_order_done eod
- LEFT JOIN ec_order eo on eod.order_id = eo.order_id
+ ec_order_done_log eodl
+ LEFT JOIN ec_order_done eod ON eod.order_id = eodl.order_id
+ LEFT JOIN ec_order eo ON eod.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
- <if test="startTime != null and endTime != null">and eod.first_done_apply_time BETWEEN #{startTime} AND
+ <if test="startTime != null and endTime != null">and eodl.in_audit_time BETWEEN #{startTime} AND
#{endTime}
</if>
-
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
+ </if>
<if test="orderId != null ">and order_id = #{orderId}</if>
<if test="doneCode != null and doneCode != ''">and done_code = #{doneCode}</if>
@@ -424,18 +430,23 @@
<select id="selectEcOrderRespCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderRespDTO"
resultType="java.lang.Integer">
SELECT
- COUNT(DISTINCT(eo.order_id))
+ COUNT(
+ DISTINCT ( eorl.uid ))
FROM
- ec_order_resp eor
- LEFT JOIN ec_order eo on eor.order_id = eo.order_id
+ ec_order_resp_log eorl
+ LEFT JOIN ec_order_resp eor ON eorl.order_id = eor.order_id
+ LEFT JOIN ec_order eo ON eor.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
- LEFT JOIN ec_order_resp_log eorl on eorl.order_id = eor.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
- <if test="startTime != null and endTime != null">and eorl.resp_time BETWEEN #{startTime} AND #{endTime}</if>
+ <if test="startTime != null and endTime != null">and eorl.audit_time BETWEEN #{startTime} AND #{endTime}
+ </if>
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
+ </if>
<if test="orderId != null ">and order_id = #{orderId}</if>
<if test="respCode != null and respCode != ''">and resp_code = #{respCode}</if>
@@ -451,12 +462,15 @@
ec_order_review eor
LEFT JOIN ec_order eo on eor.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
<if test="startTime != null and endTime != null">and eor.review_time BETWEEN #{startTime} AND #{endTime}
+ </if>
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
</if>
@@ -506,13 +520,15 @@
ec_order_supervise eos
LEFT JOIN ec_order eo on eos.order_id = eo.order_id
LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc on eoc.order_id = eo.order_id
<where>
-
<if test="tagMain != null and tagMain != ''">and ed.tag_main = #{tagMain}</if>
- <if test="objectOrgCode != null and objectOrgCode != ''">and ed.object_org_code = #{objectOrgCode}</if>
+ <if test="subjectOrgCode != null and subjectOrgCode != ''">and ed.subject_org_code = #{subjectOrgCode}</if>
<if test="sinkOrgCode != null and sinkOrgCode != ''">and ed.sink_org_code = #{sinkOrgCode}</if>
<if test="startTime != null and endTime != null">and eos.supervise_time BETWEEN #{startTime} AND
#{endTime}
+ </if>
+ <if test="startTime != null and endTime != null">and eoc.callin_time BETWEEN #{startTime} AND #{endTime}
</if>
@@ -545,7 +561,38 @@
<select id="getUnitAssessmentIndicators" resultType="java.util.Map">
- select * from `v_statistics_examine_2`
+ select *
+ from `v_statistics_examine_2`
+
+ </select>
+
+
+ <select id="getOrgCode" resultType="org.springblade.modules.eCallEventTwo.dto.EcOrderDTO">
+ SELECT
+ ed.subject_org_code,ed.subject_org_name,ed.sink_org_code,ed.sink_org_name
+ FROM
+ ec_order eo
+ LEFT JOIN ec_dispatch ed ON eo.order_id = ed.order_id
+ LEFT JOIN ec_order_cti eoc ON eoc.order_id = eo.order_id
+ <where>
+ <if test="ecOrderParamDTO.tagMain != null and ecOrderParamDTO.tagMain != '' ">
+ and ed.tag_main = #{ecOrderParamDTO.tagMain}
+ <if test="ecOrderParamDTO.mainFlag != null and ecOrderParamDTO.mainFlag == 2">
+ <if test="ecOrderParamDTO.subjectOrgName != null and ecOrderParamDTO.subjectOrgName != ''">
+ and ed.subject_org_name like concat('%',#{ecOrderParamDTO.subjectOrgName},'%')
+ </if>
+ GROUP BY ed.subject_org_code
+ </if>
+ <if test="ecOrderParamDTO.mainFlag != null and ecOrderParamDTO.mainFlag == 1">
+ <if test="ecOrderParamDTO.sinkOrgName != null and ecOrderParamDTO.sinkOrgName != ''">
+ and ed.sink_org_name like concat('%',#{ecOrderParamDTO.sinkOrgName},'%')
+ </if>
+ GROUP BY ed.sink_org_code
+ </if>
+
+ </if>
+ </where>
+
</select>
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java b/src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java
index dd848b7..f2654a0 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java
@@ -1,9 +1,11 @@
package org.springblade.modules.eCallEventTwo.service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.eCallEventTwo.dto.EcOrderDTO;
import org.springblade.modules.eCallEventTwo.dto.EcOrderParamDTO;
import org.springblade.modules.eCallEventTwo.entity.EcOrder;
+import org.springblade.modules.eCallEventTwo.vo.ECallEventTwoVO;
import java.util.List;
import java.util.Map;
@@ -76,5 +78,5 @@
* @param ecOrderParamDTO
* @return
*/
- Map<String, String> getCount(EcOrderParamDTO ecOrderParamDTO);
+ IPage<EcOrderDTO> getCount(IPage<EcOrderDTO> page, EcOrderParamDTO ecOrderParamDTO);
}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
index aa4624a..6f9a2eb 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.jetbrains.annotations.NotNull;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.eCallEventTwo.dto.*;
import org.springblade.modules.eCallEventTwo.entity.ECallEventTwoEntity;
@@ -18,7 +19,6 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Arrays;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -132,11 +132,36 @@
return result;
}
+
/**
* 统计办结率
*/
@Override
- public Map<String, String> getCount(EcOrderParamDTO ecOrderParamDTO) {
+ public IPage<EcOrderDTO> getCount(IPage<EcOrderDTO> page, EcOrderParamDTO ecOrderParamDTO) {
+ // acpt_org_code
+ List<EcOrderDTO> result = baseMapper.getOrgCode(page, ecOrderParamDTO);
+ for (EcOrderDTO ecOrderDTO : result) {
+ if (ecOrderParamDTO.getTagMain().equals("Y")) {
+ ecOrderParamDTO.setSinkOrgCode(ecOrderDTO.getSinkOrgCode());
+ } else {
+ ecOrderParamDTO.setSubjectOrgCode(ecOrderDTO.getSubjectOrgCode());
+ }
+ // 统计办结率
+ buildRate(ecOrderParamDTO, ecOrderDTO);
+ // 获取单位名称
+ if (ecOrderParamDTO.getTagMain().equals("Y")) {
+ ecOrderDTO.setOrgCode(ecOrderDTO.getSinkOrgCode());
+ ecOrderDTO.setOrgName(ecOrderDTO.getSinkOrgName());
+ } else {
+ ecOrderDTO.setOrgCode(ecOrderDTO.getSubjectOrgCode());
+ ecOrderDTO.setOrgName(ecOrderDTO.getSubjectOrgName());
+ }
+ }
+ return page.setRecords(result);
+ }
+
+ @NotNull
+ private void buildRate(EcOrderParamDTO ecOrderParamDTO, EcOrderDTO ecOrder) {
// 统计订单
EcOrderDTO ecOrderDTO = BeanUtil.copy(ecOrderParamDTO, EcOrderDTO.class);
int i = baseMapper.selectEcOrderCount(ecOrderDTO);
@@ -162,37 +187,40 @@
EcOrderSuperviseDTO ecOrderSuperviseDTO = BeanUtil.copy(ecOrderParamDTO, EcOrderSuperviseDTO.class);
int i7 = baseMapper.selectEcOrderSuperviseCount(ecOrderSuperviseDTO);
// 工单数 派发单数 办理单数(率) 办结单数(率) 答复单数(率) 回访单数(率) 核实单数 督办单数
- Map<String, String> result = new HashMap<>();
+ // Map<String, String> result = new HashMap<>();
// 工单数
- result.put("orderNumber", String.valueOf(i));
+ // result.put("orderNumber", String.valueOf(i));
+ ecOrder.setOrderNumber(String.valueOf(i));
// 派发单数(率)
- result.put("dispatchRate", getRate(i1, i));
- result.put("dispatchNumber", String.valueOf(i1));
+ // result.put("dispatchRate", getRate(i1, i));
+ ecOrder.setDispatchRate(getRate(i1, i));
+ // result.put("dispatchNumber", String.valueOf(i1));
+ ecOrder.setDispatchNumber(String.valueOf(i1));
// 办理单数(率)
- result.put("handRate", getRate(i2, i));
- result.put("handNumber", String.valueOf(i2));
+ // result.put("handRate", getRate(i2, i));
+ ecOrder.setHandRate(getRate(i2, i));
+ // result.put("handNumber", String.valueOf(i2));
// 办结单数(率)
- result.put("checkRate", getRate(i3, i));
- result.put("checkNumber", String.valueOf(i3));
+ // result.put("checkRate", getRate(i3, i));
+ ecOrder.setCheckRate(getRate(i3, i));
+ // result.put("checkNumber", String.valueOf(i3));
// 答复单数(率)
- result.put("doneRate", getRate(i4, i));
- result.put("doneNumber", String.valueOf(i4));
+ // result.put("doneRate", getRate(i4, i));
+ ecOrder.setDoneRate(getRate(i4, i));
+ // result.put("doneNumber", String.valueOf(i4));
// 回访单数(率)
- result.put("respRate", getRate(i5, i));
- result.put("respNumber", String.valueOf(i5));
+ // result.put("respRate", getRate(i5, i));
+ ecOrder.setRespRate(getRate(i5, i));
+ // result.put("respNumber", String.valueOf(i5));
// 核实单数(率)
- result.put("reviewRate", getRate(i6, i));
- result.put("reviewNumber", String.valueOf(i6));
+ // result.put("reviewRate", getRate(i6, i));
+ ecOrder.setReviewRate(getRate(i6, i));
+ // result.put("reviewNumber", String.valueOf(i6));
// 督办单数
- result.put("superviseNumber", String.valueOf(i7));
+ // result.put("superviseNumber", String.valueOf(i7));
+ ecOrder.setSuperviseNumber(String.valueOf(i7));
// 返回结果
- return result;
-
- }
-
- public static void main(String[] args) {
- String rate = getRate(10, 3);
- System.out.println(rate);
+ // return result;
}
--
Gitblit v1.9.3