提交代码
This commit is contained in:
+24
-19
@@ -1,30 +1,30 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.area;
|
||||
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
import javax.validation.*;
|
||||
import javax.servlet.http.*;
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.dto.AreaProjectDTO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.*;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
|
||||
import cn.iocoder.yudao.module.farm.convert.area.AreaConvert;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
|
||||
import cn.iocoder.yudao.module.farm.service.area.AreaService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.Valid;
|
||||
import java.io.IOException;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||
|
||||
@Api(tags = "管理后台 - ")
|
||||
@RestController
|
||||
@@ -97,4 +97,9 @@ public class AreaController {
|
||||
ExcelUtils.write(response, ".xls", "数据", AreaExcelVO.class, datas);
|
||||
}
|
||||
|
||||
@GetMapping("/miniAreaProjectCount")
|
||||
@ApiOperation("小程序首页上方一级区域及自己计划准备中的数量")
|
||||
public CommonResult<List<AreaProjectDTO>> miniAreaProjectCount(){
|
||||
return success(areaService.miniAreaProjectCount());
|
||||
}
|
||||
}
|
||||
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.area.dto;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class AreaProjectDTO {
|
||||
private Long areaId;
|
||||
|
||||
private String areaName;
|
||||
|
||||
private Double area;
|
||||
|
||||
private Integer projectCount;
|
||||
}
|
||||
+2
-2
@@ -108,7 +108,7 @@ public class StatisticalController {
|
||||
* 项目数据
|
||||
*/
|
||||
public List<TaskDO> projectMsg(StatisticalVo vo){
|
||||
List<TaskDO> taskList = taskMapper.selectList(Wrappers.<TaskDO>lambdaQuery().eq(TaskDO::getPretendDelete, false).eq(TaskDO::getDraft, false));
|
||||
List<TaskDO> taskList = taskMapper.selectList(Wrappers.<TaskDO>lambdaQuery().ne(TaskDO::getStatus, TaskStatus.END.getCode()).eq(TaskDO::getDraft, false));
|
||||
vo.setTaskTotalCount(taskList.size());
|
||||
Long planeCount = taskList.stream().filter(plane -> plane.getStatus().equals(TaskStatus.PLAN) || plane.getStatus().equals(TaskStatus.READY)).count();
|
||||
vo.setTaskPlanCount(planeCount.intValue());
|
||||
@@ -162,7 +162,7 @@ public class StatisticalController {
|
||||
vo.setCakeSeries(cakeList);
|
||||
}
|
||||
vo.setCakeTitle("总数量");
|
||||
vo.setCakeSubtitle(vo.getCakeSeries().stream().mapToDouble(CakeSeries::getValue).sum()+"平方");
|
||||
vo.setCakeSubtitle(vo.getCakeSeries().stream().mapToDouble(CakeSeries::getValue).sum()+"亩");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-9
@@ -1,9 +0,0 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.task.dto;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.page.PageDTO;
|
||||
|
||||
/**
|
||||
* @Created by jiu on 2022/6/15.
|
||||
*/
|
||||
public class TaskPageDTO extends PageDTO {
|
||||
}
|
||||
-2
@@ -66,8 +66,6 @@ public class TaskBaseVO extends BaseDO {
|
||||
@ApiModelProperty("草稿")
|
||||
private Boolean draft = false;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
private Map<String, Boolean> actions;
|
||||
public Map<String, Boolean> getActions() {
|
||||
actions = Maps.newHashMap();
|
||||
|
||||
-1
@@ -49,6 +49,5 @@ public class TaskExcelVO {
|
||||
private Date createTime;
|
||||
@ExcelProperty("草稿")
|
||||
private Boolean draft;
|
||||
private Boolean pretendDelete;
|
||||
|
||||
}
|
||||
|
||||
-2
@@ -63,6 +63,4 @@ public class TaskExportReqVO {
|
||||
@ApiModelProperty("草稿")
|
||||
private Boolean draft;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
}
|
||||
|
||||
-2
@@ -70,8 +70,6 @@ public class TaskPageReqVO extends PageParam {
|
||||
@ApiModelProperty("草稿")
|
||||
private Boolean draft = false;
|
||||
|
||||
private Boolean pretendDelete = false;
|
||||
|
||||
private TaskStatus status;
|
||||
|
||||
@ApiModelProperty("参与状态 我参与 我创建 我负责")
|
||||
|
||||
-3
@@ -90,9 +90,6 @@ public class TaskDO extends BaseDO {
|
||||
@ApiModelProperty("草稿")
|
||||
private Boolean draft;
|
||||
|
||||
@ApiModelProperty("假装删除")
|
||||
private Boolean pretendDelete;
|
||||
|
||||
@ApiModelProperty("部门Id")
|
||||
@Dict(dictTable = "system_dept",dicCode = "id",dicText = "name")
|
||||
private Long deptId;
|
||||
|
||||
+4
-43
@@ -1,15 +1,12 @@
|
||||
package cn.iocoder.yudao.module.farm.dal.mysql.task;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.task.vo.TaskExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 农场项目 Mapper
|
||||
@@ -19,41 +16,6 @@ import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
||||
@Mapper
|
||||
public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||
|
||||
default PageResult<TaskDO> selectPage(TaskPageReqVO reqVO) {
|
||||
LambdaQueryWrapperX<TaskDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<TaskDO>();
|
||||
|
||||
//搜索区域
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getAreaId())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(areas, '"+ reqVO.getAreaId()+"')");
|
||||
}
|
||||
//搜索资源
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getResourceId())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(resources, JSON_OBJECT('resourceId'," +reqVO.getResourceId()+"))");
|
||||
}
|
||||
//搜索执行人
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getExecutorName())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(executor_person, '"+ reqVO.getExecutorName()+"')");
|
||||
}
|
||||
|
||||
lambdaQueryWrapperX.eqIfPresent(TaskDO::getProjectId, reqVO.getProjectId())
|
||||
.eqIfPresent(TaskDO::getCropId, reqVO.getCropId())
|
||||
.eqIfPresent(TaskDO::getCropNum, reqVO.getCropNum())
|
||||
.eqIfPresent(TaskDO::getTaskCateId, reqVO.getTaskCateId())
|
||||
.eqIfPresent(TaskDO::getTaskCateName, reqVO.getTaskCateName())
|
||||
.eqIfPresent(TaskDO::getResources, reqVO.getResources())
|
||||
.eqIfPresent(TaskDO::getImages, reqVO.getImages())
|
||||
.eqIfPresent(TaskDO::getDraft, reqVO.getDraft())
|
||||
.betweenIfPresent(TaskDO::getPlanStartTime, reqVO.getBeginPlanStartTime(), reqVO.getEndPlanStartTime())
|
||||
.betweenIfPresent(TaskDO::getPlanEndTime, reqVO.getBeginPlanEndTime(), reqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.eqIfPresent(TaskDO::getPretendDelete, reqVO.getPretendDelete())
|
||||
.eqIfPresent(TaskDO::getMainPerson, reqVO.getMainPerson())
|
||||
.orderByDesc(TaskDO::getId);
|
||||
|
||||
return selectPage(reqVO, lambdaQueryWrapperX);
|
||||
}
|
||||
|
||||
default List<TaskDO> selectList(TaskExportReqVO reqVO) {
|
||||
return selectList(new LambdaQueryWrapperX<TaskDO>()
|
||||
.eqIfPresent(TaskDO::getProjectId, reqVO.getProjectId())
|
||||
@@ -68,7 +30,6 @@ public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||
.betweenIfPresent(TaskDO::getPlanEndTime, reqVO.getBeginPlanEndTime(), reqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.eqIfPresent(TaskDO::getPretendDelete, reqVO.getPretendDelete())
|
||||
.orderByDesc(TaskDO::getId));
|
||||
}
|
||||
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package cn.iocoder.yudao.module.farm.service.area;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.dto.AreaProjectDTO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaCreateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaPageReqVO;
|
||||
@@ -90,4 +91,6 @@ public interface AreaService {
|
||||
*/
|
||||
List<AreaDO> getAreaAndSubArea(Long id);
|
||||
|
||||
List<AreaProjectDTO> miniAreaProjectCount();
|
||||
|
||||
}
|
||||
|
||||
+63
@@ -2,13 +2,19 @@ package cn.iocoder.yudao.module.farm.service.area;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.dto.AreaProjectDTO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaCreateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaPageReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.area.vo.AreaUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.convert.area.AreaConvert;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.project.ProjectMapper;
|
||||
import cn.iocoder.yudao.module.farm.enums.ProjectStateEnum;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.CpUser.CpUserMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
@@ -23,6 +29,7 @@ import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.AREA_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
@@ -37,6 +44,10 @@ public class AreaServiceImpl implements AreaService {
|
||||
|
||||
@Resource
|
||||
private AreaMapper areaMapper;
|
||||
@Resource
|
||||
private CpUserMapper cpUserMapper;
|
||||
@Resource
|
||||
private ProjectMapper projectMapper;
|
||||
|
||||
@Override
|
||||
public Long createArea(AreaCreateReqVO createReqVO) {
|
||||
@@ -184,4 +195,56 @@ public class AreaServiceImpl implements AreaService {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<AreaProjectDTO> miniAreaProjectCount(){
|
||||
List<AreaDO> allList = areaMapper.selectList();
|
||||
List<AreaProjectDTO> areaProjectList = new ArrayList<>();
|
||||
|
||||
CpUserDO user = cpUserMapper.selectOne(CpUserDO::getUserId, getLoginUser().getUsername());
|
||||
List<ProjectDO> projectList = new ArrayList<>();
|
||||
if (ObjectUtil.isNotEmpty(user)){
|
||||
projectList = projectMapper.selectList(Wrappers.<ProjectDO>lambdaQuery().eq(ProjectDO::getDraft, false)
|
||||
.eq(ProjectDO::getPretendDelete, false).in(ProjectDO::getState, ProjectStateEnum.STARTING.getCode(), ProjectStateEnum.PLAN.getCode())
|
||||
.eq(ProjectDO::getMainPerson, user.getId()));
|
||||
System.out.println(projectList.size());
|
||||
}
|
||||
|
||||
List<AreaDO> oneList = allList.stream().filter(item -> item.getParentId().equals(0L)).collect(Collectors.toList());
|
||||
for (AreaDO oneArea : oneList) {
|
||||
//存放一级及对应二三级区域信息
|
||||
List<AreaDO> areaList = new ArrayList<>();
|
||||
areaList.add(oneArea);
|
||||
|
||||
List<AreaDO> secondList = allList.stream().filter(item -> item.getParentId().equals(oneArea.getId())).collect(Collectors.toList());
|
||||
areaList.addAll(secondList);
|
||||
for (AreaDO twoArea : secondList) {
|
||||
List<AreaDO> thirdList = allList.stream().filter(item -> item.getParentId().equals(twoArea.getId())).collect(Collectors.toList());
|
||||
areaList.addAll(thirdList);
|
||||
}
|
||||
|
||||
List<Long> distinctIdList = areaList.stream().map(AreaDO::getId).distinct().collect(Collectors.toList());
|
||||
System.out.println(oneArea.getName() +",,"+ secondList.size()+">>>>" + distinctIdList.toString());
|
||||
AreaProjectDTO areaProject = AreaProjectDTO.builder()
|
||||
.areaId(oneArea.getId())
|
||||
.areaName(oneArea.getName())
|
||||
.area(oneArea.getArea())
|
||||
.projectCount(0)
|
||||
.build();
|
||||
|
||||
if (ObjectUtil.isNotEmpty(projectList)){
|
||||
for (ProjectDO project : projectList) {
|
||||
List<Long> countList = project.getAreas().stream().filter(distinctIdList::contains).collect(Collectors.toList());
|
||||
if (ObjectUtil.isNotEmpty(countList)){
|
||||
areaProject.setProjectCount(areaProject.getProjectCount() + 1) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
areaProjectList.add(areaProject);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return areaProjectList;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+11
-2
@@ -206,7 +206,16 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
return queryWrapperX.eq(ProjectDO::getCropId, 99999L);
|
||||
}
|
||||
}
|
||||
queryWrapperX.eqIfPresent(ProjectDO::getState, pageDTO.getState());
|
||||
if (ObjectUtil.isNotEmpty(pageDTO.getState())){
|
||||
if (pageDTO.getState() == 13){
|
||||
//查看 计划中进行中
|
||||
queryWrapperX.lt(ProjectDO::getState, ProjectStateEnum.FINISH.getCode());
|
||||
}else{
|
||||
//按给定状态查看
|
||||
queryWrapperX.eqIfPresent(ProjectDO::getState, pageDTO.getState());
|
||||
}
|
||||
}
|
||||
|
||||
queryWrapperX.likeIfPresent(ProjectDO::getName, pageDTO.getProjectName());
|
||||
queryWrapperX.eq(ProjectDO::getPretendDelete, false);
|
||||
if (ObjectUtil.isNotEmpty(pageDTO.getTimeLimit())){
|
||||
@@ -308,7 +317,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
public void checkProjectTaskFinish(ProjectDO updateObj){
|
||||
List<TaskDO> taskList = taskMapper.selectList(Wrappers.<TaskDO>lambdaQuery()
|
||||
.eq(TaskDO::getProjectId, updateObj.getId())
|
||||
.eq(TaskDO::getPretendDelete, false)
|
||||
.ne(TaskDO::getStatus, TaskStatus.END.getCode())
|
||||
.eq(TaskDO::getDraft, false)
|
||||
.ne(TaskDO::getStatus, TaskStatus.COMPLETE)
|
||||
);
|
||||
|
||||
+57
-10
@@ -62,6 +62,7 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||
import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
|
||||
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*;
|
||||
|
||||
@@ -141,7 +142,7 @@ public class TaskServiceImpl implements TaskService {
|
||||
// 校验存在
|
||||
TaskDO taskDO = this.validateTaskExists(id);
|
||||
// 删除
|
||||
taskDO.setPretendDelete(true);
|
||||
taskDO.setStatus(TaskStatus.END);
|
||||
taskMapper.updateById(taskDO);
|
||||
}
|
||||
|
||||
@@ -204,7 +205,6 @@ public class TaskServiceImpl implements TaskService {
|
||||
.betweenIfPresent(TaskDO::getPlanEndTime, pageReqVO.getBeginPlanEndTime(), pageReqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(TaskDO::getWeight, pageReqVO.getWeight())
|
||||
.betweenIfPresent(TaskDO::getCreateTime, pageReqVO.getBeginCreateTime(), pageReqVO.getEndCreateTime())
|
||||
.eqIfPresent(TaskDO::getPretendDelete, pageReqVO.getPretendDelete())
|
||||
.eqIfPresent(TaskDO::getStatus, pageReqVO.getStatus())
|
||||
.orderByDesc(TaskDO::getId);
|
||||
|
||||
@@ -220,14 +220,50 @@ public class TaskServiceImpl implements TaskService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO pageReqVO){
|
||||
PageResult<TaskDO> taskPage = taskMapper.selectPage(pageReqVO);
|
||||
public PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO reqVO){
|
||||
LambdaQueryWrapperX<TaskDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<TaskDO>();
|
||||
|
||||
//搜索区域
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getAreaId())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(areas, '"+ reqVO.getAreaId()+"')");
|
||||
}
|
||||
//搜索资源
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getResourceId())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(resources, JSON_OBJECT('resourceId'," +reqVO.getResourceId()+"))");
|
||||
}
|
||||
//搜索执行人
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getExecutorName())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(executor_person, '"+ reqVO.getExecutorName()+"')");
|
||||
}
|
||||
//自己创建和负责的任务
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getMyTask()) && reqVO.getMyTask()){
|
||||
CpUserDO user = cpUserMapper.selectOne(CpUserDO::getUserId, getLoginUser().getUsername());
|
||||
if (ObjectUtil.isNotEmpty(user)){
|
||||
//查看我负责或创建的任务
|
||||
lambdaQueryWrapperX.apply(" ( main_person = "+ user.getId() +" or creator = " + getLoginUserId() +")");
|
||||
}
|
||||
lambdaQueryWrapperX.ne(TaskDO::getStatus, TaskStatus.END.getCode());
|
||||
}
|
||||
|
||||
lambdaQueryWrapperX.eqIfPresent(TaskDO::getProjectId, reqVO.getProjectId())
|
||||
.eqIfPresent(TaskDO::getCropId, reqVO.getCropId())
|
||||
.eqIfPresent(TaskDO::getTaskCateId, reqVO.getTaskCateId())
|
||||
.eqIfPresent(TaskDO::getTaskCateName, reqVO.getTaskCateName())
|
||||
.eqIfPresent(TaskDO::getDraft, reqVO.getDraft())
|
||||
.betweenIfPresent(TaskDO::getPlanStartTime, reqVO.getBeginPlanStartTime(), reqVO.getEndPlanStartTime())
|
||||
.betweenIfPresent(TaskDO::getPlanEndTime, reqVO.getBeginPlanEndTime(), reqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.eqIfPresent(TaskDO::getStatus, reqVO.getStatus())
|
||||
.eqIfPresent(TaskDO::getMainPerson, reqVO.getMainPerson())
|
||||
.orderByDesc(TaskDO::getId);
|
||||
|
||||
PageResult<TaskDO> taskPage = taskMapper.selectPage(reqVO, lambdaQueryWrapperX);
|
||||
Map<Long, TaskAssemblyDTO> map = this.taskAssemble(taskPage.getList());
|
||||
List<TaskAssemblyDTO> list = new ArrayList<>(map.values()).stream().sorted(Comparator.comparing(TaskAssemblyDTO::getId).reversed()).collect(Collectors.toList());
|
||||
PageResult<TaskAssemblyDTO> page = new PageResult<>();
|
||||
page.setList(list);
|
||||
page.setTotal(taskPage.getTotal());
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
@@ -459,16 +495,16 @@ public class TaskServiceImpl implements TaskService {
|
||||
if (ObjectUtil.isNotEmpty(userId)){
|
||||
//我创建
|
||||
taskSummaryDTO.setCreateCount(taskMapper.selectCount(
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getCreator, userId).eq(TaskDO::getDraft, false).eq(TaskDO::getPretendDelete, false)).intValue());
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getCreator, userId).eq(TaskDO::getDraft, false).ne(TaskDO::getStatus, TaskStatus.END.getCode())).intValue());
|
||||
AdminUserDO adminUser = adminUserMapper.selectOne(AdminUserDO::getId, userId);
|
||||
CpUserDO cpUser = cpUserMapper.selectOne(CpUserDO::getUserId, adminUser.getCpUserId());
|
||||
//我负责的
|
||||
taskSummaryDTO.setResponsibleCount(taskMapper.selectCount(
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getMainPerson, cpUser.getId()).eq(TaskDO::getDraft, false).eq(TaskDO::getPretendDelete, false)).intValue());
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getMainPerson, cpUser.getId()).eq(TaskDO::getDraft, false).ne(TaskDO::getStatus, TaskStatus.END.getCode())).intValue());
|
||||
//我参与的
|
||||
//queryWrapperX.apply(" ((JSON_CONTAINS(members, '"+ user.getId()+"') or creator = " + getLoginUserId() +"))");
|
||||
taskSummaryDTO.setJoinCount(taskMapper.selectCount(
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getDraft, false).eq(TaskDO::getPretendDelete, false).apply(("JSON_CONTAINS(executor_person, '"+ cpUser.getId()+"')"))).intValue());
|
||||
new LambdaQueryWrapper<TaskDO>().eq(TaskDO::getDraft, false).ne(TaskDO::getStatus, TaskStatus.END.getCode()).apply(("JSON_CONTAINS(executor_person, '"+ cpUser.getId()+"')"))).intValue());
|
||||
|
||||
}
|
||||
|
||||
@@ -479,8 +515,15 @@ public class TaskServiceImpl implements TaskService {
|
||||
public List<Map<String, String>> whatDayHaveTask(Long projectId){
|
||||
LambdaQueryWrapperX<TaskDO> queryWrapperX = new LambdaQueryWrapperX<>();
|
||||
queryWrapperX.ne(TaskDO::getDraft, true);
|
||||
queryWrapperX.ne(TaskDO::getPretendDelete, true);
|
||||
queryWrapperX.ne(TaskDO::getStatus, TaskStatus.END.getCode());
|
||||
queryWrapperX.eqIfPresent(TaskDO::getProjectId, projectId);
|
||||
|
||||
CpUserDO user = cpUserMapper.selectOne(CpUserDO::getUserId, getLoginUser().getUsername());
|
||||
if (ObjectUtil.isNotEmpty(user)){
|
||||
//查看我负责或创建的任务
|
||||
queryWrapperX.apply(" ( main_person = "+ user.getId() +" or creator = " + getLoginUserId() +")");
|
||||
}
|
||||
|
||||
List<TaskDO> taskList = taskMapper.selectList(queryWrapperX);
|
||||
List<Map<String, String>> list = new ArrayList<>();
|
||||
if (ObjectUtil.isEmpty(taskList)){
|
||||
@@ -573,6 +616,10 @@ public class TaskServiceImpl implements TaskService {
|
||||
* @param task 任务实体
|
||||
*/
|
||||
public void checkStateByExecutionTime(TaskDO task){
|
||||
if (ObjectUtil.isNotEmpty(task.getStatus()) && task.getStatus().equals(TaskStatus.END)){
|
||||
task.setStatus(TaskStatus.END);
|
||||
return;
|
||||
}
|
||||
if (task.getPlanStartTime() != null){
|
||||
FarmTimeEnum timeEnum = FarmTimeUtil.checkingDate(task.getPlanStartTime());
|
||||
if (timeEnum.equals(FarmTimeEnum.BEFORE_TODAY)){
|
||||
@@ -596,7 +643,7 @@ public class TaskServiceImpl implements TaskService {
|
||||
Boolean oldIgnore = TenantContextHolder.isIgnore();
|
||||
try {
|
||||
TenantContextHolder.setIgnore(true);
|
||||
List<TaskDO> taskList = taskMapper.selectList(Wrappers.<TaskDO>lambdaQuery().ne(TaskDO::getDraft, true).eq(TaskDO::getPretendDelete, false)
|
||||
List<TaskDO> taskList = taskMapper.selectList(Wrappers.<TaskDO>lambdaQuery().ne(TaskDO::getDraft, true).ne(TaskDO::getStatus, TaskStatus.END.getCode())
|
||||
.in(TaskDO::getStatus, TaskStatus.PLAN.getCode(), TaskStatus.READY.getCode())
|
||||
.like(TaskDO::getPlanStartTime, LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
|
||||
if (taskList.size() != 0){
|
||||
|
||||
Reference in New Issue
Block a user