Commit ffe40306 authored by cq990612's avatar cq990612

优化代码结构

parent fc65ac4c
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.app.WorkUserRole;
import cn.wisenergy.model.dto.UserRoleLevelDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
......@@ -17,4 +18,6 @@ public interface WorkUserRoleMapper extends BaseMapper<WorkUserRole> {
int insertBatch(@Param("userId") Integer userId,@Param("roleIds") List<Integer> roleIds);
List<UserRoleLevelDto> getRoleUserLevel(Integer userId);
List<WorkUser> getUserRoleDeptDtoByRoleId(Integer role);
}
......@@ -32,5 +32,16 @@ WHERE ur.user_id = #{userId}
ORDER BY rank desc
</select>
<select id="getUserRoleDeptDtoByRoleId" resultType="cn.wisenergy.model.app.WorkUser">
select u.id,u.name,u.dept_id
from work_user_role r left JOIN work_user u on r.user_id = u.id
<where>
<if test="null != roleId">
r.role_id = #{roleId}
</if>
group by r.user_id
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -72,4 +72,6 @@ public class WorkTimeOrder implements Serializable {
@ApiModelProperty(name = "rejectTime",value = "驳回时间")
private Date rejectTime;
}
......@@ -21,5 +21,4 @@ public class WorkUserRole {
@ApiModelProperty(name = "roleId",value = "角色id")
private Integer roleId;
}
......@@ -15,5 +15,5 @@ public class DeptUserDto {
private String deptName;
private List<ResultUser> resultUsers;
private List<UserDto> userDtos;
}
package cn.wisenergy.model.dto;
import lombok.Data;
import java.util.List;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class OrganizationDto {
List<OrganizationStructureDto> organizationStructureDtos;
List<OrganizationStructureDto> organizationDtos;
}
package cn.wisenergy.model.dto;
import lombok.Data;
/**
* @Authotr:陈奇
* @QQ1799796883
*/
@Data
public class UserDto {
private Integer id;
private String name;
}
......@@ -2,7 +2,7 @@ package cn.wisenergy.service;
import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.ResultUser;
import java.util.List;
......@@ -53,7 +53,7 @@ public interface WorkUserService {
* 获取组织架构
* @return
*/
List<OrganizationStructureDto> getOrganizationStructure();
OrganizationDto getOrganizationStructure();
AllRoleAndUserRoleDto getUserRoleDto(Integer userId,Integer page, Integer pageSize,Integer status,String key);
......
......@@ -509,8 +509,14 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
}
if (null != modifyProjectVo.getManagerId()) {
List<Integer> role = UserRoleLevelUtils.getRole(modifyProjectVo.getManagerId());
if (1 == role.size() && role.get(0).equals(0)) {
List<Integer> roles = UserRoleLevelUtils.getRole(modifyProjectVo.getManagerId());
int index = 0;
for (Integer role : roles) {
if (role == 1) {
index++;
}
}
if (index == 0) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NOADMIN_ISTRATIVE_RIGHTS);
}
}
......
......@@ -120,8 +120,9 @@ public class WorkUserServiceImpl implements WorkUserService {
}
@Override
public List<OrganizationStructureDto> getOrganizationStructure() {
public OrganizationDto getOrganizationStructure() {
log.info("WorkUserServiceImpl[]getOrganizationStructure[]");
OrganizationDto organizationDto = new OrganizationDto();
PageHelper.clearPage();
List<OrganizationStructureDto> allDeptByAllCentreId = workDeptService.getAllDeptByAllCentreId();
QueryWrapper<WorkUser> wrapper = new QueryWrapper<>();
......@@ -131,23 +132,47 @@ public class WorkUserServiceImpl implements WorkUserService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.DEPT_NOT_HAVE_USER);
}
ResultUser resultUser;
UserDto userDto;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentreId) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<ResultUser> ResultUsers = new ArrayList<>();
List<UserDto> userDtos = new ArrayList<>();
for (WorkUser workUser : workUsers) {
if (workUser.getDeptId().equals(deptUserDto.getDeptId())) {
resultUser = getResultUser(workUser);
ResultUsers.add(resultUser);
userDto = getUserDto(workUser);
userDtos.add(userDto);
}
}
deptUserDto.setResultUsers(ResultUsers);
deptUserDto.setUserDtos(userDtos);
}
}
return allDeptByAllCentreId;
organizationDto.setOrganizationStructureDtos(allDeptByAllCentreId);
List<WorkUser> users = workUserRoleMapper.getUserRoleDeptDtoByRoleId(1);
if (!CollectionUtils.isEmpty(users)) {
List<OrganizationStructureDto> allDeptByAllCentre = workDeptService.getAllDeptByAllCentreId();
UserDto userDto1 ;
for (OrganizationStructureDto organizationStructureDto : allDeptByAllCentre) {
List<DeptUserDto> deptUserDtos = organizationStructureDto.getDeptUserDtos();
for (DeptUserDto deptUserDto : deptUserDtos) {
List<UserDto> UserDtos1 = new ArrayList<>();
for (WorkUser user : users) {
if (user.getDeptId().equals(deptUserDto.getDeptId())) {
userDto1 = getUserDto(user);
UserDtos1.add(userDto1);
}
}
deptUserDto.setUserDtos(UserDtos1);
}
}
organizationDto.setOrganizationDtos(allDeptByAllCentre);
}
return organizationDto;
}
@Override
public AllRoleAndUserRoleDto getUserRoleDto(Integer userId, Integer page, Integer pageSize,Integer status,String key) {
log.info("WorkUserServiceImpl[]getUserRoleDto[]input.param.userId:{},page:{},pageSize:{},status:{},key:{}" + userId, page, pageSize,status,key);
......@@ -325,4 +350,16 @@ public class WorkUserServiceImpl implements WorkUserService {
}
return resultUser;
}
private UserDto getUserDto(WorkUser workUser) {
log.info("WorkUSerServiceImpl[]getUserDto[]input.method");
UserDto userDto = new UserDto();
try {
BeanUtils.copyProperties(userDto, workUser);
} catch (Exception e) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.QUERY_USER_INFO_FAIL);
}
return userDto;
}
}
package cn.wisenergy.web.admin.controller.app;
import cn.wisenergy.common.utils.exception.*;
import cn.wisenergy.model.dto.OrganizationStructureDto;
import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.ResultUser;
import cn.wisenergy.service.WorkUserService;
import cn.wisenergy.web.admin.controller.common.BaseController;
......@@ -16,8 +16,6 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @description:
* @author: nh
......@@ -78,10 +76,10 @@ public class WorkUserController extends BaseController {
@ApiOperation(value = "组织架构", notes = "组织架构", httpMethod = "GET")
@GetMapping(value = "/getOrganizationStructureDto")
public Result<List<OrganizationStructureDto>> getOrganizationStructureDto(){
public Result<OrganizationDto> getOrganizationStructureDto(){
log.info("WorkUserController[]getOrganizationStructureDto[]");
List<OrganizationStructureDto> organizationStructure = workUserService.getOrganizationStructure();
return getResult(organizationStructure);
OrganizationDto organizationDto = workUserService.getOrganizationStructure();
return getResult(organizationDto);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment