Commit 56e9dc0d authored by cq990612's avatar cq990612

优化代码结构

parent 7a578370
......@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ProjectManagerDto", description="可审批的项目")
public class ProjectManagerDto {
public class ProjectManagerDto implements Comparable<ProjectManagerDto>{
@ApiModelProperty(name = "id",value = "主键id")
@TableId(value = "id", type = IdType.AUTO)
......@@ -31,4 +31,13 @@ public class ProjectManagerDto {
@ApiModelProperty(name = "typeName",value = "类型名称")
private String typeName;
@ApiModelProperty(name = "pendingApprovalTimes",value = "待审批次数")
private Integer pendingApprovalTimes;
@Override
public int compareTo(ProjectManagerDto o) {
return -this.pendingApprovalTimes.compareTo(o.pendingApprovalTimes);
}
}
......@@ -613,28 +613,51 @@ public class WorkTimeOrderServiceImpl implements WorkTimeOrderService {
List<ProjectManagerDto> projectManagerDtos = new ArrayList<>();
List<ProjectDto> projectDtos = workProjectService.getByManagerId(userId);
if (!CollectionUtils.isEmpty(projectDtos)) {
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
List<Integer> projectIds = new ArrayList<>();
for (ProjectDto projectDto : projectDtos) {
projectIds.add(projectDto.getId());
}
wrapper.in("project_id", projectIds);
wrapper.in("status", COMPLETED, RE_SUBMIT);
List<WorkTimeOrder> timeOrders = workTimeOrderMapper.selectList(wrapper);
ProjectManagerDto projectManagerDto;
for (ProjectDto projectDto : projectDtos) {
projectManagerDto = new ProjectManagerDto();
Integer pendingApprovalTimes = 0;
for (WorkTimeOrder timeOrder : timeOrders) {
if (timeOrder.getProjectId().equals(projectDto.getId())) {
pendingApprovalTimes++;
}
}
projectManagerDto.setPendingApprovalTimes(pendingApprovalTimes);
BeanUtils.copyProperties(projectDto, projectManagerDto);
projectManagerDtos.add(projectManagerDto);
}
}
List<WorkType> WorkTypes = workTypeService.getByManagerId(userId);
QueryWrapper<WorkTimeOrder> wrapper = new QueryWrapper<>();
wrapper.in("type", EXTERNAL_BUSINESS, INTERNAL_TRAINING, OTHER_NON_PROJECTS);
wrapper.eq("dept_id", user.getDeptId());
wrapper.in("status", COMPLETED, RE_SUBMIT);
List<WorkTimeOrder> timeOrders = workTimeOrderMapper.selectList(wrapper);
ProjectManagerDto projectManagerDto1;
for (WorkType workType : WorkTypes) {
projectManagerDto1 = new ProjectManagerDto();
Integer pendingApprovalTimes = 0;
for (WorkTimeOrder timeOrder : timeOrders) {
if (workType.getType().equals(timeOrder.getType())) {
pendingApprovalTimes++;
}
}
projectManagerDto1.setPendingApprovalTimes(pendingApprovalTimes);
projectManagerDto1.setType(workType.getType()).setTypeName(workType.getName());
projectManagerDtos.add(projectManagerDto1);
}
projectsDto.setProjectManagerDto(projectManagerDtos);
}
return projectsDto;
}
// 获取可以填报的数据
......
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