From 024afbfeb399c4d800b4fa088149d92da4d8bbbf Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Thu, 26 Sep 2024 16:03:08 +0800
Subject: [PATCH] 普查统计水库柱状图数据接口支持季节查询
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml | 97 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 84 insertions(+), 13 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
index 3573102..8232b5d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -25,6 +25,13 @@
<if test="dto.reportPerson != null ">
and report.report_user = #{dto.reportPerson}
</if>
+ <if test="dto.startTime != null and dto.startTime !='' ">
+ and report.report_time >= #{dto.startTime}
+ </if>
+ <if test="dto.endTime != null and dto.endTime !='' ">
+ and report.report_time <= #{dto.endTime}
+ </if>
+ order by report_time desc
</select>
<select id="queryPageListAll" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
@@ -32,9 +39,11 @@
report.*,
de.device_name,
de.device_type,
- dict."DICT_VALUE" as typeName
+ dict."DICT_VALUE" as typeName, si.control_unit,si.self_unit,dria."county_cd"
FROM
ywxt.SG_PROGRESS_REPORT report
+ LEFT JOIN ywxt.SG_PROJECT_INFO si ON report.profram_id = si.id
+ LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = si.sk_id
LEFT JOIN ywxt.sg_device de ON report.gx_device_id = de.id
left join YWXT."BLADE_DICT_BIZ" as dict on de.device_type=dict.DICT_KEY and dict.CODE='SG_DEVICE_TYPE'
where 1=1 and report."STATUS" != 4
@@ -53,10 +62,12 @@
<if test="dto.endTime != null and dto.endTime != ''">
and report.create_time <= #{dto.endTime}
</if>
+ order by report.report_time desc
</select>
<select id="queryById" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
- select * from SG_PROGRESS_REPORT report where id = #{id}
+ select report.*,si.control_unit,si.self_unit,dria."county_cd" from SG_PROGRESS_REPORT report LEFT JOIN ywxt.SG_PROJECT_INFO si ON report.profram_id = si.id
+ LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = si.sk_id where report.id = #{id}
</select>
<select id="queryList" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
SELECT distinct
@@ -73,15 +84,33 @@
DBMS_LOB.SUBSTR(report.video_urls) videoUrls,
de.device_name,
de.device_type,
- <!-- userR.approval_status, -->
- dict."DICT_VALUE" as typeName
+ MAX(userR.approval_status) as approval_status,
+ dict."DICT_VALUE" as typeName,
+ si.control_unit,si.self_unit,dria."county_cd"
FROM
ywxt.SG_PROGRESS_REPORT report
+ LEFT JOIN ywxt.SG_PROJECT_INFO si ON report.profram_id = si.id
+ LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = si.sk_id
LEFT JOIN ywxt.sg_device de ON report.gx_device_id = de.id
left join YWXT."BLADE_DICT_BIZ" as dict on de.device_type=dict.DICT_KEY and dict.CODE='SG_DEVICE_TYPE'
LEFT JOIN ywxt.sg_report_user userR ON report.id = userR.report_id
WHERE
1 = 1 and report."STATUS" != 4
+ <if test="dto.userUnit != null and dto.userUnit.size>0">
+ and si.CONTROL_UNIT in
+ <foreach collection="dto.userUnit" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="dto.countryUnit != null and dto.countryUnit.size>0">
+ and dria."county_cd" in
+ <foreach collection="dto.countryUnit" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="dto.roleUnit != null and dto.roleUnit != ''">
+ and userR.role_id=#{dto.roleUnit}
+ </if>
<!-- AND userR.is_his = 0 -->
<if test="dto.projectName != null and dto.projectName != ''">
and report.PROGRAM_NAME like CONCAT(CONCAT('%',#{dto.projectName}),'%')
@@ -90,28 +119,53 @@
and de.device_name like CONCAT(CONCAT('%', #{dto.deviceName}), '%')
</if>
<if test="dto.userId != null and dto.userId != ''">
- and userR.user_id = #{dto.userId}
+ and userR.user_id = #{dto.userId} and userR.approval_order != 0
</if>
- <if test="dto.approvalStatus != null and dto.approvalStatus != 3">
<if test="dto.approvalStatus != null and dto.approvalStatus ==0">
- and userR.approval_status = 0
+ and userR.approval_status = 0 and report.audit_person = #{dto.roleUnit} and (report."STATUS" = 0 or report."STATUS" = 1)
</if>
<if test="dto.approvalStatus != null and dto.approvalStatus ==1">
- and userR.approval_status != 0
+ and userR.approval_status = 1
</if>
- AND userR.approval_order != 0
+ <if test="dto.approvalStatus != null and dto.approvalStatus ==2">
+ AND userR.approval_status = 2
</if>
- <choose >
+ <if test="dto.startTime != null and dto.startTime !='' ">
+ and report.report_time >= #{dto.startTime}
+ </if>
+ <if test="dto.endTime != null and dto.endTime !='' ">
+ and report.report_time <= #{dto.endTime}
+ </if>
+ group by
+ report.id,
+ report.program_name,
+ report.gx_step_name,
+ report."STATUS",
+ report.audit_person,
+ report.report_time,
+ report.create_time,
+ report.gx_progress,
+ report.remark,
+ DBMS_LOB.SUBSTR( report.images_urls) ,
+ DBMS_LOB.SUBSTR( report.video_urls ) ,
+ de.device_name,
+ de.device_type,
+ dict."DICT_VALUE" ,
+ si.control_unit,
+ si.self_unit,
+ dria."county_cd"
+ order by report.report_time desc
+ <!--<choose >
<when test="dto.approvalStatus != null and dto.approvalStatus == 0">
and report.audit_person = #{dto.userId} and (report."STATUS" = 0 or report."STATUS" = 1)
</when>
<when test="dto.approvalStatus != null and dto.approvalStatus == 1">
- and report."STATUS" != 0
+ and report."STATUS" != 1
</when>
<when test="dto.approvalStatus != null and dto.approvalStatus == 3">
and report.report_user = #{dto.userId}
</when>
- </choose>
+ </choose>-->
</select>
<select id="countList" resultType="java.lang.Long">
select count(1) from ywxt.SG_PROGRESS_REPORT report
@@ -136,7 +190,8 @@
step.gx_step_name AS stepName,
step.gx_step_num AS stepNum,
re.STATUS AS approvalStatus,
- re.report_time
+ re.report_time,
+ re.resubmit
FROM
ywxt.sg_gx_step step
LEFT JOIN ywxt.sg_gx gx ON step.gx_info_id = gx.id
@@ -178,4 +233,20 @@
<select id="selectProframId" resultType="java.lang.Long">
select program_id from ywxt.sg_device where id = #{deviceId}
</select>
+ <select id="selectProcessUserByProjectId" resultType="cn.gistack.sm.sg.DO.SgReportUserDO">
+ select u.* from ywxt.sg_report_user u left join ywxt.sg_progresss_report r on u.report_id = r.id
+ where 1=1 and r.profram_id = #{programId}
+ </select>
+ <select id="getRoleByIds" resultType="java.util.Map">
+ select id,role_name as roleName from "YWXT"."BLADE_ROLE" WHERE 1=1
+ <if test="ids != null and ids.size>0">
+ AND id in
+ <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ </select>
+ <select id="getSgEngineerRole" resultType="java.lang.Long">
+ select id from "YWXT"."BLADE_ROLE" where parent_id = 1800818080896073730;
+ </select>
</mapper>
--
Gitblit v1.9.3