From 0ae58361b572a82a8ff1be2256c0d25fa5ec3ea4 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 28 May 2024 19:43:04 +0800
Subject: [PATCH] 通过E呼即办数据统计

---
 src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java |   78 ++
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcHandle.java                 |  123 ++++
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcDispatchDTO.java               |   32 +
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java                 |   42 +
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java                  |   25 
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderReview.java            |  150 +++++
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java              |   41 +
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcDispatch.java               |  261 +++++++++
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderResp.java              |   36 +
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderDone.java              |   50 +
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderSupervise.java         |  155 +++++
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java         |   41 +
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java              |   41 +
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java            |   41 +
 src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java             |   41 +
 src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderCheck.java             |   60 ++
 src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java            |   81 ++
 src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml             |  435 +++++++++++++-
 18 files changed, 1,686 insertions(+), 47 deletions(-)

diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcDispatchDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcDispatchDTO.java
new file mode 100644
index 0000000..40ed73b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcDispatchDTO.java
@@ -0,0 +1,32 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcDispatch;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 派发单对象 ec_dispatch
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcDispatchDTO对象")
+@Data
+public class EcDispatchDTO extends EcDispatch {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java
new file mode 100644
index 0000000..45e6383
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java
@@ -0,0 +1,42 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcHandle;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 办理单对象 ec_handle
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcHandleDTO对象")
+@Data
+public class EcHandleDTO extends EcHandle {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@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
new file mode 100644
index 0000000..2648be6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcOrderCheck;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 回访单对象 ec_order_check
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderCheckDTO对象")
+@Data
+public class EcOrderCheckDTO extends EcOrderCheck {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@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 b3c8528..657257f 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java
@@ -1,8 +1,13 @@
 package org.springblade.modules.eCallEventTwo.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springblade.modules.eCallEventTwo.entity.EcOrder;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
 
 /**
  * 工单对象 ec_order
@@ -14,4 +19,24 @@
 @Data
 public class EcOrderDTO extends EcOrder {
 
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@ApiModelProperty(value = "是否主办(Y/N)", example = "")
+	private String tagMain;
+
 }
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java
new file mode 100644
index 0000000..b55e63c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcOrderDone;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 办结单对象 ec_order_done
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderDoneDTO对象")
+@Data
+public class EcOrderDoneDTO extends EcOrderDone {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@ApiModelProperty(value = "是否主办(Y/N)", example = "")
+	private String tagMain;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java
new file mode 100644
index 0000000..a91f0ff
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcOrderResp;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 答复单对象 ec_order_resp
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderRespDTO对象")
+@Data
+public class EcOrderRespDTO extends EcOrderResp {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@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
new file mode 100644
index 0000000..d2f7ee6
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcOrderReview;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 核实单对象 ec_order_review
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderReviewDTO对象")
+@Data
+public class EcOrderReviewDTO extends EcOrderReview {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@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
new file mode 100644
index 0000000..8aef62e
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java
@@ -0,0 +1,41 @@
+package org.springblade.modules.eCallEventTwo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springblade.modules.eCallEventTwo.entity.EcOrderSupervise;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+/**
+ * 督办单对象 ec_order_supervise
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderSuperviseDTO对象")
+@Data
+public class EcOrderSuperviseDTO extends EcOrderSupervise {
+
+	@ApiModelProperty(value = "开始时间", example = "")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	private LocalDateTime startTime;
+
+	@ApiModelProperty(value = "结束时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private LocalDateTime endTime;
+
+	@ApiModelProperty(value = "调度单位", example = "")
+	private String objectOrgCode;
+
+	@ApiModelProperty(value = "主办单位", example = "")
+	private String sinkOrgCode;
+
+	@ApiModelProperty(value = "是否主办(Y/N)", example = "")
+	private String tagMain;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcDispatch.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcDispatch.java
new file mode 100644
index 0000000..aeab9aa
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcDispatch.java
@@ -0,0 +1,261 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 派发单对象 ec_dispatch
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcDispatch对象", description = "派发单")
+@Data
+@TableName("ec_dispatch")
+public class EcDispatch implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * 派发ID
+	 */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "dispatch_id", type = IdType.AUTO)
+	private Long dispatchId;
+
+	/**
+	 * 工单ID
+	 */
+	@ApiModelProperty(value = "工单ID", example = "")
+	@TableField("order_id")
+	private Long orderId;
+
+	/**
+	 * 派发单号
+	 */
+	@ApiModelProperty(value = "派发单号", example = "")
+	@TableField("dispatch_code")
+	private String dispatchCode;
+
+	/**
+	 * 派发时间
+	 */
+	@ApiModelProperty(value = "派发时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("dispatch_time")
+	private Date dispatchTime;
+
+	/**
+	 * 派发意见
+	 */
+	@ApiModelProperty(value = "派发意见", example = "")
+	@TableField("dispatch_note")
+	private String dispatchNote;
+
+	/**
+	 * 派发附件
+	 */
+	@ApiModelProperty(value = "派发附件", example = "")
+	@TableField("dispatch_images")
+	private String dispatchImages;
+
+	/**
+	 * 派出单位
+	 */
+	@ApiModelProperty(value = "派出单位", example = "")
+	@TableField("subject_org_code")
+	private String subjectOrgCode;
+
+	/**
+	 * 派出单位
+	 */
+	@ApiModelProperty(value = "派出单位", example = "")
+	@TableField("subject_org_name")
+	private String subjectOrgName;
+
+	/**
+	 * 派出人员
+	 */
+	@ApiModelProperty(value = "派出人员", example = "")
+	@TableField("subject_user_name")
+	private String subjectUserName;
+
+	/**
+	 * 派出人员
+	 */
+	@ApiModelProperty(value = "派出人员", example = "")
+	@TableField("subject_user_cnname")
+	private String subjectUserCnname;
+
+	/**
+	 * 派发目标单位
+	 */
+	@ApiModelProperty(value = "派发目标单位", example = "")
+	@TableField("object_org_code")
+	private String objectOrgCode;
+
+	/**
+	 * 派发目标单位
+	 */
+	@ApiModelProperty(value = "派发目标单位", example = "")
+	@TableField("object_org_name")
+	private String objectOrgName;
+
+	/**
+	 * 实际接收单位(含抄送)
+	 */
+	@ApiModelProperty(value = "实际接收单位(含抄送)", example = "")
+	@TableField("sink_org_code")
+	private String sinkOrgCode;
+
+	/**
+	 * 实际接收单位(含抄送)
+	 */
+	@ApiModelProperty(value = "实际接收单位(含抄送)", example = "")
+	@TableField("sink_org_name")
+	private String sinkOrgName;
+
+	/**
+	 * 是否主办(Y/N)
+	 */
+	@ApiModelProperty(value = "是否主办(Y/N)", example = "")
+	@TableField("tag_main")
+	private String tagMain;
+
+	/**
+	 * 是否抄送(Y/N)
+	 */
+	@ApiModelProperty(value = "是否抄送(Y/N)", example = "")
+	@TableField("tag_cc")
+	private String tagCc;
+
+	/**
+	 * 话务送审(Y/N)
+	 */
+	@ApiModelProperty(value = "话务送审(Y/N)", example = "")
+	@TableField("tag_cti")
+	private String tagCti;
+
+	/**
+	 * 联指派发联指(Y/N)
+	 */
+	@ApiModelProperty(value = "联指派发联指(Y/N)", example = "")
+	@TableField("tag_trans")
+	private String tagTrans;
+
+	/**
+	 * 前序派发单
+	 */
+	@ApiModelProperty(value = "前序派发单", example = "")
+	@TableField("up_dispatch_id")
+	private Long upDispatchId;
+
+	/**
+	 * 签收单位
+	 */
+	@ApiModelProperty(value = "签收单位", example = "")
+	@TableField("ack_org_code")
+	private String ackOrgCode;
+
+	/**
+	 * 签收单位
+	 */
+	@ApiModelProperty(value = "签收单位", example = "")
+	@TableField("ack_org_name")
+	private String ackOrgName;
+
+	/**
+	 * 签收人员
+	 */
+	@ApiModelProperty(value = "签收人员", example = "")
+	@TableField("ack_user_name")
+	private String ackUserName;
+
+	/**
+	 * 签收人员
+	 */
+	@ApiModelProperty(value = "签收人员", example = "")
+	@TableField("ack_user_cnname")
+	private String ackUserCnname;
+
+	/**
+	 * 签收时间
+	 */
+	@ApiModelProperty(value = "签收时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("ack_time")
+	private Date ackTime;
+
+	/**
+	 * 退回人员
+	 */
+	@ApiModelProperty(value = "退回人员", example = "")
+	@TableField("reject_user_name")
+	private String rejectUserName;
+
+	/**
+	 * 退回人员
+	 */
+	@ApiModelProperty(value = "退回人员", example = "")
+	@TableField("reject_user_cnname")
+	private String rejectUserCnname;
+
+	/**
+	 * 退回单位
+	 */
+	@ApiModelProperty(value = "退回单位", example = "")
+	@TableField("reject_org_code")
+	private String rejectOrgCode;
+
+	/**
+	 * 退回单位
+	 */
+	@ApiModelProperty(value = "退回单位", example = "")
+	@TableField("reject_org_name")
+	private String rejectOrgName;
+
+	/**
+	 * 退回时间
+	 */
+	@ApiModelProperty(value = "退回时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("reject_time")
+	private Date rejectTime;
+
+	/**
+	 * 退回意见
+	 */
+	@ApiModelProperty(value = "退回意见", example = "")
+	@TableField("reject_note")
+	private String rejectNote;
+
+	/**
+	 * 退回附件
+	 */
+	@ApiModelProperty(value = "退回附件", example = "")
+	@TableField("reject_images")
+	private String rejectImages;
+
+	/**
+	 * 是否退回(Y/N)
+	 */
+	@ApiModelProperty(value = "是否退回(Y/N)", example = "")
+	@TableField("tag_reject")
+	private String tagReject;
+
+	/**
+	 * 退回类型(0退回 1改派)
+	 */
+	@ApiModelProperty(value = "退回类型(0退回 1改派)", example = "")
+	@TableField("reject_type")
+	private String rejectType;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcHandle.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcHandle.java
new file mode 100644
index 0000000..e9d86d9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcHandle.java
@@ -0,0 +1,123 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 办理单对象 ec_handle
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcHandle对象" , description = "办理单")
+@Data
+@TableName("ec_handle")
+public class EcHandle implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 办理单ID */
+    @ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "handle_id", type = IdType.AUTO)
+    private Long handleId;
+
+    /** 工单ID */
+    @ApiModelProperty(value = "工单ID", example = "")
+	@TableField("order_id")
+    private Long orderId;
+
+    /** 派发单ID */
+    @ApiModelProperty(value = "派发单ID", example = "")
+	@TableField("dispatch_id")
+    private Long dispatchId;
+
+    /** 办理单号 */
+    @ApiModelProperty(value = "办理单号", example = "")
+	@TableField("handle_code")
+    private String handleCode;
+
+    /** 办理单位 */
+    @ApiModelProperty(value = "办理单位", example = "")
+	@TableField("hdl_org_code")
+    private String hdlOrgCode;
+
+    /** 办理单位 */
+    @ApiModelProperty(value = "办理单位", example = "")
+	@TableField("hdl_org_name")
+    private String hdlOrgName;
+
+    /** 到达现场地点 */
+    @ApiModelProperty(value = "到达现场地点", example = "")
+	@TableField("arrive_loc")
+    private String arriveLoc;
+
+    /** 到达现场地点-经度 */
+    @ApiModelProperty(value = "到达现场地点-经度", example = "")
+	@TableField("arrive_loc_lat")
+    private BigDecimal arriveLocLat;
+
+    /** 到达现场地点-维度 */
+    @ApiModelProperty(value = "到达现场地点-维度", example = "")
+	@TableField("arrive_loc_lng")
+    private BigDecimal arriveLocLng;
+
+    /** 到达现场时间 */
+    @ApiModelProperty(value = "到达现场时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("arrive_biz_time")
+    private Date arriveBizTime;
+
+    /** 远程处置时间 */
+    @ApiModelProperty(value = "远程处置时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("remote_hdl_time")
+    private Date remoteHdlTime;
+
+    /** 远程处置说明 */
+    @ApiModelProperty(value = "远程处置说明", example = "")
+	@TableField("remote_hdl_note")
+    private String remoteHdlNote;
+
+    /** 远程处置附件 */
+    @ApiModelProperty(value = "远程处置附件", example = "")
+	@TableField("remote_hdl_images")
+    private String remoteHdlImages;
+
+    /** 未规范处置说明 */
+    @ApiModelProperty(value = "未规范处置说明", example = "")
+	@TableField("nosop_hdl_note")
+    private String nosopHdlNote;
+
+    /** 未规范处置附件 */
+    @ApiModelProperty(value = "未规范处置附件", example = "")
+	@TableField("nosop_hdl_images")
+    private String nosopHdlImages;
+
+    /** 截止日期 */
+    @ApiModelProperty(value = "截止日期", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("limit_time")
+    private Date limitTime;
+
+    /** 延期后截止日期 */
+    @ApiModelProperty(value = "延期后截止日期", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("delay_time")
+    private Date delayTime;
+
+    /** 已反馈(Y/N) */
+    @ApiModelProperty(value = "已反馈(Y/N)", example = "")
+	@TableField("tag_hdl_doing")
+    private String tagHdlDoing;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderCheck.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderCheck.java
new file mode 100644
index 0000000..bee2a2b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderCheck.java
@@ -0,0 +1,60 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 回访单对象 ec_order_check
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderCheck对象" , description = "回访单")
+@Data
+@TableName("ec_order_check")
+public class EcOrderCheck implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 工单ID */
+    @ApiModelProperty(value = "主键ID", example = "")
+    @TableId(value = "order_id", type = IdType.ASSIGN_ID)
+    private Long orderId;
+
+    /** 回访单号 */
+    @ApiModelProperty(value = "回访单号", example = "")
+	@TableField("check_code")
+    private String checkCode;
+
+    /** 回访单位 */
+    @ApiModelProperty(value = "回访单位", example = "")
+	@TableField("check_org_code")
+    private String checkOrgCode;
+
+    /** 回访单位 */
+    @ApiModelProperty(value = "回访单位", example = "")
+	@TableField("check_org_name")
+    private String checkOrgName;
+
+    /** 回访时限起点 */
+    @ApiModelProperty(value = "回访时限起点", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("limit_start_time")
+    private Date limitStartTime;
+
+    /** 回访时限终点 */
+    @ApiModelProperty(value = "回访时限终点", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("limit_end_time")
+    private Date limitEndTime;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderDone.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderDone.java
new file mode 100644
index 0000000..88ddea4
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderDone.java
@@ -0,0 +1,50 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 办结单对象 ec_order_done
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderDone对象" , description = "办结单")
+@Data
+@TableName("ec_order_done")
+public class EcOrderDone implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 工单ID */
+    @ApiModelProperty(value = "主键ID", example = "")
+    @TableId(value = "order_id", type = IdType.ASSIGN_ID)
+    private Long orderId;
+
+    /** 办结单号 */
+    @ApiModelProperty(value = "办结单号", example = "")
+	@TableField("done_code")
+    private String doneCode;
+
+    /** 首次办结申请时间 */
+    @ApiModelProperty(value = "首次办结申请时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("first_done_apply_time")
+    private Date firstDoneApplyTime;
+
+    /** 首次办结审核通过时间 */
+    @ApiModelProperty(value = "首次办结审核通过时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("first_done_audit_yes_time")
+    private Date firstDoneAuditYesTime;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderResp.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderResp.java
new file mode 100644
index 0000000..45cf28b
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderResp.java
@@ -0,0 +1,36 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 答复单对象 ec_order_resp
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderResp对象" , description = "答复单")
+@Data
+@TableName("ec_order_resp")
+public class EcOrderResp implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 工单号 */
+    @ApiModelProperty(value = "主键ID", example = "")
+    @TableId(value = "order_id", type = IdType.ASSIGN_ID)
+    private Long orderId;
+
+    /** 答复单号 */
+    @ApiModelProperty(value = "答复单号", example = "")
+	@TableField("resp_code")
+    private String respCode;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderReview.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderReview.java
new file mode 100644
index 0000000..3ec31b9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderReview.java
@@ -0,0 +1,150 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 核实单对象 ec_order_review
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderReview对象" , description = "核实单")
+@Data
+@TableName("ec_order_review")
+public class EcOrderReview implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 工单ID */
+    @ApiModelProperty(value = "主键ID", example = "")
+    @TableId(value = "order_id", type = IdType.ASSIGN_ID)
+    private Long orderId;
+
+    /** 核实单号 */
+    @ApiModelProperty(value = "核实单号", example = "")
+	@TableField("review_code")
+    private String reviewCode;
+
+    /** 工单号 */
+    @ApiModelProperty(value = "工单号", example = "")
+	@TableField("order_code")
+    private String orderCode;
+
+    /** 关联电话回访流水号 */
+    @ApiModelProperty(value = "关联电话回访流水号", example = "")
+	@TableField("tel_chk_id")
+    private Long telChkId;
+
+    /** 核实时间 */
+    @ApiModelProperty(value = "核实时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("review_time")
+    private Date reviewTime;
+
+    /** 核实人员 */
+    @ApiModelProperty(value = "核实人员", example = "")
+	@TableField("review_user_cnname")
+    private String reviewUserCnname;
+
+    /** 核实人员 */
+    @ApiModelProperty(value = "核实人员", example = "")
+	@TableField("review_user_name")
+    private String reviewUserName;
+
+    /** 核实坐席分机 */
+    @ApiModelProperty(value = "核实坐席分机", example = "")
+	@TableField("review_user_phone")
+    private String reviewUserPhone;
+
+    /** 核实单位 */
+    @ApiModelProperty(value = "核实单位", example = "")
+	@TableField("review_org_code")
+    private String reviewOrgCode;
+
+    /** 核实单位名称 */
+    @ApiModelProperty(value = "核实单位名称", example = "")
+	@TableField("review_org_name")
+    private String reviewOrgName;
+
+    /** 核实诉求人 */
+    @ApiModelProperty(value = "核实诉求人", example = "")
+	@TableField("review_issuer")
+    private String reviewIssuer;
+
+    /** 核实诉求人号码 */
+    @ApiModelProperty(value = "核实诉求人号码", example = "")
+	@TableField("review_issuer_phone")
+    private String reviewIssuerPhone;
+
+    /** 核实内容 */
+    @ApiModelProperty(value = "核实内容", example = "")
+	@TableField("review_note")
+    private String reviewNote;
+
+    /** 核实结果 */
+    @ApiModelProperty(value = "核实结果", example = "")
+	@TableField("review_yesno")
+    private String reviewYesno;
+
+    /** 核实附件 */
+    @ApiModelProperty(value = "核实附件", example = "")
+	@TableField("review_images")
+    private String reviewImages;
+
+    /** 核实录音文件 */
+    @ApiModelProperty(value = "核实录音文件", example = "")
+	@TableField("cti_voice_record_id")
+    private String ctiVoiceRecordId;
+
+    /** 核实录音播放地址 */
+    @ApiModelProperty(value = "核实录音播放地址", example = "")
+	@TableField("cti_voice_record_url")
+    private String ctiVoiceRecordUrl;
+
+    /** 重新办理单位 */
+    @ApiModelProperty(value = "重新办理单位", example = "")
+	@TableField("redo_org_code")
+    private String redoOrgCode;
+
+    /** 重新办理单位 */
+    @ApiModelProperty(value = "重新办理单位", example = "")
+	@TableField("redo_org_name")
+    private String redoOrgName;
+
+    /** 重新办理人员 */
+    @ApiModelProperty(value = "重新办理人员", example = "")
+	@TableField("redo_user_name")
+    private String redoUserName;
+
+    /** 重新办理人员 */
+    @ApiModelProperty(value = "重新办理人员", example = "")
+	@TableField("redo_user_cnname")
+    private String redoUserCnname;
+
+    /** 重新办理时间 */
+    @ApiModelProperty(value = "重新办理时间", example = "")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("redo_time")
+    private Date redoTime;
+
+    /** 重新办理情况 */
+    @ApiModelProperty(value = "重新办理情况", example = "")
+	@TableField("redo_note")
+    private String redoNote;
+
+    /** 重新办理附件 */
+    @ApiModelProperty(value = "重新办理附件", example = "")
+	@TableField("redo_images")
+    private String redoImages;
+}
diff --git a/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderSupervise.java b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderSupervise.java
new file mode 100644
index 0000000..d0a5ce9
--- /dev/null
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/entity/EcOrderSupervise.java
@@ -0,0 +1,155 @@
+package org.springblade.modules.eCallEventTwo.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 督办单对象 ec_order_supervise
+ *
+ * @author ${context.author}
+ * @date 2024-05-28 14:42:26
+ */
+@ApiModel(value = "EcOrderSupervise对象", description = "督办单")
+@Data
+@TableName("ec_order_supervise")
+public class EcOrderSupervise implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+
+	/**
+	 * 工单ID
+	 */
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "order_id", type = IdType.ASSIGN_ID)
+	private Long orderId;
+
+	/**
+	 * 督办单号
+	 */
+	@ApiModelProperty(value = "督办单号", example = "")
+	@TableField("supervise_code")
+	private String superviseCode;
+
+	/**
+	 * 工单号
+	 */
+	@ApiModelProperty(value = "工单号", example = "")
+	@TableField("order_code")
+	private String orderCode;
+
+	/**
+	 * 关联电话回访流水号
+	 */
+	@ApiModelProperty(value = "关联电话回访流水号", example = "")
+	@TableField("tel_chk_id")
+	private Long telChkId;
+
+	/**
+	 * 督办生成时间
+	 */
+	@ApiModelProperty(value = "督办生成时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("supervise_time")
+	private Date superviseTime;
+
+	/**
+	 * 督办领导
+	 */
+	@ApiModelProperty(value = "督办领导", example = "")
+	@TableField("supervisor_name")
+	private String supervisorName;
+
+	/**
+	 * 督办领导
+	 */
+	@ApiModelProperty(value = "督办领导", example = "")
+	@TableField("supervisor_cnname")
+	private String supervisorCnname;
+
+	/**
+	 * 督办意见
+	 */
+	@ApiModelProperty(value = "督办意见", example = "")
+	@TableField("supervise_note")
+	private String superviseNote;
+
+	/**
+	 * 督办附件
+	 */
+	@ApiModelProperty(value = "督办附件", example = "")
+	@TableField("supervise_images")
+	private String superviseImages;
+
+	/**
+	 * 督办单位
+	 */
+	@ApiModelProperty(value = "督办单位", example = "")
+	@TableField("supervisor_org_code")
+	private String supervisorOrgCode;
+
+	/**
+	 * 督办单位
+	 */
+	@ApiModelProperty(value = "督办单位", example = "")
+	@TableField("supervisor_org_name")
+	private String supervisorOrgName;
+
+	/**
+	 * 重新办理单位
+	 */
+	@ApiModelProperty(value = "重新办理单位", example = "")
+	@TableField("redo_org_code")
+	private String redoOrgCode;
+
+	/**
+	 * 重新办理单位
+	 */
+	@ApiModelProperty(value = "重新办理单位", example = "")
+	@TableField("redo_org_name")
+	private String redoOrgName;
+
+	/**
+	 * 重新办理人员
+	 */
+	@ApiModelProperty(value = "重新办理人员", example = "")
+	@TableField("redo_user_name")
+	private String redoUserName;
+
+	/**
+	 * 重新办理人员
+	 */
+	@ApiModelProperty(value = "重新办理人员", example = "")
+	@TableField("redo_user_cnname")
+	private String redoUserCnname;
+
+	/**
+	 * 重新办理时间
+	 */
+	@ApiModelProperty(value = "重新办理时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("redo_time")
+	private Date redoTime;
+
+	/**
+	 * 重新办理情况
+	 */
+	@ApiModelProperty(value = "重新办理情况", example = "")
+	@TableField("redo_note")
+	private String redoNote;
+
+	/**
+	 * 重新办理附件
+	 */
+	@ApiModelProperty(value = "重新办理附件", example = "")
+	@TableField("redo_images")
+	private String redoImages;
+}
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 4404ae4..c752fe4 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java
@@ -2,7 +2,7 @@
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.springblade.modules.eCallEventTwo.dto.EcOrderDTO;
+import org.springblade.modules.eCallEventTwo.dto.*;
 import org.springblade.modules.eCallEventTwo.entity.EcOrder;
 
 import java.util.List;
@@ -17,12 +17,77 @@
 		 */
 		public EcOrderDTO selectEcOrderById(Long orderId);
 
-		/**
-		 * 查询工单列表
-		 *
-		 * @param ecOrderDTO 工单
-		 * @return 工单集合
-		 */
-		public List<EcOrderDTO> selectEcOrderList(EcOrderDTO ecOrderDTO);
+	/**
+	 * 查询工单列表
+	 *
+	 * @param ecOrderDTO 工单
+	 * @return 工单集合
+	 */
+	public List<EcOrderDTO> selectEcOrderList(EcOrderDTO ecOrderDTO);
+
+	/**
+	 * 查询工单列表
+	 *
+	 * @param ecOrderDTO 工单
+	 * @return 工单集合
+	 */
+	public int selectEcOrderCount(EcOrderDTO ecOrderDTO);
+
+	/**
+	 * 查询派单
+	 *
+	 * @param ecDispatchDTO 工单ID
+	 * @return 派单
+	 */
+	public int selectEcDispatchCount(EcDispatchDTO ecDispatchDTO);
+
+	/**
+	 * 查询办理单列表
+	 *
+	 * @param ecHandleDTO 办理单
+	 * @return 办理单集合
+	 */
+	public int selectEcHandleCount(EcHandleDTO ecHandleDTO);
+
+	/**
+	 * 查询回访单列表
+	 *
+	 * @param ecOrderCheckDTO 回访单
+	 * @return 回访单集合
+	 */
+	public int selectEcOrderCheckCount(EcOrderCheckDTO ecOrderCheckDTO);
+
+	/**
+	 * 查询办结单列表
+	 *
+	 * @param ecOrderDoneDTO 办结单
+	 * @return 办结单集合
+	 */
+	public int selectEcOrderDoneCount(EcOrderDoneDTO ecOrderDoneDTO);
+
+
+	/**
+	 * 查询答复单列表
+	 *
+	 * @param ecOrderRespDTO 答复单
+	 * @return 答复单集合
+	 */
+	public int selectEcOrderRespCount(EcOrderRespDTO ecOrderRespDTO);
+
+	/**
+	 * 查询核实单列表
+	 *
+	 * @param ecOrderReviewDTO 核实单
+	 * @return 核实单集合
+	 */
+	public int selectEcOrderReviewCount(EcOrderReviewDTO ecOrderReviewDTO);
+
+	/**
+	 * 查询督办单列表
+	 *
+	 * @param ecOrderSuperviseDTO 督办单
+	 * @return 督办单集合
+	 */
+	public int selectEcOrderSuperviseCount(EcOrderSuperviseDTO ecOrderSuperviseDTO);
 
 }
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 42502b6..a6e011f 100644
--- a/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml
+++ b/src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml
@@ -137,44 +137,403 @@
 		<if test="applicantGrid != null  and applicantGrid != ''"> and applicant_grid = #{applicantGrid}</if>
 		<if test="applicantDistrict != null  and applicantDistrict != ''"> and applicant_district = #{applicantDistrict}</if>
 		<if test="sceneAddr != null  and sceneAddr != ''"> and scene_addr = #{sceneAddr}</if>
-		<if test="sceneAddrGrid != null  and sceneAddrGrid != ''"> and scene_addr_grid = #{sceneAddrGrid}</if>
-		<if test="sceneDistrict != null  and sceneDistrict != ''"> and scene_district = #{sceneDistrict}</if>
-		<if test="scenePlace != null  and scenePlace != ''"> and scene_place = #{scenePlace}</if>
-		<if test="sceneGeoLat != null "> and scene_geo_lat = #{sceneGeoLat}</if>
-		<if test="sceneGeoLng != null "> and scene_geo_lng = #{sceneGeoLng}</if>
-		<if test="sceneAddrCor != null  and sceneAddrCor != ''"> and scene_addr_cor = #{sceneAddrCor}</if>
-		<if test="sceneGeoLatCor != null "> and scene_geo_lat_cor = #{sceneGeoLatCor}</if>
-		<if test="sceneGeoLngCor != null "> and scene_geo_lng_cor = #{sceneGeoLngCor}</if>
-		<if test="isSecret != null  and isSecret != ''"> and is_secret = #{isSecret}</if>
-		<if test="isRepeat != null  and isRepeat != ''"> and is_repeat = #{isRepeat}</if>
-		<if test="issueType != null  and issueType != ''"> and issue_type = #{issueType}</if>
-		<if test="issueClazz != null  and issueClazz != ''"> and issue_clazz = #{issueClazz}</if>
-		<if test="issueLevel != null  and issueLevel != ''"> and issue_level = #{issueLevel}</if>
-		<if test="deadline != null "> and deadline = #{deadline}</if>
-		<if test="linkOrders != null  and linkOrders != ''"> and link_orders = #{linkOrders}</if>
-		<if test="linkOrdersCode != null  and linkOrdersCode != ''"> and link_orders_code = #{linkOrdersCode}</if>
-		<if test="wikiRef != null  and wikiRef != ''"> and wiki_ref = #{wikiRef}</if>
-		<if test="acptOrgCode != null  and acptOrgCode != ''"> and acpt_org_code = #{acptOrgCode}</if>
-		<if test="acptOrgName != null  and acptOrgName != ''"> and acpt_org_name = #{acptOrgName}</if>
-		<if test="handleWay != null  and handleWay != ''"> and handle_way = #{handleWay}</if>
-		<if test="externalHandleWay != null  and externalHandleWay != ''"> and external_handle_way = #{externalHandleWay}</if>
-		<if test="directFeed != null  and directFeed != ''"> and direct_feed = #{directFeed}</if>
-		<if test="directFeedHandler != null  and directFeedHandler != ''"> and direct_feed_handler = #{directFeedHandler}</if>
-		<if test="directFeedTime != null "> and direct_feed_time = #{directFeedTime}</if>
-		<if test="images != null  and images != ''"> and images = #{images}</if>
-		<if test="flagVaild != null  and flagVaild != ''"> and flag_vaild = #{flagVaild}</if>
-		<if test="invalidNote != null  and invalidNote != ''"> and invalid_note = #{invalidNote}</if>
-		<if test="invalidTime != null "> and invalid_time = #{invalidTime}</if>
-		<if test="invalidUserName != null  and invalidUserName != ''"> and invalid_user_name = #{invalidUserName}</if>
-		<if test="status != null  and status != ''"> and status = #{status}</if>
-		<if test="tagApply != null  and tagApply != ''"> and tag_apply = #{tagApply}</if>
-		<if test="tagDelay != null  and tagDelay != ''"> and tag_delay = #{tagDelay}</if>
-		<if test="tagDoing != null  and tagDoing != ''"> and tag_doing = #{tagDoing}</if>
-		<if test="tagResp != null  and tagResp != ''"> and tag_resp = #{tagResp}</if>
-		<if test="tagDone != null  and tagDone != ''"> and tag_done = #{tagDone}</if>
-		<if test="tagCheck != null  and tagCheck != ''"> and tag_check = #{tagCheck}</if>
-		<if test="tagChkTel != null  and tagChkTel != ''"> and tag_chk_tel = #{tagChkTel}</if>
-		<if test="tagRedo != null  and tagRedo != ''"> and tag_redo = #{tagRedo}</if>
+            <if test="sceneAddrGrid != null  and sceneAddrGrid != ''">and scene_addr_grid = #{sceneAddrGrid}</if>
+            <if test="sceneDistrict != null  and sceneDistrict != ''">and scene_district = #{sceneDistrict}</if>
+            <if test="scenePlace != null  and scenePlace != ''">and scene_place = #{scenePlace}</if>
+            <if test="sceneGeoLat != null ">and scene_geo_lat = #{sceneGeoLat}</if>
+            <if test="sceneGeoLng != null ">and scene_geo_lng = #{sceneGeoLng}</if>
+            <if test="sceneAddrCor != null  and sceneAddrCor != ''">and scene_addr_cor = #{sceneAddrCor}</if>
+            <if test="sceneGeoLatCor != null ">and scene_geo_lat_cor = #{sceneGeoLatCor}</if>
+            <if test="sceneGeoLngCor != null ">and scene_geo_lng_cor = #{sceneGeoLngCor}</if>
+            <if test="isSecret != null  and isSecret != ''">and is_secret = #{isSecret}</if>
+            <if test="isRepeat != null  and isRepeat != ''">and is_repeat = #{isRepeat}</if>
+            <if test="issueType != null  and issueType != ''">and issue_type = #{issueType}</if>
+            <if test="issueClazz != null  and issueClazz != ''">and issue_clazz = #{issueClazz}</if>
+            <if test="issueLevel != null  and issueLevel != ''">and issue_level = #{issueLevel}</if>
+            <if test="deadline != null ">and deadline = #{deadline}</if>
+            <if test="linkOrders != null  and linkOrders != ''">and link_orders = #{linkOrders}</if>
+            <if test="linkOrdersCode != null  and linkOrdersCode != ''">and link_orders_code = #{linkOrdersCode}</if>
+            <if test="wikiRef != null  and wikiRef != ''">and wiki_ref = #{wikiRef}</if>
+            <if test="acptOrgCode != null  and acptOrgCode != ''">and acpt_org_code = #{acptOrgCode}</if>
+            <if test="acptOrgName != null  and acptOrgName != ''">and acpt_org_name = #{acptOrgName}</if>
+            <if test="handleWay != null  and handleWay != ''">and handle_way = #{handleWay}</if>
+            <if test="externalHandleWay != null  and externalHandleWay != ''">and external_handle_way =
+                #{externalHandleWay}
+            </if>
+            <if test="directFeed != null  and directFeed != ''">and direct_feed = #{directFeed}</if>
+            <if test="directFeedHandler != null  and directFeedHandler != ''">and direct_feed_handler =
+                #{directFeedHandler}
+            </if>
+            <if test="directFeedTime != null ">and direct_feed_time = #{directFeedTime}</if>
+            <if test="images != null  and images != ''">and images = #{images}</if>
+            <if test="flagVaild != null  and flagVaild != ''">and flag_vaild = #{flagVaild}</if>
+            <if test="invalidNote != null  and invalidNote != ''">and invalid_note = #{invalidNote}</if>
+            <if test="invalidTime != null ">and invalid_time = #{invalidTime}</if>
+            <if test="invalidUserName != null  and invalidUserName != ''">and invalid_user_name = #{invalidUserName}
+            </if>
+            <if test="status != null  and status != ''">and status = #{status}</if>
+            <if test="tagApply != null  and tagApply != ''">and tag_apply = #{tagApply}</if>
+            <if test="tagDelay != null  and tagDelay != ''">and tag_delay = #{tagDelay}</if>
+            <if test="tagDoing != null  and tagDoing != ''">and tag_doing = #{tagDoing}</if>
+            <if test="tagResp != null  and tagResp != ''">and tag_resp = #{tagResp}</if>
+            <if test="tagDone != null  and tagDone != ''">and tag_done = #{tagDone}</if>
+            <if test="tagCheck != null  and tagCheck != ''">and tag_check = #{tagCheck}</if>
+            <if test="tagChkTel != null  and tagChkTel != ''">and tag_chk_tel = #{tagChkTel}</if>
+            <if test="tagRedo != null  and tagRedo != ''">and tag_redo = #{tagRedo}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderDTO"
+            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
+        LEFT JOIN ec_dispatch ed ON eo.order_id = ed.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="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>
+
+            <if test="orderId != null ">and eo.order_id = #{orderId}</if>
+            <if test="orderCode != null  and orderCode != ''">and eo.order_code = #{orderCode}</if>
+            <if test="issueOrigin != null  and issueOrigin != ''">and eo.issue_origin = #{issueOrigin}</if>
+            <if test="issueTitle != null  and issueTitle != ''">and eo.issue_title = #{issueTitle}</if>
+            <if test="issueContent != null  and issueContent != ''">and eo.issue_content = #{issueContent}</if>
+            <if test="applicantType != null  and applicantType != ''">and eo.applicant_type = #{applicantType}</if>
+            <if test="applicantName != null  and applicantName != ''">and eo.applicant_name = #{applicantName}</if>
+            <if test="applicantGender != null  and applicantGender != ''">and eo.applicant_gender = #{applicantGender}
+            </if>
+            <if test="applicantHomeaddr != null  and applicantHomeaddr != ''">and eo.applicant_homeaddr =
+                #{applicantHomeaddr}
+            </if>
+            <if test="applicantPhone != null  and applicantPhone != ''">and eo.applicant_phone = #{applicantPhone}</if>
+            <if test="applicantGrid != null  and applicantGrid != ''">and eo.applicant_grid = #{applicantGrid}</if>
+            <if test="applicantDistrict != null  and applicantDistrict != ''">and eo.applicant_district =
+                #{applicantDistrict}
+            </if>
+            <if test="sceneAddr != null  and sceneAddr != ''">and eo.scene_addr = #{sceneAddr}</if>
+            <if test="sceneAddrGrid != null  and sceneAddrGrid != ''">and eo.scene_addr_grid = #{sceneAddrGrid}</if>
+            <if test="sceneDistrict != null  and sceneDistrict != ''">and eo.scene_district = #{sceneDistrict}</if>
+            <if test="scenePlace != null  and scenePlace != ''">and eo.scene_place = #{scenePlace}</if>
+            <if test="sceneGeoLat != null ">and eo.scene_geo_lat = #{sceneGeoLat}</if>
+            <if test="sceneGeoLng != null ">and eo.scene_geo_lng = #{sceneGeoLng}</if>
+            <if test="sceneAddrCor != null  and sceneAddrCor != ''">and eo.scene_addr_cor = #{sceneAddrCor}</if>
+            <if test="sceneGeoLatCor != null ">and eo.scene_geo_lat_cor = #{sceneGeoLatCor}</if>
+            <if test="sceneGeoLngCor != null ">and eo.scene_geo_lng_cor = #{sceneGeoLngCor}</if>
+            <if test="isSecret != null  and isSecret != ''">and eo.is_secret = #{isSecret}</if>
+            <if test="isRepeat != null  and isRepeat != ''">and eo.is_repeat = #{isRepeat}</if>
+            <if test="issueType != null  and issueType != ''">and eo.issue_type = #{issueType}</if>
+            <if test="issueClazz != null  and issueClazz != ''">and eo.issue_clazz = #{issueClazz}</if>
+            <if test="issueLevel != null  and issueLevel != ''">and eo.issue_level = #{issueLevel}</if>
+            <if test="deadline != null ">and eo.deadline = #{deadline}</if>
+            <if test="linkOrders != null  and linkOrders != ''">and eo.link_orders = #{linkOrders}</if>
+            <if test="linkOrdersCode != null  and linkOrdersCode != ''">and eo.link_orders_code = #{linkOrdersCode}</if>
+            <if test="wikiRef != null  and wikiRef != ''">and eo.wiki_ref = #{wikiRef}</if>
+            <if test="acptOrgCode != null  and acptOrgCode != ''">and eo.acpt_org_code = #{acptOrgCode}</if>
+            <if test="acptOrgName != null  and acptOrgName != ''">and eo.acpt_org_name = #{acptOrgName}</if>
+            <if test="handleWay != null  and handleWay != ''">and eo.handle_way = #{handleWay}</if>
+            <if test="externalHandleWay != null  and externalHandleWay != ''">and eo.external_handle_way =
+                #{externalHandleWay}
+            </if>
+            <if test="directFeed != null  and directFeed != ''">and eo.direct_feed = #{directFeed}</if>
+            <if test="directFeedHandler != null  and directFeedHandler != ''">and eo.direct_feed_handler =
+                #{directFeedHandler}
+            </if>
+            <if test="directFeedTime != null ">and eo.direct_feed_time = #{directFeedTime}</if>
+            <if test="images != null  and images != ''">and eo.images = #{images}</if>
+            <if test="flagVaild != null  and flagVaild != ''">and eo.flag_vaild = #{flagVaild}</if>
+            <if test="invalidNote != null  and invalidNote != ''">and eo.invalid_note = #{invalidNote}</if>
+            <if test="invalidTime != null ">and eo.invalid_time = #{invalidTime}</if>
+            <if test="invalidUserName != null  and invalidUserName != ''">and eo.invalid_user_name = #{invalidUserName}
+            </if>
+            <if test="status != null  and status != ''">and eo.status = #{status}</if>
+            <if test="tagApply != null  and tagApply != ''">and eo.tag_apply = #{tagApply}</if>
+            <if test="tagDelay != null  and tagDelay != ''">and eo.tag_delay = #{tagDelay}</if>
+            <if test="tagDoing != null  and tagDoing != ''">and eo.tag_doing = #{tagDoing}</if>
+            <if test="tagResp != null  and tagResp != ''">and eo.tag_resp = #{tagResp}</if>
+            <if test="tagDone != null  and tagDone != ''">and eo.tag_done = #{tagDone}</if>
+            <if test="tagCheck != null  and tagCheck != ''">and eo.tag_check = #{tagCheck}</if>
+            <if test="tagChkTel != null  and tagChkTel != ''">and eo.tag_chk_tel = #{tagChkTel}</if>
+            <if test="tagRedo != null  and tagRedo != ''">and eo.tag_redo = #{tagRedo}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcDispatchCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcDispatchDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(
+        DISTINCT ( eo.order_id ))
+        FROM
+        ec_dispatch ed
+        LEFT JOIN ec_order eo ON eo.order_id = ed.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="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="dispatchId != null ">and dispatch_id = #{dispatchId}</if>
+            <if test="orderId != null ">and order_id = #{orderId}</if>
+            <if test="dispatchCode != null  and dispatchCode != ''">and dispatch_code = #{dispatchCode}</if>
+            <if test="dispatchTime != null ">and dispatch_time = #{dispatchTime}</if>
+            <if test="dispatchNote != null  and dispatchNote != ''">and dispatch_note = #{dispatchNote}</if>
+            <if test="dispatchImages != null  and dispatchImages != ''">and dispatch_images = #{dispatchImages}</if>
+            <if test="subjectOrgCode != null  and subjectOrgCode != ''">and subject_org_code = #{subjectOrgCode}</if>
+            <if test="subjectOrgName != null  and subjectOrgName != ''">and subject_org_name = #{subjectOrgName}</if>
+            <if test="subjectUserName != null  and subjectUserName != ''">and subject_user_name = #{subjectUserName}
+            </if>
+            <if test="subjectUserCnname != null  and subjectUserCnname != ''">and subject_user_cnname =
+                #{subjectUserCnname}
+            </if>
+            <if test="objectOrgCode != null  and objectOrgCode != ''">and object_org_code = #{objectOrgCode}</if>
+            <if test="objectOrgName != null  and objectOrgName != ''">and object_org_name = #{objectOrgName}</if>
+            <if test="sinkOrgCode != null  and sinkOrgCode != ''">and sink_org_code = #{sinkOrgCode}</if>
+            <if test="sinkOrgName != null  and sinkOrgName != ''">and sink_org_name = #{sinkOrgName}</if>
+            <if test="tagMain != null  and tagMain != ''">and tag_main = #{tagMain}</if>
+            <if test="tagCc != null  and tagCc != ''">and tag_cc = #{tagCc}</if>
+            <if test="tagCti != null  and tagCti != ''">and tag_cti = #{tagCti}</if>
+            <if test="tagTrans != null  and tagTrans != ''">and tag_trans = #{tagTrans}</if>
+            <if test="upDispatchId != null ">and up_dispatch_id = #{upDispatchId}</if>
+            <if test="ackOrgCode != null  and ackOrgCode != ''">and ack_org_code = #{ackOrgCode}</if>
+            <if test="ackOrgName != null  and ackOrgName != ''">and ack_org_name = #{ackOrgName}</if>
+            <if test="ackUserName != null  and ackUserName != ''">and ack_user_name = #{ackUserName}</if>
+            <if test="ackUserCnname != null  and ackUserCnname != ''">and ack_user_cnname = #{ackUserCnname}</if>
+            <if test="ackTime != null ">and ack_time = #{ackTime}</if>
+            <if test="rejectUserName != null  and rejectUserName != ''">and reject_user_name = #{rejectUserName}</if>
+            <if test="rejectUserCnname != null  and rejectUserCnname != ''">and reject_user_cnname =
+                #{rejectUserCnname}
+            </if>
+            <if test="rejectOrgCode != null  and rejectOrgCode != ''">and reject_org_code = #{rejectOrgCode}</if>
+            <if test="rejectOrgName != null  and rejectOrgName != ''">and reject_org_name = #{rejectOrgName}</if>
+            <if test="rejectTime != null ">and reject_time = #{rejectTime}</if>
+            <if test="rejectNote != null  and rejectNote != ''">and reject_note = #{rejectNote}</if>
+            <if test="rejectImages != null  and rejectImages != ''">and reject_images = #{rejectImages}</if>
+            <if test="tagReject != null  and tagReject != ''">and tag_reject = #{tagReject}</if>
+            <if test="rejectType != null  and rejectType != ''">and reject_type = #{rejectType}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcHandleCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcHandleDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        ec_handle eh
+        LEFT JOIN ec_order eo on eh.order_id = eo.order_id
+        LEFT JOIN ec_dispatch ed ON eo.order_id = ed.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="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
+                #{endTime}
+            </if>
+
+
+            <if test="handleId != null ">and handle_id = #{handleId}</if>
+            <if test="orderId != null ">and order_id = #{orderId}</if>
+            <if test="dispatchId != null ">and dispatch_id = #{dispatchId}</if>
+            <if test="handleCode != null  and handleCode != ''">and handle_code = #{handleCode}</if>
+            <if test="hdlOrgCode != null  and hdlOrgCode != ''">and hdl_org_code = #{hdlOrgCode}</if>
+            <if test="hdlOrgName != null  and hdlOrgName != ''">and hdl_org_name = #{hdlOrgName}</if>
+            <if test="arriveLoc != null  and arriveLoc != ''">and arrive_loc = #{arriveLoc}</if>
+            <if test="arriveLocLat != null ">and arrive_loc_lat = #{arriveLocLat}</if>
+            <if test="arriveLocLng != null ">and arrive_loc_lng = #{arriveLocLng}</if>
+            <if test="arriveBizTime != null ">and arrive_biz_time = #{arriveBizTime}</if>
+            <if test="remoteHdlTime != null ">and remote_hdl_time = #{remoteHdlTime}</if>
+            <if test="remoteHdlNote != null  and remoteHdlNote != ''">and remote_hdl_note = #{remoteHdlNote}</if>
+            <if test="remoteHdlImages != null  and remoteHdlImages != ''">and remote_hdl_images = #{remoteHdlImages}
+            </if>
+            <if test="nosopHdlNote != null  and nosopHdlNote != ''">and nosop_hdl_note = #{nosopHdlNote}</if>
+            <if test="nosopHdlImages != null  and nosopHdlImages != ''">and nosop_hdl_images = #{nosopHdlImages}</if>
+            <if test="limitTime != null ">and limit_time = #{limitTime}</if>
+            <if test="delayTime != null ">and delay_time = #{delayTime}</if>
+            <if test="tagHdlDoing != null  and tagHdlDoing != ''">and tag_hdl_doing = #{tagHdlDoing}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderCheckCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderCheckDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        ec_order_check eoc
+        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
+        <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="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="orderId != null ">and order_id = #{orderId}</if>
+            <if test="checkCode != null  and checkCode != ''">and check_code = #{checkCode}</if>
+            <if test="checkOrgCode != null  and checkOrgCode != ''">and check_org_code = #{checkOrgCode}</if>
+            <if test="checkOrgName != null  and checkOrgName != ''">and check_org_name = #{checkOrgName}</if>
+            <if test="limitStartTime != null ">and limit_start_time = #{limitStartTime}</if>
+            <if test="limitEndTime != null ">and limit_end_time = #{limitEndTime}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderDoneCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderDoneDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        ec_order_done eod
+        LEFT JOIN ec_order eo on eod.order_id = eo.order_id
+        LEFT JOIN ec_dispatch ed ON eo.order_id = ed.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="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
+                #{endTime}
+            </if>
+
+
+            <if test="orderId != null ">and order_id = #{orderId}</if>
+            <if test="doneCode != null  and doneCode != ''">and done_code = #{doneCode}</if>
+            <if test="firstDoneApplyTime != null ">and first_done_apply_time = #{firstDoneApplyTime}</if>
+            <if test="firstDoneAuditYesTime != null ">and first_done_audit_yes_time = #{firstDoneAuditYesTime}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderRespCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderRespDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        ec_order_resp 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_resp_log eorl on eorl.order_id = eor.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="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="orderId != null ">and order_id = #{orderId}</if>
+            <if test="respCode != null  and respCode != ''">and resp_code = #{respCode}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderReviewCount" parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderReviewDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        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
+        <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="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="orderId != null ">and order_id = #{orderId}</if>
+            <if test="reviewCode != null  and reviewCode != ''">and review_code = #{reviewCode}</if>
+            <if test="orderCode != null  and orderCode != ''">and order_code = #{orderCode}</if>
+            <if test="telChkId != null ">and tel_chk_id = #{telChkId}</if>
+            <if test="reviewTime != null ">and review_time = #{reviewTime}</if>
+            <if test="reviewUserCnname != null  and reviewUserCnname != ''">and review_user_cnname =
+                #{reviewUserCnname}
+            </if>
+            <if test="reviewUserName != null  and reviewUserName != ''">and review_user_name = #{reviewUserName}</if>
+            <if test="reviewUserPhone != null  and reviewUserPhone != ''">and review_user_phone = #{reviewUserPhone}
+            </if>
+            <if test="reviewOrgCode != null  and reviewOrgCode != ''">and review_org_code = #{reviewOrgCode}</if>
+            <if test="reviewOrgName != null  and reviewOrgName != ''">and review_org_name = #{reviewOrgName}</if>
+            <if test="reviewIssuer != null  and reviewIssuer != ''">and review_issuer = #{reviewIssuer}</if>
+            <if test="reviewIssuerPhone != null  and reviewIssuerPhone != ''">and review_issuer_phone =
+                #{reviewIssuerPhone}
+            </if>
+            <if test="reviewNote != null  and reviewNote != ''">and review_note = #{reviewNote}</if>
+            <if test="reviewYesno != null  and reviewYesno != ''">and review_yesno = #{reviewYesno}</if>
+            <if test="reviewImages != null  and reviewImages != ''">and review_images = #{reviewImages}</if>
+            <if test="ctiVoiceRecordId != null  and ctiVoiceRecordId != ''">and cti_voice_record_id =
+                #{ctiVoiceRecordId}
+            </if>
+            <if test="ctiVoiceRecordUrl != null  and ctiVoiceRecordUrl != ''">and cti_voice_record_url =
+                #{ctiVoiceRecordUrl}
+            </if>
+            <if test="redoOrgCode != null  and redoOrgCode != ''">and redo_org_code = #{redoOrgCode}</if>
+            <if test="redoOrgName != null  and redoOrgName != ''">and redo_org_name = #{redoOrgName}</if>
+            <if test="redoUserName != null  and redoUserName != ''">and redo_user_name = #{redoUserName}</if>
+            <if test="redoUserCnname != null  and redoUserCnname != ''">and redo_user_cnname = #{redoUserCnname}</if>
+            <if test="redoTime != null ">and redo_time = #{redoTime}</if>
+            <if test="redoNote != null  and redoNote != ''">and redo_note = #{redoNote}</if>
+            <if test="redoImages != null  and redoImages != ''">and redo_images = #{redoImages}</if>
+        </where>
+    </select>
+
+
+    <select id="selectEcOrderSuperviseCount"
+            parameterType="org.springblade.modules.eCallEventTwo.dto.EcOrderSuperviseDTO"
+            resultType="java.lang.Integer">
+        SELECT
+        COUNT(DISTINCT(eo.order_id))
+        FROM
+        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
+        <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="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="orderId != null ">and order_id = #{orderId}</if>
+            <if test="superviseCode != null  and superviseCode != ''">and supervise_code = #{superviseCode}</if>
+            <if test="orderCode != null  and orderCode != ''">and order_code = #{orderCode}</if>
+            <if test="telChkId != null ">and tel_chk_id = #{telChkId}</if>
+            <if test="superviseTime != null ">and supervise_time = #{superviseTime}</if>
+            <if test="supervisorName != null  and supervisorName != ''">and supervisor_name = #{supervisorName}</if>
+            <if test="supervisorCnname != null  and supervisorCnname != ''">and supervisor_cnname =
+                #{supervisorCnname}
+            </if>
+            <if test="superviseNote != null  and superviseNote != ''">and supervise_note = #{superviseNote}</if>
+            <if test="superviseImages != null  and superviseImages != ''">and supervise_images = #{superviseImages}</if>
+            <if test="supervisorOrgCode != null  and supervisorOrgCode != ''">and supervisor_org_code =
+                #{supervisorOrgCode}
+            </if>
+            <if test="supervisorOrgName != null  and supervisorOrgName != ''">and supervisor_org_name =
+                #{supervisorOrgName}
+            </if>
+            <if test="redoOrgCode != null  and redoOrgCode != ''">and redo_org_code = #{redoOrgCode}</if>
+            <if test="redoOrgName != null  and redoOrgName != ''">and redo_org_name = #{redoOrgName}</if>
+            <if test="redoUserName != null  and redoUserName != ''">and redo_user_name = #{redoUserName}</if>
+            <if test="redoUserCnname != null  and redoUserCnname != ''">and redo_user_cnname = #{redoUserCnname}</if>
+            <if test="redoTime != null ">and redo_time = #{redoTime}</if>
+            <if test="redoNote != null  and redoNote != ''">and redo_note = #{redoNote}</if>
+            <if test="redoImages != null  and redoImages != ''">and redo_images = #{redoImages}</if>
         </where>
     </select>
 
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 c2a9d18..761f83e 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
@@ -6,7 +6,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.core.tool.utils.BeanUtil;
-import org.springblade.modules.eCallEventTwo.dto.EcOrderDTO;
+import org.springblade.modules.eCallEventTwo.dto.*;
 import org.springblade.modules.eCallEventTwo.entity.ECallEventTwoEntity;
 import org.springblade.modules.eCallEventTwo.entity.EcOrder;
 import org.springblade.modules.eCallEventTwo.mapper.EcOrderMapper;
@@ -15,8 +15,12 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * EcOrderService业务层处理
@@ -115,4 +119,76 @@
 			System.out.println("更新第" + pageNum + "页" + b);
 		}
 	}
+
+	/**
+	 * 统计办结率
+	 */
+	public Map<String, String> getCount(Map<String, String> map) {
+		// 统计订单
+		EcOrderDTO ecOrderDTO = new EcOrderDTO();
+		int i = baseMapper.selectEcOrderCount(ecOrderDTO);
+		// 统计派发
+		EcDispatchDTO ecDispatchDTO = new EcDispatchDTO();
+		int i1 = baseMapper.selectEcDispatchCount(ecDispatchDTO);
+		// 统计处理
+		EcHandleDTO ecHandleDTO = new EcHandleDTO();
+		int i2 = baseMapper.selectEcHandleCount(ecHandleDTO);
+		// 统计回访
+		EcOrderCheckDTO ecOrderCheckDTO = new EcOrderCheckDTO();
+		int i3 = baseMapper.selectEcOrderCheckCount(ecOrderCheckDTO);
+		// 统计办结
+		EcOrderDoneDTO ecOrderDoneDTO = new EcOrderDoneDTO();
+		int i4 = baseMapper.selectEcOrderDoneCount(ecOrderDoneDTO);
+		// 统计答复
+		EcOrderRespDTO ecOrderRespDTO = new EcOrderRespDTO();
+		int i5 = baseMapper.selectEcOrderRespCount(ecOrderRespDTO);
+		// 统计核实
+		EcOrderReviewDTO ecOrderReviewDTO = new EcOrderReviewDTO();
+		int i6 = baseMapper.selectEcOrderReviewCount(ecOrderReviewDTO);
+		// 统计督办
+		EcOrderSuperviseDTO ecOrderSuperviseDTO = new EcOrderSuperviseDTO();
+		int i7 = baseMapper.selectEcOrderSuperviseCount(ecOrderSuperviseDTO);
+		// 工单数	派发单数	办理单数(率)	办结单数(率)	答复单数(率)	回访单数(率)	核实单数	督办单数
+		Map<String, String> result = new HashMap<>();
+		// 工单数
+		result.put("order", String.valueOf(i));
+		// 派发单数(率)
+		result.put("dispatchRate", getRate(i1, i));
+		// 办理单数(率)
+		result.put("handRate", getRate(i2, i));
+		// 办结单数(率)
+		result.put("checkRate", getRate(i3, i));
+		// 答复单数(率)
+		result.put("doneRate", getRate(i4, i));
+		// 回访单数(率)
+		result.put("respRate", getRate(i5, i));
+		// 核实单数(率)
+		result.put("reviewRate", getRate(i6, i));
+		// 督办单数
+		result.put("supervise", String.valueOf(i7));
+		// 返回结果
+		return result;
+
+	}
+
+	public static void main(String[] args) {
+		String rate = getRate(10, 3);
+		System.out.println(rate);
+	}
+
+	public static String getRate(int dividend, int divisor) {
+		// int dividend = 10; // 被除数
+		// int divisor = 3; // 除数
+
+		// 将int转换为BigDecimal
+		BigDecimal bdDividend = BigDecimal.valueOf(dividend);
+		BigDecimal bdDivisor = BigDecimal.valueOf(divisor);
+		// 执行除法操作,设置精度(scale)和舍入模式(RoundingMode)
+		int scale = 2; // 保留两位小数
+		RoundingMode roundingMode = RoundingMode.HALF_UP; // 四舍五入
+		// 进行除法运算
+		BigDecimal result = bdDividend.divide(bdDivisor, scale, roundingMode);
+		return result.toString();
+	}
+
 }

--
Gitblit v1.9.3