Commit a2aa9418 authored by cq990612's avatar cq990612

优化代码结构

parent bb4660b1
......@@ -138,7 +138,7 @@
</select>
<select id="getManagerProjectsDto" resultType="cn.wisenergy.model.dto.ManagerProjectsDto">
select
p.id,p.oa_project_id,p.project_name,p.manager_id,lu.manager_name,p.dept_id,p.modify_time,p.type,p.create_time,p.is_conclusion,
p.id,p.oa_project_id,p.project_name,p.business_id,p.business_name,p.manager_id,d.dept_name,lu.manager_name,p.dept_id,p.modify_time,p.type,p.create_time,p.is_conclusion,
GROUP_CONCAT(DISTINCT(u.name)) as 'participants',p.cost_budget,p.work_time,p.start_time,p.end_time,
if(cost is NULL,0,0 + cast(cost as char)) as 'currentLaborCost',if(total_time is NULL,0,0 + cast(total_time as
char)) as 'totalCurrentWorkingHours',
......@@ -148,6 +148,7 @@
FROM work_project_time_cost
GROUP BY project_id) o on p.id = o.project_id
LEFT JOIN (select id,`name` as 'manager_name'from work_user) lu on p.manager_id=lu.id
LEFT JOIN work_dept d on p.dept_id=d.id
LEFT JOIN work_user_project up ON p.id = up.project_id
LEFT JOIN work_user u on u.id = up.user_id
<where>
......
......@@ -49,6 +49,9 @@ public class ManagerProjectsDto implements Serializable {
@ApiModelProperty(name = "deptId",value = "部门id")
private Integer deptId;
@ApiModelProperty(name = "deptName",value = "部门名称")
private String deptName;
@ApiModelProperty(name = "workTime",value = "工时预算")
private Integer workTime;
......
......@@ -20,7 +20,7 @@ public class ModifyProjectVo {
private Integer managerId;
private String manageIdReason;
private String managerIdReason;
private Integer projectId;
......
......@@ -331,14 +331,14 @@ public class WorkProjectServiceImpl implements WorkProjectService {
workProjectChange.setReason(modifyProjectVo.getDeptIdReason());
workProjectChanges.add(workProjectChange);
}
if (!StringUtils.isBlank(modifyProjectVo.getManageIdReason())) {
if (!StringUtils.isBlank(modifyProjectVo.getManagerIdReason())) {
WorkProjectChange workProjectChange = new WorkProjectChange();
workProjectChange.setProjectId(modifyProjectVo.getProjectId());
workProjectChange.setModifyTime(new Date());
workProjectChange.setChangeType(5);
workProjectChange.setModifyBefore(workUserService.getById(workProject.getManagerId()).getName());
workProjectChange.setModifyAfter(workUserService.getById(modifyProjectVo.getManagerId()).getName());
workProjectChange.setReason(modifyProjectVo.getManageIdReason());
workProjectChange.setReason(modifyProjectVo.getManagerIdReason());
workProjectChanges.add(workProjectChange);
}
if (!StringUtils.isBlank(modifyProjectVo.getStartTimeReason())) {
......@@ -458,10 +458,6 @@ public class WorkProjectServiceImpl implements WorkProjectService {
* 判断更变内容是否等于原内容
*/
private void verificationItem(ModifyProjectVo modifyProjectVo, WorkProject workProject, List<Integer> userIds) {
// 校验商机编号/商机名称(只有项目才能编辑)
if (1 != workProject.getType() && (!StringUtils.isBlank(modifyProjectVo.getBusinessId()) || !StringUtils.isBlank(modifyProjectVo.getBusinessName()))) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NON_PROJECT_OPPORTUNITYNUMBERNAME_ISEMPTY);
}
// 校验部门
if (!workProject.getDeptId().equals(modifyProjectVo.getDeptId())) {
......@@ -488,6 +484,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
}
}
// 校验结束时间
if (null != modifyProjectVo.getEndTime()) {
if (StringUtils.isBlank(modifyProjectVo.getEndTimeReason())) {
......@@ -530,9 +527,10 @@ public class WorkProjectServiceImpl implements WorkProjectService {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.theNewContent_IsEqual_ToTheOriginal_Content);
}
}
// 校验负责人
if (!workProject.getManagerId().equals(modifyProjectVo.getManagerId())) {
if (StringUtils.isBlank(modifyProjectVo.getManageIdReason())) {
if (StringUtils.isBlank(modifyProjectVo.getManagerIdReason())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.REASON_CANNOT_BE_EMPTY);
}
List<Integer> roles = UserRoleLevelUtils.getRole(modifyProjectVo.getManagerId());
......@@ -547,6 +545,7 @@ public class WorkProjectServiceImpl implements WorkProjectService {
}
}
/*if (null == modifyProjectVo.getStartTime() && null == modifyProjectVo.getEndTime() && null == modifyProjectVo.getCostBudget() && null == modifyProjectVo.getWorkTime() && workProject.getDeptId().equals(modifyProjectVo.getDeptId()) && workProject.getManagerId().equals(modifyProjectVo.getManagerId()) ) {
if (userIds.containsAll(modifyProjectVo.getUserIds()) &&
......
......@@ -28,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import java.util.*;
import static java.util.Collections.*;
......@@ -210,6 +211,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
int totalTime = 0;
List<WorkTimeOrder> addList = new ArrayList<>();
List<Integer> typeIds = workTypeService.getIdByReviewer(1);
List<WorkType> workTypes = workTypeService.getAll(null);
for (WorkTimeOrderDto dto : workTimeOrders) {
// 3.判断工单是否合法
isEmpty(dto);
......@@ -217,14 +219,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 获取用户名和类型名
Integer type = dto.getType();
dto.setUserName(workUserService.getById(dto.getUserId()).getName());
dto.setTypeName(getTypeName(type));
dto.setTypeName(getTypeName(type, workTypes));
if (!CollectionUtils.isEmpty(typeIds)) {
if (typeIds.contains(type)) {
dto.setProjectName(workProjectService.getById(dto.getProjectId()).getProjectName());
dto.setManagerName(workUserService.getById(workProjectService.getById(dto.getProjectId()).getManagerId()).getName());
}
if (!typeIds.contains(type)) {
/* dto.setManagerName(workUserService.getById(workTypeManagerService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName());*/
/* dto.setManagerName(workUserService.getById(workTypeManagerService.getByDeptId(workUserService.getById(dto.getUserId()).getDeptId()).get(0).getManagerId()).getName());*/
dto.setManagerName(workUserService.getById(workDeptService.getById(user.getDeptId()).getDeptManagerId()).getName());
}
}
......@@ -411,13 +413,14 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
System.out.println(workTimeOrder);
}
List<Integer> typeIds = workTypeService.getIdByReviewer(1);
List<WorkType> workTypes = workTypeService.getAll(null);
for (AppletsPendApprovalDto approvalDto : appletsPendApprovalDtos) {
List<WorkTimeOrderDto> workTimeOrderList = new ArrayList<>();
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
if (approvalDto.getWorkDay().compareTo(workTimeOrder.getWorkDay()) == 0) {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
/* workTimeOrderDto.setManagerName(workUserService.getById(workTypeManagerService.getByDeptId(workTimeOrder.getDeptId()).get(0).getManagerId()).getName());*/
/* workTimeOrderDto.setManagerName(workUserService.getById(workTypeManagerService.getByDeptId(workTimeOrder.getDeptId()).get(0).getManagerId()).getName());*/
workTimeOrderDto.setManagerName(workUserService.getById(workDeptService.getById(user.getDeptId()).getDeptManagerId()).getName());
workTimeOrderDto.setUserName(workUserService.getById(workTimeOrderDto.getUserId()).getName());
if (!CollectionUtils.isEmpty(typeIds)) {
......@@ -426,7 +429,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrderDto.setManagerName(workUserService.getById(workProjectService.getById(workTimeOrderDto.getProjectId()).getManagerId()).getName());
}
}
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType(), workTypes));
workTimeOrderList.add(workTimeOrderDto);
}
}
......@@ -549,15 +552,24 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
// 2.获取可填报的项目
projectsDto.setProjectInfoDto(getProjectInfoDto(userId));
// 3.获取可审批的项目
List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(userId);
if (CollectionUtils.isEmpty(roleUserLevel)) {
List<ProjectManagerDto> projectManagerDto = getProjectManagerDto(user, workTypes);
if (!CollectionUtils.isEmpty(projectManagerDto)) {
projectsDto.setProjectManagerDto(projectManagerDto);
return projectsDto;
}
return projectsDto;
}
public List<ProjectManagerDto> getProjectManagerDto(WorkUser user,List<WorkType> workTypes) {
List<UserRoleLevelDto> roleUserLevel = UserRoleLevelUtils.getRoleUserLevel(user.getId());
if (CollectionUtils.isEmpty(roleUserLevel)) {
return null;
}
for (UserRoleLevelDto userRoleLevelDto : roleUserLevel) {
// 如果有审批权限
if (LevelEnum.EXAMINE.getLevelName().equals(userRoleLevelDto.getLevelName())) {
List<ProjectManagerDto> projectManagerDtos = new ArrayList<>();
List<ProjectDto> projectDtos = workProjectService.getByManagerId(userId, 1);
List<ProjectDto> projectDtos = workProjectService.getByManagerId(user.getId(), 1);
if (!CollectionUtils.isEmpty(projectDtos)) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
List<Integer> projectIds = new ArrayList<>();
......@@ -615,12 +627,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
}
sort(projectManagerDtos);
projectsDto.setProjectManagerDto(projectManagerDtos);
return projectsDto;
return projectManagerDtos;
}
}
return projectsDto;
}
return null;
}
// 获取可以填报的数据
private List<ProjectInfoDto> getProjectInfoDto(Integer userId) {
......@@ -670,6 +681,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<WorkTimeOrderDto> dtos = new ArrayList<>();
WorkUser user = workUserService.getById(workTimeOrders.get(0).getUserId());
List<Integer> typeIds = workTypeService.getIdByReviewer(1);
List<WorkType> workTypes = workTypeService.getAll(null);
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
WorkTimeOrderDto dto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, dto);
......@@ -682,7 +694,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
dto.setManagerName(getManagerNameByOrder(workTimeOrder));
}
}
dto.setTypeName(getTypeName(dto.getType()));
dto.setTypeName(getTypeName(dto.getType(), workTypes));
dtos.add(dto);
}
return dtos;
......@@ -777,8 +789,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkOrderServiceImpl[]pageExamine[]input.param.user:{},projectId:{},type:{},page:{},pageSize:{},status:{}" + user, projectId, type, page, pageSize, status);
page = page == null ? 1 : page;
pageSize = pageSize == null ? 10 : pageSize;
List<WorkType> workTypes = workTypeService.getAll(1);
if (null == projectId && null == type) {
List<ProjectManagerDto> projectManagerDto = getProjectDto(user.getId()).getProjectManagerDto();
List<ProjectManagerDto> projectManagerDto = getProjectManagerDto(user, workTypes);
projectId = projectManagerDto.get(0).getId();
type = projectManagerDto.get(0).getType();
}
......@@ -793,6 +806,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<WorkUser> workUsers = workUserMapper.selectList(new QueryWrapper<>());
List<WorkProject> workProjects = workProjectMapper.selectList(new QueryWrapper<>());
for (WorkTimeOrder workTimeOrder : workTimeOrders) {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
......@@ -806,7 +820,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
workTimeOrderDto.setProjectName(workProject.getProjectName());
}
}
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType(), workTypes));
workTimeOrderDtos.add(workTimeOrderDto);
}
PageInfo<WorkTimeOrderDto> pageInfo = pageHelper.toPageInfo();
......@@ -843,8 +857,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
}
}
private String getTypeName(Integer type) {
List<WorkType> workTypes = workTypeService.getAll(null);
private String getTypeName(Integer type, List<WorkType> workTypes) {
if (!CollectionUtils.isEmpty(workTypes)) {
for (WorkType value : workTypes) {
if (value.getId().equals(type)) {
......
......@@ -103,6 +103,7 @@ public class WorkTimeOrderController extends BaseController {
if (null == userId) {
throw new CustomException(RESP_CODE_ENUM.INPUT_PARAM_IS_NULL);
}
ProjectsDto projectDto = workTimeOrderService.getProjectDto(userId);
return getResult(projectDto);
}
......
......@@ -73,7 +73,6 @@ public class WorkUserController extends BaseController {
return getResult(resultUser);
}
@ApiOperation(value = "组织架构", notes = "组织架构", httpMethod = "GET")
@GetMapping(value = "/getOrganizationStructureDto")
public Result<OrganizationDto> getOrganizationStructureDto(){
......
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