Commit 2d1c60c0 authored by cq990612's avatar cq990612

优化代码结构

parent a6e004f8
...@@ -38,7 +38,7 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> { ...@@ -38,7 +38,7 @@ public interface WorkTimeOrderMapper extends BaseMapper<WorkTimeOrder> {
int updateStatusById(@Param("reviewerId") Integer reviewerId,@Param("id") Integer id,@Param("reason") String reason); int updateStatusById(@Param("reviewerId") Integer reviewerId,@Param("id") Integer id,@Param("reason") String reason);
List<WorkTimeOrder> queryByPage(@Param("status") Integer status, @Param("projectId") Integer projectId, @Param("types") List<Integer> types); List<WorkTimeOrder> queryByPage(@Param("status") Integer status, @Param("projectId")List<Integer> projectIds, @Param("types") List<Integer> types);
/** /**
* 根据填报项目类型获取次数和工时汇总 * 根据填报项目类型获取次数和工时汇总
......
...@@ -111,8 +111,11 @@ ...@@ -111,8 +111,11 @@
FROM FROM
<include refid="table"/> <include refid="table"/>
<where> <where>
<if test="null != projectId"> <if test="null != projectIds">
AND project_id = #{projectId} AND project_id IN
<foreach collection="projectIds" item="projectId" open="(" close=")" separator=",">
#{projectId}
</foreach>
</if> </if>
<if test="null != status"> <if test="null != status">
AND status = #{status} AND status = #{status}
......
...@@ -5,7 +5,7 @@ public enum ProjectTypeEnum { ...@@ -5,7 +5,7 @@ public enum ProjectTypeEnum {
BUSINESS_OPPORTUNITY(2, "商机", 1), BUSINESS_OPPORTUNITY(2, "商机", 1),
LEAVE(3, "请假", 2), LEAVE(3, "请假", 2),
COMPENSATORY_LEAVE(4, "调休", 2), COMPENSATORY_LEAVE(4, "调休", 2),
EXTERNAL_BUSINESS(5, "外部商务与技术交流", 3), EXTERNAL_BUSINESS(5, "外部商务与技术交流", 3),
INTERNAL_TRAINING(6, "内部培训、技术准备、管理", 3), INTERNAL_TRAINING(6, "内部培训、技术准备、管理", 3),
OTHER_NON_PROJECTS(7, "其他非项目/商机工作", 3), OTHER_NON_PROJECTS(7, "其他非项目/商机工作", 3),
; ;
......
...@@ -3,7 +3,9 @@ package cn.wisenergy.service.impl; ...@@ -3,7 +3,9 @@ package cn.wisenergy.service.impl;
import cn.wisenergy.common.utils.DateUtil; import cn.wisenergy.common.utils.DateUtil;
import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM; import cn.wisenergy.common.utils.exception.BASE_RESP_CODE_ENUM;
import cn.wisenergy.common.utils.exception.BaseCustomException; import cn.wisenergy.common.utils.exception.BaseCustomException;
import cn.wisenergy.mapper.WorkProjectMapper;
import cn.wisenergy.mapper.WorkTimeOrderMapper; import cn.wisenergy.mapper.WorkTimeOrderMapper;
import cn.wisenergy.mapper.WorkUserMapper;
import cn.wisenergy.model.app.*; import cn.wisenergy.model.app.*;
import cn.wisenergy.model.dto.*; import cn.wisenergy.model.dto.*;
import cn.wisenergy.model.enums.ProjectTypeEnum; import cn.wisenergy.model.enums.ProjectTypeEnum;
...@@ -39,9 +41,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -39,9 +41,15 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
@Autowired @Autowired
private WorkUserService workUserService; private WorkUserService workUserService;
@Autowired
private WorkUserMapper workUserMapper;
@Autowired @Autowired
private WorkProjectService workProjectService; private WorkProjectService workProjectService;
@Autowired
private WorkProjectMapper workProjectMapper;
@Autowired @Autowired
private WorkTimeOrderMapper workTimeOrderMapper; private WorkTimeOrderMapper workTimeOrderMapper;
...@@ -440,13 +448,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -440,13 +448,11 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
log.info("WorkOrderServiceImpl[]getExamineApplets[]input.param.userId:{},projectId:{},type:{}" + userId, projectId, type); log.info("WorkOrderServiceImpl[]getExamineApplets[]input.param.userId:{},projectId:{},type:{}" + userId, projectId, type);
isManager(userId); isManager(userId);
WorkUser user = workUserService.getById(userId); WorkUser user = workUserService.getById(userId);
// 项目经理 if (0 != user.getLevel()) {
if (1 == user.getLevel()) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>(); QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
projectId = projectId == null ? workProjectService.getByManagerId(userId).get(0).getId() : projectId;
// wrapper.eq("dept_id", user.getDeptId());
wrapper.in("status", COMPLETED, RE_SUBMIT); wrapper.in("status", COMPLETED, RE_SUBMIT);
wrapper.eq("project_id", projectId); wrapper.eq(type != null, "type", type);
wrapper.eq(projectId != null, "project_id", projectId);
wrapper.orderByDesc("work_day"); wrapper.orderByDesc("work_day");
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper); List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workTimeOrders)) { if (CollectionUtils.isEmpty(workTimeOrders)) {
...@@ -454,20 +460,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -454,20 +460,6 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
return getDto(workTimeOrders); return getDto(workTimeOrders);
} }
// 部门经理
if (2 == user.getLevel()) {
type = null == type ? 5 : type;
Integer deptId = user.getDeptId();
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.eq("dept_id", deptId);
wrapper.in("status", COMPLETED, RE_SUBMIT);
wrapper.eq("type", type);
List<WorkTimeOrder> workTimeOrders = workTimeOrderMapper.selectList(wrapper);
if (CollectionUtils.isEmpty(workTimeOrders)) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
}
return getDto(workTimeOrders);
}
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_ORDER_END);
} }
...@@ -770,7 +762,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -770,7 +762,9 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
if (thanDate(dto.getWorkDay())) { if (thanDate(dto.getWorkDay())) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_TIME_OVER_NOW_DAY); throw new BaseCustomException(BASE_RESP_CODE_ENUM.WORK_TIME_OVER_NOW_DAY);
} }
if (1 == dto.getType() || 2 == dto.getType() && null == dto.getProjectId()) {
throw new BaseCustomException(BASE_RESP_CODE_ENUM.NO_JOIN_EVERY_PROJECT_PLASE_JION);
}
for (ProjectTypeEnum value : ProjectTypeEnum.values()) { for (ProjectTypeEnum value : ProjectTypeEnum.values()) {
if (value.getReviewer() == 2) { if (value.getReviewer() == 2) {
if (dto.getType().equals(value.getType())) { if (dto.getType().equals(value.getType())) {
...@@ -911,18 +905,47 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -911,18 +905,47 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<WorkTimeOrder> workTimeOrders = null; List<WorkTimeOrder> workTimeOrders = null;
Integer level = user.getLevel(); Integer level = user.getLevel();
List<Integer> types; List<Integer> types;
// 项目经理 List<Integer> projectIds = new ArrayList<>();
if (1 == level) { if (0 != level) {
types = type == null ? Arrays.asList(1, 2) : new ArrayList<>(Collections.singletonList(type)); if (null == projectId) {
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectId, types); List<ProjectDto> byManagerId = workProjectService.getByManagerId(user.getId());
} if (!CollectionUtils.isEmpty(byManagerId)) {
// 部门经理 for (ProjectDto projectDto : byManagerId) {
if (2 == level) { projectIds.add(projectDto.getId());
types = type == null ? Arrays.asList(5, 6, 7) : new ArrayList<>(Collections.singletonList(type)); }
workTimeOrders = workTimeOrderMapper.queryByPage(status, null, types); }
}
if (null != projectId) {
projectIds.add(projectId);
}
types = type == null ? Arrays.asList(1, 2, 5, 6, 7) : new ArrayList<>(Collections.singletonList(type));
workTimeOrders = workTimeOrderMapper.queryByPage(status, projectIds, types);
} }
List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>(); List<WorkTimeOrderDto> workTimeOrderDtos = new ArrayList<>();
List<WorkUser> workUsers = workUserMapper.selectList(new QueryWrapper<>());
List<WorkProject> workProjects = workProjectMapper.selectList(new QueryWrapper<>());
for (WorkTimeOrder workTimeOrder : workTimeOrders) { for (WorkTimeOrder workTimeOrder : workTimeOrders) {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
for (WorkUser workUser : workUsers) {
if (workTimeOrderDto.getUserId().equals(workUser.getId())) {
workTimeOrderDto.setUserName(workUser.getName());
}
}
for (WorkProject workProject : workProjects) {
if (null !=workTimeOrderDto.getProjectId()&&workTimeOrderDto.getProjectId().equals(workProject.getId())) {
workTimeOrderDto.setProjectName(workProject.getProjectName());
}
}
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderDtos.add(workTimeOrderDto);
}
/* for (WorkTimeOrder workTimeOrder : workTimeOrders) {
WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto(); WorkTimeOrderDto workTimeOrderDto = new WorkTimeOrderDto();
BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto); BeanUtils.copyProperties(workTimeOrder, workTimeOrderDto);
workTimeOrderDto.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName()); workTimeOrderDto.setUserName(workUserService.getById(workTimeOrder.getUserId()).getName());
...@@ -931,7 +954,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService { ...@@ -931,7 +954,7 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
} }
workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType())); workTimeOrderDto.setTypeName(getTypeName(workTimeOrderDto.getType()));
workTimeOrderDtos.add(workTimeOrderDto); workTimeOrderDtos.add(workTimeOrderDto);
} }*/
return new PageInfo<>(workTimeOrderDtos); return new PageInfo<>(workTimeOrderDtos);
} }
......
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