Browse Source

提交代码

zyh
zhanyunjiu 3 years ago
parent
commit
a2e22e1478
  1. 43
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/AreaController.java
  2. 16
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/dto/AreaProjectDTO.java
  3. 4
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/statistical/StatisticalController.java
  4. 9
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/dto/TaskPageDTO.java
  5. 2
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java
  6. 1
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskExcelVO.java
  7. 2
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskExportReqVO.java
  8. 2
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskPageReqVO.java
  9. 3
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/task/TaskDO.java
  10. 47
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/task/TaskMapper.java
  11. 3
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaService.java
  12. 63
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImpl.java
  13. 13
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java
  14. 67
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/task/TaskServiceImpl.java

43
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/AreaController.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/area/dto/AreaProjectDTO.java

@ -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;
}

4
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/statistical/StatisticalController.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/dto/TaskPageDTO.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskBaseVO.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskExcelVO.java

@ -49,6 +49,5 @@ public class TaskExcelVO {
private Date createTime;
@ExcelProperty("草稿")
private Boolean draft;
private Boolean pretendDelete;
}

2
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskExportReqVO.java

@ -63,6 +63,4 @@ public class TaskExportReqVO {
@ApiModelProperty("草稿")
private Boolean draft;
private Boolean pretendDelete;
}

2
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskPageReqVO.java

@ -70,8 +70,6 @@ public class TaskPageReqVO extends PageParam {
@ApiModelProperty("草稿")
private Boolean draft = false;
private Boolean pretendDelete = false;
private TaskStatus status;
@ApiModelProperty("参与状态 我参与 我创建 我负责")

3
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/task/TaskDO.java

@ -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;

47
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/task/TaskMapper.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaService.java

@ -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
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/area/AreaServiceImpl.java

@ -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;
}
}

13
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/project/ProjectServiceImpl.java

@ -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)
);

67
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/task/TaskServiceImpl.java

@ -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){

Loading…
Cancel
Save