From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口

---
 src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml |   95 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 88 insertions(+), 7 deletions(-)

diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
index 5492667..8c11db7 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
+++ b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -10,33 +10,87 @@
         <result column="dispatcher" property="dispatcher"/>
         <result column="dispatcherTime" property="dispatchertime"/>
         <result column="dispatcherAddress" property="dispatcheraddress"/>
-        <result column="dispatchercompany" property="dispatchercompany"/>
     </resultMap>
-
-
-<!--    <select id="selectDispatcherPage" resultMap="dispatcherResultMap">-->
-<!--        select * from sys_dispatcher where is_deleted = 0-->
-<!--    </select>-->
 
     <!--派遣记录分页数据-->
     <select id="selectDispatcherPage" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
         select
-            sd.*,sdu.name dispatcherCompany
+            sd.*,bu.real_name securityName,sdu.name dispatcherCompany,bu.cardid idCardNo,bd.dept_name deptName
         from
             sys_dispatcher sd
         left join
             sys_dispatcher_unit sdu
         on
             sdu.id = sd.dispatcher_unit_id
+        left join
+            blade_user bu
+        on
+            bu.id = sd.user_ids
+        left join
+            blade_dept bd
+        on
+            bd.id = bu.dept_id
+        left join
+            sys_jurisdiction sj
+        on
+            sj.id = sdu.jurisdiction
         where 1=1
+        and bu.status =1
+        and bu.is_deleted = 0
+        <if test="dispatcher.jurisdiction!=null  and dispatcher.jurisdiction!='' and dispatcher.jurisdiction!='1372091709474910209'">
+            and (sj.id = #{dispatcher.jurisdiction} or sj.parent_id = #{dispatcher.jurisdiction})
+        </if>
+        <if test="dispatcher.dispatcherUnitId!=null">
+            and sd.dispatcher_unit_id = #{dispatcher.dispatcherUnitId}
+        </if>
+        <if test="dispatcher.deptId!=null">
+            and sd.dept_id in
+            (
+                select id from blade_dept where id = #{dispatcher.deptId}
+                union
+                SELECT
+                id
+                FROM
+                (
+                SELECT
+                t1.id,t1.parent_id,t1.dept_name,
+                IF
+                ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
+                FROM
+                ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
+                ( SELECT @pids := #{dispatcher.deptId} ) t2
+                ) t3
+                WHERE
+                ischild != 0
+            )
+        </if>
+        <if test="dispatcher.dispatch!=null and dispatcher.dispatch!=''">
+            and bu.dispatch = #{dispatcher.dispatch}
+            and sd.status = #{dispatcher.dispatch}
+        </if>
+        <if test="dispatcher.userIds!=null and  dispatcher.userIds!=''">
+            and sd.user_ids like concat('%', #{dispatcher.userIds},'%')
+        </if>
         <if test="dispatcher.name!=null and  dispatcher.name!=''">
             and sd.name like concat('%', #{dispatcher.name},'%')
+        </if>
+        <if test="dispatcher.securityName!=null and  dispatcher.securityName!=''">
+            and bu.real_name like concat('%', #{dispatcher.securityName},'%')
+        </if>
+        <if test="dispatcher.deptName!=null and  dispatcher.deptName!=''">
+            and bd.dept_name like concat('%', #{dispatcher.deptName},'%')
         </if>
         <if test="dispatcher.cardid!=null and  dispatcher.cardid!=''">
             and sd.cardid like concat('%', #{dispatcher.cardid},'%')
         </if>
         <if test="dispatcher.dispatcherCompany!=null and  dispatcher.dispatcherCompany!=''">
             and sdu.name like concat('%', #{dispatcher.dispatcherCompany},'%')
+        </if>
+        <if test="dispatcher.beginTime!=null or dispatcher.overTime!=null">
+            <if test="dispatcher.beginTime!='' or dispatcher.overTime!=''">
+                and sd.end_time &lt;= #{dispatcher.overTime} and sd.end_time &gt;= #{dispatcher.beginTime}
+                or ( sd.dispatcherTime &lt;= #{dispatcher.overTime} and sd.dispatcherTime &gt;= #{dispatcher.beginTime})
+            </if>
         </if>
     </select>
 
@@ -56,4 +110,31 @@
         </if>
     </select>
 
+    <!--派遣记录条数-->
+    <select id="getDispatcherCount" resultType="java.lang.Integer">
+        select ifnull(count(*),0) count from sys_dispatcher
+        where
+        1=1
+        and dispatcher_unit_id = #{dispatcherUnitVO1.id}
+        and status = 0
+    </select>
+
+    <!--查询用的派遣信息-->
+    <select id="getDispatcherInfoByUserId" resultType="org.springblade.modules.dispatcher.vo.DispatcherVO">
+        select
+            sd.*
+        from
+            sys_dispatcher sd
+        left join
+            sys_dispatcher_unit sdu
+        on
+            sdu.id = sd.dispatcher_unit_id
+        where sd.user_ids = #{userId}
+        and sd.status = 0
+    </select>
+
+    <update id="updateEndtime">
+        update sys_dispatcher set end_time =#{endTime} where dispatcher_unit_id =#{disId}
+    </update>
+
 </mapper>

--
Gitblit v1.9.3