Просмотр исходного кода

自动创建工单运行数据权限修改

HD_wangm 5 дней назад
Родитель
Сommit
b48ea04c17

+ 11 - 4
ygtx-gxt/src/main/resources/mapper/gxt/GxtRepairOrderMapper.xml

@@ -232,12 +232,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="params.businessDataScope != null and params.businessDataScope != ''">
                 ${params.businessDataScope}
             </if>
-            <!-- 限制待下发工单只能创建人本部门查看 -->
-            <if test="params.currentUser != null and params.currentUser != ''">
-                and ((t.work_order_status != 'to_issue' and t.work_order_status != 'accept_return') or t.create_by in
+            <!-- 限制待下发工单只能创建人本部门查看(create_by不等于admin时才限制;create_by等于admin时只有运行员能看到) -->
+            <if test="params.currentUser != null and params.currentUser != ''">  
+                and ((t.work_order_status != 'to_issue' and t.work_order_status != 'accept_return')
+                     or (t.create_by = 'admin' and exists (
+                         select 1 from sys_user_role sur
+                         left join sys_role sr on sur.role_id = sr.role_id
+                         where sur.user_id = (select user_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0')
+                         and sr.role_key = 'YXS43'
+                     ))
+                     or (t.create_by != 'admin' and t.create_by in
                     (select user_name from sys_user t1
                      left join sys_dept t2 on t1.dept_id = t2.dept_id
-                     where t2.dept_id = (select dept_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0')))
+                     where t2.dept_id = (select dept_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0'))))
             </if>
         </where>
         order by create_time desc

+ 9 - 2
ygtx-gxt/src/main/resources/mapper/gxt/GxtWorkOrderMapper.xml

@@ -179,10 +179,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
             <!-- 限制待下发工单只能创建人本部门查看 -->
             <if test="params.currentUser != null and params.currentUser != ''">
-                and ((t.work_order_status != 'to_issue' and t.work_order_status != 'accept_return') or t.create_by in
+                and ((t.work_order_status != 'to_issue' and t.work_order_status != 'accept_return')
+                or (t.create_by = 'admin' and exists (
+                select 1 from sys_user_role sur
+                left join sys_role sr on sur.role_id = sr.role_id
+                where sur.user_id = (select user_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0')
+                and sr.role_key = 'YXS43'
+                ))
+                 or (t.create_by != 'admin' and t.create_by in
                 (select user_name from sys_user t1
                 left join sys_dept t2 on t1.dept_id = t2.dept_id
-                where t2.dept_id = (select dept_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0')))
+                where t2.dept_id = (select dept_id from sys_user where user_name = #{params.currentUser,jdbcType=VARCHAR} and del_flag='0'))))
             </if>
         </where>
         order by create_time desc