From e142433c71b032ce85546477543d65da0f3986b8 Mon Sep 17 00:00:00 2001 From: liyj <15602261488@163.com> Date: Sat, 21 Sep 2024 13:20:48 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/gzdyh_test' into gzdyh_test --- dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml | 231 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 182 insertions(+), 49 deletions(-) diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml index 7862efc..350543c 100644 --- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml +++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml @@ -82,7 +82,27 @@ <result property="updateTime" column="update_time"/> </resultMap> <resultMap id="dataResult-all" type="cn.huge.module.cases.domain.dto.CasePageDTO"> - + <result property="id" column="id"/> + <result property="status" column="status"/> + <result property="statusName" column="status_name"/> + <result property="canal" column="canal"/> + <result property="canalName" column="canal_name"/> + <result property="caseLevel" column="case_level"/> + <result property="caseType" column="case_type"/> + <result property="caseTypeName" column="case_type_name"/> + <result property="inputUnitId" column="input_unit_id"/> + <result property="inputUnitName" column="input_unit_name"/> + <result property="mediResult" column="medi_result"/> + <result property="mediResultName" column="medi_result_name"/> + <result property="mediateUnitId" column="mediate_unit_id"/> + <result property="mediateUnitName" column="mediate_unit_name"/> + <result property="assistUnitId" column="assist_unit_id"/> + <result property="assistUnitName" column="assist_unit_name"/> + <result property="closeTime" column="close_time"/> + <result property="agreeType" column="agree_type"/> + <result property="agreeTypeName" column="agree_type_name"/> + <result property="agreeContent" column="agree_content"/> + <result property="createTime" column="create_time"/> </resultMap> <!-- 表 --> <sql id='table-name'>dyh_case_info</sql> @@ -97,9 +117,17 @@ a.case_type_name, a.input_unit_id, a.input_unit_name, + a.create_time, + b.medi_result, b.medi_result_name, - b.mediate_dept_id, - b.mediate_dept_name + b.mediate_unit_id, + b.mediate_unit_name, + b.assist_unit_id, + b.assist_unit_name, + b.close_time, + b.agree_type, + b.agree_type_name, + b.agree_content </sql> <!-- 字段 --> <sql id="column-part"> @@ -247,50 +275,67 @@ <!-- 条件 --> <sql id="where-part-all"> <if test="terms != null"> - <if test="terms.status != null and terms.status !=''"> - and a.status = #{terms.status} - </if> - <if test="terms.statusName != null and terms.statusName !=''"> - and a.status_name = #{terms.statusName} - </if> - <if test="terms.canal != null and terms.canal !=''"> - and a.canal = #{terms.canal} - </if> - <if test="terms.canalName != null and terms.canalName !=''"> - and a.canal_name = #{terms.canalName} - </if> - <if test="terms.caseLevel != null and terms.caseLevel !=''"> - and a.case_level = #{terms.caseLevel} - </if> - <if test="terms.caseType != null and terms.caseType !=''"> - and a.case_type = #{terms.caseType} - </if> - <if test="terms.caseTypeName != null and terms.caseTypeName !=''"> - and a.case_type_name = #{terms.caseTypeName} - </if> - <if test="terms.inputUnitId != null and terms.inputUnitId !=''"> - and a.input_unit_id = #{terms.inputUnitId} - </if> - <if test="terms.inputUnitName != null and terms.inputUnitName !=''"> - and a.input_unit_name = #{terms.inputUnitName} - </if> - <if test="terms.visitTimeStart != null and terms.visitTimeStart !='' and terms.visitTimeEnd != null and terms.visitTimeEnd !=''"> - and (DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.visitTimeStart} - and DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.visitTimeEnd}) - </if> - <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> - and (DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.createStart} - and DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.createEnd}) - </if> - <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> - and (DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.closeStart} - and DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.closeEnd}) - </if> - <if test="terms.fileStart != null and terms.fileStart !='' and terms.fileEnd != null and terms.fileEnd !=''"> - and (DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.fileStart} - and DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.fileEnd}) - </if> - + <where> + and delete_status = 0 + <if test="terms.status != null and terms.status !=''"> + and a.status = #{terms.status} + </if> + <if test="terms.statusName != null and terms.statusName !=''"> + and a.status_name = #{terms.statusName} + </if> + <if test="terms.canal != null and terms.canal !=''"> + and a.canal = #{terms.canal} + </if> + <if test="terms.canalName != null and terms.canalName !=''"> + and a.canal_name = #{terms.canalName} + </if> + <if test="terms.caseLevel != null and terms.caseLevel !=''"> + and a.case_level = #{terms.caseLevel} + </if> + <if test="terms.caseType != null and terms.caseType !=''"> + and a.case_type = #{terms.caseType} + </if> + <if test="terms.caseTypeName != null and terms.caseTypeName !=''"> + and a.case_type_name = #{terms.caseTypeName} + </if> + <if test="terms.inputUnitId != null and terms.inputUnitId !=''"> + and a.input_unit_id = #{terms.inputUnitId} + </if> + <if test="terms.inputUnitName != null and terms.inputUnitName !=''"> + and a.input_unit_name = #{terms.inputUnitName} + </if> + <if test="terms.visitTimeStart != null and terms.visitTimeStart !='' and terms.visitTimeEnd != null and terms.visitTimeEnd !=''"> + and (DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.visitTimeStart} + and DATE_FORMAT(a.visit_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.visitTimeEnd}) + </if> + <if test="terms.createStart != null and terms.createStart !='' and terms.createEnd != null and terms.createEnd !=''"> + and (DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.createStart} + and DATE_FORMAT(a.create_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.createEnd}) + </if> + <if test="terms.closeStart != null and terms.closeStart !='' and terms.closeEnd != null and terms.closeEnd !=''"> + and (DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.closeStart} + and DATE_FORMAT(b.close_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.closeEnd}) + </if> + <if test="terms.fileStart != null and terms.fileStart !='' and terms.fileEnd != null and terms.fileEnd !=''"> + and (DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ >= ]]> #{terms.fileStart} + and DATE_FORMAT(b.file_time,'%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{terms.fileEnd}) + </if> + <if test="terms.queProv != null and terms.queProv !=''"> + and a.que_prov = #{terms.queProv} + </if> + <if test="terms.queCity != null and terms.queCity !=''"> + and a.que_city = #{terms.queCity} + </if> + <if test="terms.queArea != null and terms.queArea !=''"> + and a.que_area = #{terms.queArea} + </if> + <if test="terms.queRoad != null and terms.queRoad !=''"> + and a.que_road = #{terms.queRoad} + </if> + <if test="terms.isArea != null and terms.isArea !=''"> + and a.que_city is not null + </if> + </where> </if> </sql> <!-- 条件 --> @@ -531,6 +576,21 @@ </if> </sql> <!-- 更新对象 --> + <update id="updateCaseInfoList"> + update + <include refid="table-name"/> + <set> + <include refid="set-part"/> + </set> + <where> + id IN + <foreach item="id" collection="caseIdList" open="(" separator="," close=")"> + #{id} + </foreach> + </where> + </update> + + <!-- 批量更新对象 --> <update id="updateCaseInfo"> update <include refid="table-name"/> @@ -541,6 +601,7 @@ id = #{entity.id} </where> </update> + <!-- 条件更新对象 --> <update id="updateCaseInfoTerms"> update @@ -596,7 +657,7 @@ select COUNT(1) from - dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.case_id + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id <include refid="where-part-all"/> </select> <!-- 根据条件分页查询 --> @@ -604,7 +665,7 @@ SELECT <include refid="column-part-all"/> FROM - dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.case_id + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id <include refid="where-part-all"/> <if test="page.sort != null"> <foreach collection="page.sort" item="s" index="index" separator="," open="order by "> @@ -617,4 +678,76 @@ limit #{page.offset}, #{page.size} </select> + <!-- 统计分析(区域) --> + <select id="statisticsArea" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsAreaDTO"> + SELECT + <if test="terms.areaType == null or terms.areaType ==''"> + a.que_area as areaCode,a.que_area_name as areaName, + </if> + <if test='terms.areaType != null and terms.areaType =="1"'> + a.que_area as areaCode,a.que_area_name as areaName, + </if> + <if test='terms.areaType != null and terms.areaType =="2"'> + a.que_road as areaCode,a.que_road_name as areaName, + </if> + count(1) as caseNum, + sum(case when b.medi_result = '22_00025-1' then 1 else 0 end) as resolveNum, + sum(case when b.medi_result is null and a.info_process <![CDATA[ < ]]> 4 then 1 else 0 end) as resolveingNum, + sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum + FROM + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id + <include refid="where-part-all"/> + <if test="terms.areaType == null or terms.areaType ==''"> + group by a.que_area + </if> + <if test='terms.areaType != null and terms.areaType =="1"'> + group by a.que_area + </if> + <if test='terms.areaType != null and terms.areaType =="2"'> + group by a.que_road + </if> + + </select> + <!-- 统计分析(基础) --> + <select id="statisticsBase" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsBaseDTO"> + SELECT + count(1) as totalNum, + sum(case when b.medi_result = '22_00025-1' then 1 else 0 end) as resolveNum, + sum(case when b.medi_result is null and a.info_process <![CDATA[ < ]]> 4 then 1 else 0 end) as resolveingNum, + sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum, + sum(case when a.case_level = 1 then 1 else 0 end) as oneLevelNum, + sum(case when a.case_level = 2 then 1 else 0 end) as twoLevelNum, + sum(case when a.case_level = 3 then 1 else 0 end) as threeLevelNum, + sum(case when a.info_process <![CDATA[ < ]]> 3 then 1 else 0 end) as processNum, + sum(case when a.info_process = 3 then 1 else 0 end) as finishNum, + sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum + FROM + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id + <include refid="where-part-all"/> + </select> + <!-- 统计分析(类型) --> + <select id="statisticsType" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsTypeDTO"> + SELECT + a.case_type as caseType,a.case_type_name as caseTypeName,count(1) as caseNum + FROM + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id + <include refid="where-part-all"/> + group by a.case_type + </select> + + <!-- 统计分析(来源) --> + <select id="statisticsSource" resultType="cn.huge.module.cases.domain.dto.CaseStatisticsSourceDTO"> + SELECT + a.canal,a.canal_name as canalName,count(1) as caseNum, + sum(case when b.medi_result = '22_00025-1' then 1 else 0 end) as resolveNum, + sum(case when b.medi_result is null and a.info_process <![CDATA[ < ]]> 4 then 1 else 0 end) as resolveingNum, + sum(case when b.medi_result = '22_00025-2' then 1 else 0 end) as unResolveNum, + sum(case when a.info_process = 4 then 1 else 0 end) as rejectNum + FROM + dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id + <include refid="where-part-all"/> + group by a.canal + </select> + + </mapper> \ No newline at end of file -- Gitblit v1.8.0