From 2c86a8bd60deed0dd0e044bad6fb83f75d19a332 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 26 十月 2025 15:05:50 +0800
Subject: [PATCH] Merge branch 'feature-task'
---
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml | 38 ++++++++++++++++++++++++++++++++++++--
1 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index b5fab18..6d1d189 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -17,6 +17,8 @@
<result property="delFlag" column="del_flag" />
<result property="parentName" column="parent_name" />
<result property="departmentId" column="department_id" />
+ <result property="serviceOrderClass" column="service_order_class" />
+ <result property="dispatchOrderClass" column="dispatch_order_class" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
@@ -24,7 +26,7 @@
</resultMap>
<sql id="selectDeptVo">
- select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.department_id, d.create_by, d.create_time
+ select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.del_flag, d.department_id, d.service_order_class, d.dispatch_order_class, d.create_by, d.create_time
from sys_dept d
</sql>
@@ -43,6 +45,12 @@
<if test="status != null and status != ''">
AND status = #{status}
</if>
+ <if test="serviceOrderClass != null and serviceOrderClass != ''">
+ AND service_order_class = #{serviceOrderClass}
+ </if>
+ <if test="dispatchOrderClass != null and dispatchOrderClass != ''">
+ AND dispatch_order_class = #{dispatchOrderClass}
+ </if>
<!-- 鏁版嵁鑼冨洿杩囨护 -->
${params.dataScope}
order by d.parent_id, d.order_num
@@ -60,7 +68,7 @@
</select>
<select id="selectDeptById" parameterType="Long" resultMap="SysDeptResult">
- select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.department_id,
+ select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.phone, d.email, d.status, d.department_id, d.service_order_class, d.dispatch_order_class,
(select dept_name from sys_dept where dept_id = d.parent_id) parent_name
from sys_dept d
where d.dept_id = #{deptId}
@@ -100,6 +108,8 @@
<if test="email != null and email != ''">email,</if>
<if test="status != null">status,</if>
<if test="departmentId != null">department_id,</if>
+ <if test="serviceOrderClass != null and serviceOrderClass != ''">service_order_class,</if>
+ <if test="dispatchOrderClass != null and dispatchOrderClass != ''">dispatch_order_class,</if>
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
@@ -113,6 +123,8 @@
<if test="email != null and email != ''">#{email},</if>
<if test="status != null">#{status},</if>
<if test="departmentId != null">#{departmentId},</if>
+ <if test="serviceOrderClass != null and serviceOrderClass != ''">#{serviceOrderClass},</if>
+ <if test="dispatchOrderClass != null and dispatchOrderClass != ''">#{dispatchOrderClass},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
sysdate()
)
@@ -130,6 +142,8 @@
<if test="email != null">email = #{email},</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="departmentId != null">department_id = #{departmentId},</if>
+ <if test="serviceOrderClass != null">service_order_class = #{serviceOrderClass},</if>
+ <if test="dispatchOrderClass != null">dispatch_order_class = #{dispatchOrderClass},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = sysdate()
</set>
@@ -176,4 +190,24 @@
limit 1
</select>
+ <!-- 鑾峰彇鎸囧畾閮ㄩ棬ID鐨勫垎鍏徃ID锛坧arent_id=100鐨勯儴闂級 -->
+ <select id="selectBranchCompanyIdByDeptId" parameterType="Long" resultType="Long">
+ select case
+ -- 濡傛灉浼犲叆鐨勫氨鏄垎鍏徃锛坧arent_id=100锛夛紝鐩存帴杩斿洖
+ when exists(select 1 from sys_dept where dept_id = #{deptId} and parent_id = 100 and del_flag = '0')
+ then #{deptId}
+ else (
+ -- 鍚﹀垯浠� ancestors 涓煡鎵惧垎鍏徃ID
+ select d.dept_id
+ from sys_dept d
+ where d.parent_id = 100
+ and d.del_flag = '0'
+ and FIND_IN_SET(d.dept_id, (
+ select ancestors from sys_dept where dept_id = #{deptId} and del_flag = '0'
+ ))
+ limit 1
+ )
+ end
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1