From a4b8b53d4b59a5f9e5c4d19e5f4db7829b81e07d Mon Sep 17 00:00:00 2001
From: shenyijian <1178253012@qq.com>
Date: Wed, 21 Aug 2024 18:46:08 +0800
Subject: [PATCH] 湖北水库:项目审批流程图多加一级

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml |  108 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 90 insertions(+), 18 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 29a0423..99dbac3 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,16 +25,61 @@
         <if test="dto.reportPerson != null ">
             and report.report_user = #{dto.reportPerson}
         </if>
+        <if test="dto.startTime != null and dto.startTime !='' ">
+            and report.report_time &gt;= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null and dto.endTime !='' ">
+            and report.report_time &lt;= #{dto.endTime}
+        </if>
     </select>
-    <select id="queryById" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
-        select * from  SG_PROGRESS_REPORT report where id = #{id}
-    </select>
-    <select id="queryList" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
+
+    <select id="queryPageListAll" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
         SELECT
         report.*,
         de.device_name,
         de.device_type,
-        userR.approval_status,
+        dict."DICT_VALUE" as typeName
+        FROM
+        ywxt.SG_PROGRESS_REPORT report
+        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
+        <if test="dto.projectName != null and dto.projectName != ''">
+            and report.PROGRAM_NAME like CONCAT(CONCAT('%',#{dto.projectName}),'%')
+        </if>
+        <if test="dto.deviceName != null and dto.deviceName != ''">
+            and de.device_name like CONCAT(CONCAT('%', #{dto.deviceName}), '%')
+        </if>
+        <if test="dto.status != null ">
+            and report.status = #{dto.status}
+        </if>
+        <if test="dto.startTime != null and dto.startTime != ''">
+            and report.create_time &gt;= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null and dto.endTime != ''">
+            and report.create_time &lt;= #{dto.endTime}
+        </if>
+    </select>
+
+    <select id="queryById" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
+        select * from  SG_PROGRESS_REPORT report where id = #{id}
+    </select>
+    <select id="queryList" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
+        SELECT distinct
+        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) imagesUrls ,
+        DBMS_LOB.SUBSTR(report.video_urls) videoUrls,
+        de.device_name,
+        de.device_type,
+       <!-- userR.approval_status, -->
         dict."DICT_VALUE" as typeName
         FROM
         ywxt.SG_PROGRESS_REPORT report
@@ -42,23 +87,43 @@
         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 userR.is_his = 0
+        1 = 1 and report."STATUS" != 4
+       <!-- AND userR.is_his = 0 -->
+        <if test="dto.projectName != null and dto.projectName != ''">
+            and report.PROGRAM_NAME like CONCAT(CONCAT('%',#{dto.projectName}),'%')
+        </if>
+        <if test="dto.deviceName != null and dto.deviceName != ''">
+            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">
-            and userR.approval_status = #{dto.approvalStatus}
-            AND userR.approval_order != 0
+        <if test="dto.approvalStatus != null and dto.approvalStatus ==0">
+            and userR.approval_status = 0 and report.audit_person = #{dto.auditPerson} and (report."STATUS" = 0 or report."STATUS" = 1)
         </if>
-        <choose >
+        <if test="dto.approvalStatus != null and dto.approvalStatus ==1">
+           and userR.approval_status = 1
+        </if>
+        <if test="dto.approvalStatus != null and dto.approvalStatus ==2">
+            AND userR.approval_status = 2
+        </if>
+        <if test="dto.startTime != null and dto.startTime !='' ">
+            and report.report_time &gt;= #{dto.startTime}
+        </if>
+        <if test="dto.endTime != null and dto.endTime !='' ">
+            and report.report_time &lt;= #{dto.endTime}
+        </if>
+        <!--<choose >
             <when test="dto.approvalStatus != null and dto.approvalStatus == 0">
-                and report.audit_person = #{dto.userId}
+                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" != 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
@@ -88,7 +153,7 @@
             ywxt.sg_gx_step step
                 LEFT JOIN ywxt.sg_gx gx ON step.gx_info_id = gx.id
                 LEFT JOIN ywxt.sg_device de ON gx.gx_type = de.device_type
-                LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id and re.gx_device_id = de.id
+                LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id and re.gx_device_id = de.id and re."STATUS" != 4
         WHERE
             1 =1 and de.id = #{deviceId}
     </select>
@@ -110,16 +175,23 @@
             and de.device_name like CONCAT(CONCAT('%', #{dto.deviceName}), '%')
         </if>
         <if test="dto.reportPerson != null">
-            and report.reportPerson = #{dto.reportPerson}
+            and report.report_user = #{dto.reportPerson}
         </if>
     </select>
     <select id="getUserByIds" resultType="java.util.Map">
-        select id ,real_name from ywxt.blade_user  where 1 = 1
+        select u.id ,u.real_name ,d.full_name as deptName from ywxt.blade_user u inner join ywxt.blade_dept d on u.dept_id = convert(varchar(100),d.id) where 1 = 1
         <if test="ids != null and ids.size>0">
-            AND id in
+            AND u.id in
             <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
                 #{item}
             </foreach>
         </if>
     </select>
+    <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>
 </mapper>

--
Gitblit v1.9.3