无关风月
4 小时以前 5e2d78f61bf7d1513d5d5c8cd55442133a6e898e
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TTaskCleanServiceImpl.java
@@ -7,6 +7,7 @@
import com.ruoyi.common.core.domain.BaseModel;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.applet.dto.IndexDTO;
import com.ruoyi.system.applet.query.TaskUserListQuery;
import com.ruoyi.system.applet.vo.TaskUserListVO;
import com.ruoyi.system.mapper.*;
@@ -105,16 +106,50 @@
    @Override
    public PageInfo<TaskUserListVO> pageListUser(TaskUserListQuery query) {
        PageInfo<TaskUserListVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TaskUserListVO> list = this.baseMapper.pageListUser(query,pageInfo);
        List<TaskUserListVO> list = this.baseMapper.pageListUser(query);
        List<TTaskDetail> taskDetails = taskDetailMapper.selectList(Wrappers.lambdaQuery(TTaskDetail.class)
                .eq(TTaskDetail::getHandleType,1)
                .orderByDesc(TTaskDetail::getCreateTime));
        taskDetails = new ArrayList<>(taskDetails.stream()
                .collect(Collectors.groupingBy(
                        TTaskDetail::getTaskId,
                        Collectors.collectingAndThen(
                                Collectors.toList(),
                                listAll -> listAll.get(0)
                        )
                ))
                .values());
        for (TaskUserListVO taskUserListVO : list) {
            TTaskDetail tTaskDetail = taskDetails.stream().filter(e -> e.getTaskId().equals(taskUserListVO.getId()))
                    .findFirst().orElse(null);
            if (tTaskDetail!=null){
                if (tTaskDetail.getClearStatus()==1){
                    taskUserListVO.setStatus(5);
                }else{
                    taskUserListVO.setStatus(4);
                }
            }
            if (taskUserListVO.getDistance()!=null){
                taskUserListVO.setDistance(taskUserListVO.getDistance().divide(new BigDecimal("1000"),2, RoundingMode.HALF_DOWN));
            }else{
                taskUserListVO.setDistance(new BigDecimal("0"));
            }
        }
        pageInfo.setRecords(list);
        List<TaskUserListVO> res = new ArrayList<>();
        if (query.getClearStatus()!=null){
            for (TaskUserListVO taskUserListVO : list) {
                if (taskUserListVO.getClearStatus().equals(query.getClearStatus())){
                    res.add(taskUserListVO);
                }
            }
            pageInfo.setRecords(res);
            pageInfo.setTotal(res.size());
        }else{
            pageInfo.setRecords(list);
            pageInfo.setTotal(list.size());
        }
        return pageInfo;
    }
@@ -198,5 +233,15 @@
        return pageInfo;
    }
    @Override
    public List<TTask> indexTask(IndexDTO dto) {
        return this.baseMapper.indexTask(dto);
    }
    @Override
    public List<TTask> getTaskByIds(List<String> collect1,String lon,String lat) {
        return this.baseMapper.getTaskByIds(collect1,lon,lat);
    }
}