提交修改
This commit is contained in:
parent
52e7520506
commit
b9c99c3ffe
@ -40,4 +40,6 @@ public interface StaffRoleDepartmentMapper extends BaseMapper<StaffRoleDepartmen
|
||||
StaffRoleDepartment selectStaffRoleDepartmentByDepartmentIdRoleIds(@Param("departmentId") Long departmentId, @Param("ids") List<Long> ids);
|
||||
|
||||
void deleteStaffRoleDepartment(@Param("id") Long id);
|
||||
|
||||
List<StaffRoleDepartment> selectStaffRoleDepartmentByStaffRoleIdDepartments(@Param("staffRoleId") Long staffRoleId, @Param("departments") List<String> departments);
|
||||
}
|
||||
@ -11,6 +11,7 @@ import com.lz.modules.app.dto.StaffRoleResp;
|
||||
import com.lz.modules.app.entity.DepartmentsEntity;
|
||||
import com.lz.modules.app.entity.DepartmentsStaffRelateEntity;
|
||||
import com.lz.modules.app.entity.StaffEntity;
|
||||
import com.lz.modules.app.service.DepartmentsService;
|
||||
import com.lz.modules.app.service.DepartmentsStaffRelateService;
|
||||
import com.lz.modules.flow.dao.RecordRoleMapper;
|
||||
import com.lz.modules.flow.dao.StaffRoleDepartmentMapper;
|
||||
@ -69,6 +70,9 @@ public class StaffRoleServiceImpl extends ServiceImpl<StaffRoleMapper, StaffRole
|
||||
@Autowired
|
||||
private RecordRoleService recordRoleService;
|
||||
|
||||
@Autowired
|
||||
private DepartmentsService departmentsService;
|
||||
|
||||
@Autowired
|
||||
private DepartmentsStaffRelateService departmentsStaffRelateService;
|
||||
|
||||
@ -176,12 +180,15 @@ public class StaffRoleServiceImpl extends ServiceImpl<StaffRoleMapper, StaffRole
|
||||
Map<String,List<DepartmentsEntity>> map= resultRecordService.getStringListMap(departmentsEntities);
|
||||
role.setRoleId(staffRole.getId());
|
||||
role.setRoleName(staffRole.getDepartmentLevel());
|
||||
|
||||
for(StaffRoleDepartment staffRoleDepartment: staffRoleDepartments){
|
||||
List<DepartmentsEntity> list = map.get(staffRoleDepartment.getDepartmentId());
|
||||
if(list == null || list.size() == 0){
|
||||
menuIdList.add(NumberUtil.objToLongDefault(staffRoleDepartment.getDepartmentId(),0l));
|
||||
}else{
|
||||
menuIdList1.add(NumberUtil.objToLongDefault(staffRoleDepartment.getDepartmentId(),0l));
|
||||
List<String> departments = departmentsService.selectAllChildDepartmentIds(staffRoleDepartment.getDepartmentId());
|
||||
List<StaffRoleDepartment> departments1 = staffRoleDepartmentMapper.selectStaffRoleDepartmentByStaffRoleIdDepartments(staffRole.getId(), departments);
|
||||
if (list == null || list.size() == 0 || departments1.size() <= 1) {
|
||||
menuIdList.add(NumberUtil.objToLongDefault(staffRoleDepartment.getDepartmentId(), 0l));
|
||||
} else {
|
||||
menuIdList1.add(NumberUtil.objToLongDefault(staffRoleDepartment.getDepartmentId(), 0l));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -200,7 +207,9 @@ public class StaffRoleServiceImpl extends ServiceImpl<StaffRoleMapper, StaffRole
|
||||
.collect(Collectors.toList());
|
||||
List<DepartmentsStaffRelateEntity> departmentsStaffRelateEntities = departmentsStaffRelateService.selectAll();
|
||||
Map<String,DepartmentsStaffRelateEntity> departmentsStaffRelateEntityMap = new HashMap<>();
|
||||
Map<String,DepartmentsStaffRelateEntity> singleDepartmentsStaffRelate = new HashMap<>();
|
||||
for(DepartmentsStaffRelateEntity d : departmentsStaffRelateEntities){
|
||||
singleDepartmentsStaffRelate.put(d.getDepartmentId(),d);
|
||||
if(new Integer(1).equals(d.getIsLeader())){
|
||||
departmentsStaffRelateEntityMap.put(d.getDepartmentId(),d);
|
||||
}
|
||||
@ -212,34 +221,44 @@ public class StaffRoleServiceImpl extends ServiceImpl<StaffRoleMapper, StaffRole
|
||||
}
|
||||
List<SysMenuEntity> list = new ArrayList<>();
|
||||
for (DepartmentsEntity d : parentDepartments) {
|
||||
String departmentName = d.getDepartmentName() + getSuffix(departmentsStaffRelateEntityMap,staffMap,d.getDepartmentId());
|
||||
String departmentName = d.getDepartmentName() + getSuffix(departmentsStaffRelateEntityMap,staffMap,d.getDepartmentId(),singleDepartmentsStaffRelate);
|
||||
SysMenuEntity entity = recordRoleService.buildMenuEntity(NumberUtil.objToLongDefault(d.getDepartmentId(), 0l),departmentName , 0l, "");
|
||||
getMenuList(tDepartments, entity, list,departmentsStaffRelateEntityMap,staffMap);
|
||||
getMenuList(tDepartments, entity, list,departmentsStaffRelateEntityMap,staffMap,singleDepartmentsStaffRelate);
|
||||
list.add(entity);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
public String getSuffix(Map<String,DepartmentsStaffRelateEntity> departmentsStaffRelateEntityMap, Map<Long ,StaffEntity> staffMap,String departmentId){
|
||||
String suffix = "";
|
||||
public String getSuffix(Map<String, DepartmentsStaffRelateEntity> departmentsStaffRelateEntityMap, Map<Long, StaffEntity> staffMap, String departmentId,
|
||||
Map<String, DepartmentsStaffRelateEntity> singleDepartmentsStaffRelate) {
|
||||
DepartmentsStaffRelateEntity departmentsStaffRelateEntity = departmentsStaffRelateEntityMap.get(departmentId);
|
||||
if(departmentsStaffRelateEntity !=null){
|
||||
StaffEntity staffEntity = staffMap.get(departmentsStaffRelateEntity.getStaffId());
|
||||
if(staffEntity !=null ){
|
||||
suffix = " , "+staffEntity.getName();
|
||||
}
|
||||
if (departmentsStaffRelateEntity != null) {
|
||||
return doGetStaff(departmentsStaffRelateEntity, staffMap);
|
||||
} else {
|
||||
return doGetStaff(singleDepartmentsStaffRelate.get(departmentId), staffMap);
|
||||
}
|
||||
return suffix;
|
||||
}
|
||||
|
||||
public String doGetStaff(DepartmentsStaffRelateEntity departmentsStaffRelateEntity, Map<Long, StaffEntity> staffMap) {
|
||||
if (departmentsStaffRelateEntity != null) {
|
||||
StaffEntity staffEntity = staffMap.get(departmentsStaffRelateEntity.getStaffId());
|
||||
if (staffEntity != null) {
|
||||
return " , " + staffEntity.getName();
|
||||
}
|
||||
}
|
||||
return " ";
|
||||
}
|
||||
|
||||
|
||||
public void getMenuList(List<DepartmentsEntity> tDepartments,SysMenuEntity sysMenuEntity,List<SysMenuEntity> list,
|
||||
Map<String,DepartmentsStaffRelateEntity> departmentsStaffRelateEntityMap, Map<Long ,StaffEntity> staffMap) {
|
||||
Map<String,DepartmentsStaffRelateEntity> departmentsStaffRelateEntityMap, Map<Long ,StaffEntity> staffMap,
|
||||
Map<String,DepartmentsStaffRelateEntity> singleDepartmentsStaffRelate) {
|
||||
for(DepartmentsEntity child : tDepartments) {
|
||||
if(NumberUtil.objToLongDefault(child.getDepartmentParentId(),0l).equals(sysMenuEntity.getMenuId())){
|
||||
String departmentName = child.getDepartmentName() + getSuffix(departmentsStaffRelateEntityMap,staffMap,child.getDepartmentId());
|
||||
String departmentName = child.getDepartmentName() + getSuffix(departmentsStaffRelateEntityMap,staffMap,child.getDepartmentId(),singleDepartmentsStaffRelate);
|
||||
SysMenuEntity entity = recordRoleService.buildMenuEntity(NumberUtil.objToLongDefault(child.getDepartmentId(),0l),
|
||||
departmentName,sysMenuEntity.getMenuId(),sysMenuEntity.getName());
|
||||
getMenuList(tDepartments,entity,list,departmentsStaffRelateEntityMap,staffMap);
|
||||
getMenuList(tDepartments,entity,list,departmentsStaffRelateEntityMap,staffMap,singleDepartmentsStaffRelate);
|
||||
list.add(entity);
|
||||
}
|
||||
}
|
||||
|
||||
@ -79,6 +79,9 @@
|
||||
<select id="selectStaffRoleDepartmentByStaffRoleId" resultType="com.lz.modules.flow.entity.StaffRoleDepartment">
|
||||
select * from lz_staff_role_department where staff_role_id=#{staffRoleId} and is_delete = 0
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="selectStaffRoleDepartmentByDepartmentId"
|
||||
resultType="com.lz.modules.flow.entity.StaffRoleDepartment">
|
||||
select * from lz_staff_role_department where department_id=#{departmentId} and is_delete = 0
|
||||
@ -93,9 +96,20 @@
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<delete id="deleteStaffRoleDepartment">
|
||||
delete from lz_staff_role_department where id = #{id}
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="selectStaffRoleDepartmentByStaffRoleIdDepartments"
|
||||
resultType="com.lz.modules.flow.entity.StaffRoleDepartment">
|
||||
select * from lz_staff_role_department where staff_role_id=#{staffRoleId} and is_delete = 0
|
||||
and department_id in
|
||||
<foreach collection="departments" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user