select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly, r.status, r.del_flag, r.create_time, r.remark,r.role_type from sys_role r -- left join sys_user_role ur on ur.role_id = r.role_id -- left join sys_user u on u.user_id = ur.user_id -- left join sys_dept d on u.dept_id = d.dept_id insert into sys_role( role_id, role_name, role_key, role_sort, data_scope, menu_check_strictly, dept_check_strictly, status, role_type, remark, create_by, create_time, del_flag )values( #{roleId}, #{roleName}, #{roleKey}, #{roleSort}, #{dataScope}, #{menuCheckStrictly}, #{deptCheckStrictly}, #{status}, #{roleType}, #{remark}, #{createBy}, sysdate(), 0 ) update sys_role role_name = #{roleName}, role_key = #{roleKey}, role_sort = #{roleSort}, data_scope = #{dataScope}, menu_check_strictly = #{menuCheckStrictly}, dept_check_strictly = #{deptCheckStrictly}, status = #{status}, remark = #{remark}, update_by = #{updateBy}, update_time = sysdate() where role_id = #{roleId} and del_flag=0 update sys_role set del_flag = '1',update_by=#{update_by},update_time=sysdate() where role_id = #{roleId}