linwe
2024-05-30 30f1b989186505884e3e4567a2b39e5f12846bde
通过E呼即办数据统计
13 files modified
306 ■■■■ changed files
src/main/java/org/springblade/modules/eCallEventTwo/controller/ECallEventTwoController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcHandleDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderCheckDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDTO.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderDoneDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderParamDTO.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderRespDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderReviewDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/dto/EcOrderSuperviseDTO.java 8 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/mapper/EcOrderMapper.xml 131 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/service/EcOrderService.java 4 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/eCallEventTwo/service/impl/EcOrderServiceImpl.java 76 ●●●●● patch | view | raw | blame | history
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);
    }
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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);
}
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>
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);
}
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;
    }