优化
This commit is contained in:
@ -1,6 +1,9 @@
|
||||
package com.ruoyi.fbs.service;
|
||||
|
||||
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO;
|
||||
import com.ruoyi.common.core.mybatisplus.core.IServicePlus;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.fbs.bo.FbsProjectTaskQueryBo;
|
||||
@ -92,6 +95,16 @@ public interface IFbsProjectTaskService extends IServicePlus<FbsProjectTask> {
|
||||
*/
|
||||
AppTaskDetailRecruitVO recruit(Long id);
|
||||
|
||||
/**
|
||||
* 任务详情-务工人员分页
|
||||
*/
|
||||
TableDataInfo<BgtProjectRecruitApplyVO> taskUserList(BgtProjectTaskUserDTO dto);
|
||||
|
||||
/**
|
||||
* 任务详情-务工人员统计
|
||||
*/
|
||||
BgtProjectTaskUseCountVO taskUserCount(Long id);
|
||||
|
||||
/**
|
||||
* 查询所有在进行中的任务
|
||||
*/
|
||||
|
||||
@ -6,15 +6,14 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.bgt.bo.BgtProjectRecruitQueryBo;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruit;
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectRecruitApplyQueryDTO;
|
||||
import com.ruoyi.bgt.domain.BgtProjectRecruitApply;
|
||||
import com.ruoyi.bgt.domain.dto.BgtProjectTaskUserDTO;
|
||||
import com.ruoyi.bgt.domain.dto.BgtWageApplicationQueryDTO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtDayAttendanceCountVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectRecruitApplyVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtProjectTaskUseCountVO;
|
||||
import com.ruoyi.bgt.domain.vo.BgtWageApplicationListVO;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitApplyService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectRecruitService;
|
||||
import com.ruoyi.bgt.service.IBgtProjectTaskProgressService;
|
||||
import com.ruoyi.bgt.service.IBgtWageApplicationService;
|
||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||
@ -43,10 +42,8 @@ import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 分包商项目任务Service业务层处理
|
||||
@ -59,8 +56,7 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
|
||||
@Autowired
|
||||
private IZbfProjectService zbfProjectService;
|
||||
@Autowired
|
||||
private IBgtProjectRecruitService recruitService;
|
||||
|
||||
@Autowired
|
||||
private IBgtProjectRecruitApplyService recruitApplyService;
|
||||
@Autowired
|
||||
@ -261,20 +257,34 @@ public class FbsProjectTaskServiceImpl extends ServicePlusImpl<FbsProjectTaskMap
|
||||
public AppTaskDetailRecruitVO recruit(Long id) {
|
||||
AppTaskDetailRecruitVO appTaskDetailVO = new AppTaskDetailRecruitVO();
|
||||
appTaskDetailVO.setId(id);
|
||||
//务工者数量列表
|
||||
BgtProjectRecruitQueryBo bgtProjectRecruitQueryBo = new BgtProjectRecruitQueryBo();
|
||||
bgtProjectRecruitQueryBo.setTaskId(id);
|
||||
List<Long> recruitIds = recruitService.queryList(bgtProjectRecruitQueryBo).stream().map(BgtProjectRecruit::getId).collect(Collectors.toList());
|
||||
|
||||
BgtProjectRecruitApplyQueryDTO bgtProjectRecruitApplyQueryDTO = new BgtProjectRecruitApplyQueryDTO();
|
||||
bgtProjectRecruitApplyQueryDTO.setRecruitIds(recruitIds);
|
||||
bgtProjectRecruitApplyQueryDTO.setStatus(Collections.singletonList(RecruitApplyStatus.WORKING.getCode()));
|
||||
List<BgtProjectRecruitApplyVO> vos = recruitApplyService.appQueryList(bgtProjectRecruitApplyQueryDTO);
|
||||
appTaskDetailVO.setTotal(vos.size());
|
||||
appTaskDetailVO.setApplyList(vos.subList(0, Math.min(vos.size(), 3)));
|
||||
BgtProjectTaskUserDTO dto = new BgtProjectTaskUserDTO();
|
||||
dto.setPageNum(1);
|
||||
dto.setPageSize(3);
|
||||
dto.setTaskId(id);
|
||||
TableDataInfo<BgtProjectRecruitApplyVO> page = recruitApplyService.taskUserList(dto);
|
||||
appTaskDetailVO.setTotal((int)page.getTotal());
|
||||
appTaskDetailVO.setApplyList(page.getRows());
|
||||
return appTaskDetailVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TableDataInfo<BgtProjectRecruitApplyVO> taskUserList(BgtProjectTaskUserDTO dto) {
|
||||
return recruitApplyService.taskUserList(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BgtProjectTaskUseCountVO taskUserCount(Long id) {
|
||||
|
||||
LambdaQueryWrapper<BgtProjectRecruitApply> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(BgtProjectRecruitApply::getTaskId, id);
|
||||
wrapper.in(BgtProjectRecruitApply::getStatus, RecruitApplyStatus.getTaskStatus());
|
||||
List<BgtProjectRecruitApply> list = recruitApplyService.list(wrapper);
|
||||
long wgzPassNum = list.stream().filter(apply -> apply.getStatus().equals(RecruitApplyStatus.WGZ_PASS.getCode())).count();
|
||||
long outWorkNum = list.stream().filter(apply -> apply.getStatus().equals(RecruitApplyStatus.OUT_WORK.getCode())).count();
|
||||
long workingNum = list.stream().filter(apply -> apply.getStatus().equals(RecruitApplyStatus.WORKING.getCode())).count();
|
||||
return new BgtProjectTaskUseCountVO(wgzPassNum,workingNum,outWorkNum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FbsProjectTask> findOngoingTask() {
|
||||
|
||||
Reference in New Issue
Block a user