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.create_by,
d.create_time
from sys_dept d
select seq_sys_dept.nextval as deptId from DUAL
insert into sys_dept(
dept_id,parent_id,dept_name,ancestors,order_num,leader,phone,email,status,create_by,
create_time
)values(
#{deptId},#{parentId},#{deptName},#{ancestors},#{orderNum},#{leader},#{phone},#{email},#{status},#{createBy},
sysdate
)
DELETE
FROM SYS_USER_DEPT
where DEPT_ID in (SELECT d.DEPT_ID
from SYS_DEPT d
LEFT JOIN SYS_DEPT d2 on d2.DEPT_ID = d.PARENT_ID
where d2.DEPT_NAME = '承包商');
INSERT into SYS_USER_DEPT (USER_ID, DEPT_ID) SELECT u.USER_ID, #{deptId} from SYS_USER_DEPT u where u.DEPT_ID in (SELECT d3.DEPT_ID from SYS_DEPT d3 where d3.DEPT_NAME = '承包商')
update sys_dept
parent_id = #{parentId},dept_name = #{deptName},ancestors = #{ancestors},order_num = #{orderNum},leader = #{leader},phone = #{phone},email = #{email},status = #{status},update_by = #{updateBy},
update_time = sysdate
where dept_id = #{deptId}
update sys_dept set ancestors =
when #{item.deptId} then #{item.ancestors}
where dept_id in
#{item.deptId}
update sys_dept
status = #{status},update_by = #{updateBy},
update_time = sysdate
where dept_id in (${ancestors})
update sys_dept
set del_flag = '2'
where dept_id = #{deptId}