优化
This commit is contained in:
+10
-8
@@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.area.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Excel VO
|
||||
@@ -14,22 +13,25 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@Data
|
||||
public class AreaExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("区域名")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("父级")
|
||||
private Long parentId;
|
||||
|
||||
@ExcelProperty("面积")
|
||||
private Double area;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ExcelProperty
|
||||
private Boolean pretendDelete;
|
||||
|
||||
@ApiModelProperty("是否占用")
|
||||
@ExcelProperty("是否占用")
|
||||
private Boolean occupied;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ public class CropExcelVO {
|
||||
@ExcelProperty("当前库存")
|
||||
private Integer stock;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+5
-6
@@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.cropRecord.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Excel VO
|
||||
@@ -14,7 +13,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@Data
|
||||
public class CropRecordExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("物料id")
|
||||
@@ -29,7 +28,7 @@ public class CropRecordExcelVO {
|
||||
@ExcelProperty("剩余数量")
|
||||
private Integer afterStock;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+9
-7
@@ -15,29 +15,31 @@ import java.util.List;
|
||||
@Data
|
||||
public class DiscussExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("项目ID")
|
||||
private Long projectId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("任务ID")
|
||||
private Long taskId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("内容")
|
||||
private String content;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("图片")
|
||||
private List<String> images;
|
||||
|
||||
@ExcelProperty("区域")
|
||||
private List<Long> areas;
|
||||
|
||||
@ExcelProperty("作物数量")
|
||||
private Double cropNum;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("工时记录")
|
||||
private List<WorkHourBaseVO> workHourList;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+4
-4
@@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.logMsg.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Excel VO
|
||||
@@ -25,6 +24,7 @@ public class LogMsgExcelVO {
|
||||
@ExcelProperty("标题")
|
||||
private String title;
|
||||
|
||||
@ExcelProperty("内容")
|
||||
private String msg;
|
||||
|
||||
@ExcelProperty("用户id")
|
||||
|
||||
+3
-3
@@ -1,12 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.project.dto;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.page.PageDTO;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class ProjectPageDTO extends PageDTO {
|
||||
|
||||
@@ -25,4 +22,7 @@ public class ProjectPageDTO extends PageDTO {
|
||||
|
||||
@ApiModelProperty("true查看我参与的项目")
|
||||
private Boolean myProject;
|
||||
|
||||
@ApiModelProperty("一级区域的id")
|
||||
private Long areaId;
|
||||
}
|
||||
+10
-9
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.project.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.farm.enums.ProjectStateEnum;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -16,29 +15,31 @@ import java.util.List;
|
||||
@Data
|
||||
public class ProjectExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("项目名")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("内容")
|
||||
private String content;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("状态")
|
||||
private ProjectStateEnum state;
|
||||
|
||||
@ExcelProperty("区域")
|
||||
private List<Long> areas;
|
||||
|
||||
@ApiModelProperty("种植面积")
|
||||
@ExcelProperty("种植面积")
|
||||
private Double plantArea;
|
||||
|
||||
@ApiModelProperty("项目负责人")
|
||||
@ExcelProperty("项目负责人")
|
||||
private Long mainPerson;
|
||||
|
||||
@ApiModelProperty("项目成员")
|
||||
@ExcelProperty("项目成员")
|
||||
private List<Long> members;
|
||||
|
||||
@ExcelProperty("作物ID")
|
||||
private Long cropId;
|
||||
|
||||
@ExcelProperty("项目图片")
|
||||
@@ -62,7 +63,7 @@ public class ProjectExcelVO {
|
||||
@ExcelProperty("")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("草稿")
|
||||
@ExcelProperty("草稿")
|
||||
private Boolean draft;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+11
-3
@@ -1,9 +1,14 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.project.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ApiModel("管理后台 - 农场项目 Response VO")
|
||||
@Data
|
||||
@@ -20,4 +25,7 @@ public class ProjectRespVO extends ProjectBaseVO {
|
||||
@ApiModelProperty("项目的成员")
|
||||
private List<CpUserDO> userList;
|
||||
|
||||
@ApiModelProperty("项目负责人信息")
|
||||
private CpUserDO mainPersonMsg;
|
||||
|
||||
}
|
||||
|
||||
+8
-9
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.resource.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -15,22 +14,22 @@ import java.util.Date;
|
||||
@Data
|
||||
public class ResourceExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("资源父级Id")
|
||||
private Long resourceType;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("资源名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(value = "保管人id")
|
||||
@ExcelProperty(value = "保管人id")
|
||||
private Long custodianId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("内容")
|
||||
private String content;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("图片")
|
||||
private JSONArray images;
|
||||
|
||||
@ExcelProperty("")
|
||||
@@ -42,7 +41,7 @@ public class ResourceExcelVO {
|
||||
@ExcelProperty("唯一占用标识")
|
||||
private Boolean solo;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
@@ -51,7 +50,7 @@ public class ResourceExcelVO {
|
||||
|
||||
private Integer number;
|
||||
|
||||
@ApiModelProperty("是否占用")
|
||||
@ExcelProperty("是否占用")
|
||||
private Boolean occupied;
|
||||
|
||||
}
|
||||
|
||||
+6
-7
@@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.resourceType.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 农场资源分类 Excel VO
|
||||
@@ -14,13 +13,13 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@Data
|
||||
public class ResourceTypeExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("类型名")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+12
-20
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.task.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -16,47 +15,40 @@ import java.util.List;
|
||||
@Data
|
||||
public class TaskExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("项目id")
|
||||
private Long projectId;
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("作物id")
|
||||
private Long cropId;
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("作物数量")
|
||||
private Integer cropNum;
|
||||
|
||||
@ExcelProperty("任务类型")
|
||||
private Long taskCateId;
|
||||
@ExcelProperty("任务内容")
|
||||
private Long taskCateName;
|
||||
|
||||
@ExcelProperty(value = "任务所需资源")
|
||||
private JSONArray resources;
|
||||
@ExcelProperty("子区域列表")
|
||||
private List<Long> areas;
|
||||
|
||||
|
||||
@ExcelProperty("负责人")
|
||||
private Long mainPerson;
|
||||
@ExcelProperty("执行人")
|
||||
private List<Long> executorPerson;
|
||||
@ExcelProperty("工时")
|
||||
private Integer workingHours;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("图片")
|
||||
private List<String> images;
|
||||
|
||||
@ExcelProperty("")
|
||||
private Date planStartTime;
|
||||
|
||||
@ExcelProperty("")
|
||||
private Date planEndTime;
|
||||
|
||||
@ExcelProperty("优先级")
|
||||
private Integer weight;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ApiModelProperty("草稿")
|
||||
@ExcelProperty("草稿")
|
||||
private Boolean draft;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -88,4 +88,7 @@ public class TaskPageReqVO extends PageParam {
|
||||
@ApiModelProperty("后台搜索执行人")
|
||||
private Long executorName;
|
||||
|
||||
@ApiModelProperty("查看采收类型")
|
||||
private Boolean recovery;
|
||||
|
||||
}
|
||||
|
||||
+6
-5
@@ -1,7 +1,6 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -14,19 +13,21 @@ import java.util.Date;
|
||||
@Data
|
||||
public class TaskCateExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("父级id")
|
||||
private Long parentId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("任务名")
|
||||
private String name;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
@ExcelProperty("是否删除")
|
||||
private Boolean pretendDelete;
|
||||
|
||||
@ExcelProperty("任务单位")
|
||||
private String unit;
|
||||
|
||||
@ApiModelProperty("同步到erp")
|
||||
@ExcelProperty("同步到erp")
|
||||
private Boolean synchronizeErp;
|
||||
}
|
||||
|
||||
+10
-10
@@ -1,10 +1,9 @@
|
||||
package cn.iocoder.yudao.module.farm.controller.admin.workHour.vo;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Excel VO
|
||||
@@ -14,24 +13,25 @@ import com.alibaba.excel.annotation.ExcelProperty;
|
||||
@Data
|
||||
public class WorkHourExcelVO {
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("ID")
|
||||
private Long id;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("用户ID")
|
||||
private Integer userId;
|
||||
|
||||
@ExcelProperty("活动ID")
|
||||
private Long discussId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("项目ID")
|
||||
private Integer projectId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("任务Id")
|
||||
private Integer taskId;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("工时")
|
||||
private Integer hour;
|
||||
|
||||
@ExcelProperty("")
|
||||
@ExcelProperty("创建时间")
|
||||
private Date createTime;
|
||||
|
||||
private Boolean pretendDelete;
|
||||
|
||||
+6
-36
@@ -1,16 +1,12 @@
|
||||
package cn.iocoder.yudao.module.farm.dal.mysql.project;
|
||||
|
||||
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.module.farm.controller.admin.project.dto.ProjectPageDTO;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.project.vo.ProjectExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.project.ProjectDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.project.vo.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 农场项目 Mapper
|
||||
@@ -20,32 +16,6 @@ import cn.iocoder.yudao.module.farm.controller.admin.project.vo.*;
|
||||
@Mapper
|
||||
public interface ProjectMapper extends BaseMapperX<ProjectDO> {
|
||||
|
||||
default PageResult<ProjectDO> selectPage(ProjectPageReqVO reqVO) {
|
||||
LambdaQueryWrapperX<ProjectDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<ProjectDO>();
|
||||
//搜索执行人
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getExecutorName())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(members, '"+ reqVO.getExecutorName()+"')");
|
||||
}
|
||||
//区域
|
||||
if (ObjectUtil.isNotEmpty(reqVO.getAreaId())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(areas, '"+ reqVO.getAreaId()+"')");
|
||||
}
|
||||
lambdaQueryWrapperX.likeIfPresent(ProjectDO::getName, reqVO.getName())
|
||||
.eqIfPresent(ProjectDO::getContent, reqVO.getContent())
|
||||
.eqIfPresent(ProjectDO::getAreas, reqVO.getAreas())
|
||||
.eqIfPresent(ProjectDO::getCropId, reqVO.getCropId())
|
||||
.eqIfPresent(ProjectDO::getState, reqVO.getState())
|
||||
.eqIfPresent(ProjectDO::getImages, reqVO.getImages())
|
||||
.betweenIfPresent(ProjectDO::getPlanStartTime, reqVO.getBeginPlanStartTime(), reqVO.getEndPlanStartTime())
|
||||
.betweenIfPresent(ProjectDO::getPlanEndTime, reqVO.getBeginPlanEndTime(), reqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(ProjectDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(ProjectDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.eqIfPresent(ProjectDO::getPretendDelete, reqVO.getPretendDelete())
|
||||
.eqIfPresent(ProjectDO::getDraft, reqVO.getDraft())
|
||||
.orderByDesc(ProjectDO::getId);
|
||||
|
||||
return selectPage(reqVO,lambdaQueryWrapperX);
|
||||
}
|
||||
|
||||
default List<ProjectDO> selectList(ProjectExportReqVO reqVO) {
|
||||
return selectList(new LambdaQueryWrapperX<ProjectDO>()
|
||||
@@ -59,8 +29,8 @@ public interface ProjectMapper extends BaseMapperX<ProjectDO> {
|
||||
.betweenIfPresent(ProjectDO::getPlanEndTime, reqVO.getBeginPlanEndTime(), reqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(ProjectDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(ProjectDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.eqIfPresent(ProjectDO::getPretendDelete, reqVO.getPretendDelete())
|
||||
.eqIfPresent(ProjectDO::getDraft, reqVO.getDraft())
|
||||
.ne(ProjectDO::getPretendDelete, true)
|
||||
.ne(ProjectDO::getDraft, true)
|
||||
.orderByDesc(ProjectDO::getId));
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -83,4 +83,11 @@ public interface AreaService {
|
||||
*/
|
||||
void checkAreaOccupied();
|
||||
|
||||
/**
|
||||
* 根据区域id 获得本级及子集区域
|
||||
* eg: 传一级 返回一级及对应的二级三级区域
|
||||
* 传二级 返回二级及对应的三级区域
|
||||
*/
|
||||
List<AreaDO> getAreaAndSubArea(Long id);
|
||||
|
||||
}
|
||||
|
||||
+28
-3
@@ -16,9 +16,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
@@ -157,4 +155,31 @@ public class AreaServiceImpl implements AreaService {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据区域id 获得本级及子集区域
|
||||
* eg: 传一级 返回一级及对应的二级三级区域
|
||||
* 传二级 返回二级及对应的三级区域
|
||||
*/
|
||||
public List<AreaDO> getAreaAndSubArea(Long id){
|
||||
List<AreaDO> allList = areaMapper.selectList();
|
||||
Optional<AreaDO> parentArea = allList.stream().filter(item -> item.getId().equals(id)).findFirst();
|
||||
List<AreaDO> list = new ArrayList<>();
|
||||
if (parentArea.isPresent()){
|
||||
AreaDO areaDO = parentArea.get();
|
||||
//装入一级
|
||||
list.add(areaDO);
|
||||
List<AreaDO> sonList = allList.stream().filter(item -> item.getParentId().equals(areaDO.getId())).collect(Collectors.toList());
|
||||
if (ObjectUtil.isNotEmpty(sonList)){
|
||||
//装入二级
|
||||
list.addAll(sonList);
|
||||
sonList.forEach(item ->{
|
||||
//转入三级
|
||||
list.addAll(allList.stream().filter(son -> son.getParentId().equals(item.getId())).collect(Collectors.toList()));
|
||||
});
|
||||
}
|
||||
return list;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+43
-3
@@ -28,6 +28,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.CpUser.CpUserMapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.zsw.base.R;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
@@ -116,6 +117,8 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
public ProjectRespVO getProject(Long id) {
|
||||
ProjectDO projectDO = projectMapper.selectById(id);
|
||||
ProjectRespVO respVO = BeanUtil.copyProperties(projectDO, ProjectRespVO.class);
|
||||
CpUserDO mainUser = ObjectUtil.isEmpty(projectDO.getMainPerson()) ? null : cpUserMapper.selectById(projectDO.getMainPerson());
|
||||
respVO.setMainPersonMsg(mainUser);
|
||||
List<CpUserDO> userList = ObjectUtil.isEmpty(projectDO.getMembers()) ? new ArrayList<>() : cpUserMapper.selectList(CpUserDO::getId, projectDO.getMembers());
|
||||
respVO.setUserList(userList);
|
||||
return respVO;
|
||||
@@ -129,7 +132,31 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
@Override
|
||||
public PageResult<ProjectDO> getProjectPage(ProjectPageReqVO pageReqVO) {
|
||||
return projectMapper.selectPage(pageReqVO);
|
||||
LambdaQueryWrapperX<ProjectDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<ProjectDO>();
|
||||
//搜索执行人
|
||||
if (ObjectUtil.isNotEmpty(pageReqVO.getExecutorName())){
|
||||
lambdaQueryWrapperX.apply("JSON_CONTAINS(members, '"+ pageReqVO.getExecutorName()+"')");
|
||||
}
|
||||
//区域
|
||||
if (ObjectUtil.isNotEmpty(pageReqVO.getAreaId())){
|
||||
List<AreaDO> allAreaList = areaService.getAreaAndSubArea(pageReqVO.getAreaId());
|
||||
List<Long> allIdList = allAreaList.stream().map(AreaDO::getId).collect(Collectors.toList());
|
||||
lambdaQueryWrapperX.apply("JSON_OVERLAPS(areas, '"+ allIdList+"') = 1" );
|
||||
}
|
||||
lambdaQueryWrapperX.likeIfPresent(ProjectDO::getName, pageReqVO.getName())
|
||||
.eqIfPresent(ProjectDO::getContent, pageReqVO.getContent())
|
||||
.eqIfPresent(ProjectDO::getAreas, pageReqVO.getAreas())
|
||||
.eqIfPresent(ProjectDO::getCropId, pageReqVO.getCropId())
|
||||
.eqIfPresent(ProjectDO::getState, pageReqVO.getState())
|
||||
.eqIfPresent(ProjectDO::getImages, pageReqVO.getImages())
|
||||
.betweenIfPresent(ProjectDO::getPlanStartTime, pageReqVO.getBeginPlanStartTime(), pageReqVO.getEndPlanStartTime())
|
||||
.betweenIfPresent(ProjectDO::getPlanEndTime, pageReqVO.getBeginPlanEndTime(), pageReqVO.getEndPlanEndTime())
|
||||
.eqIfPresent(ProjectDO::getWeight, pageReqVO.getWeight())
|
||||
.betweenIfPresent(ProjectDO::getCreateTime, pageReqVO.getBeginCreateTime(), pageReqVO.getEndCreateTime())
|
||||
.eqIfPresent(ProjectDO::getPretendDelete, pageReqVO.getPretendDelete())
|
||||
.eqIfPresent(ProjectDO::getDraft, pageReqVO.getDraft())
|
||||
.orderByDesc(ProjectDO::getId);
|
||||
return projectMapper.selectPage(pageReqVO, lambdaQueryWrapperX);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -154,7 +181,6 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
//查看自己的草稿
|
||||
queryWrapperX.eqIfPresent(ProjectDO::getCreator, getLoginUserId());
|
||||
}
|
||||
|
||||
if (ObjectUtil.isNotEmpty(pageDTO.getMyProject()) && pageDTO.getMyProject()){
|
||||
CpUserDO user = cpUserMapper.selectOne(CpUserDO::getUserId, getLoginUser().getUsername());
|
||||
if (ObjectUtil.isNotEmpty(user)){
|
||||
@@ -162,6 +188,13 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
queryWrapperX.apply(" ((JSON_CONTAINS(members, '"+ user.getId()+"') or creator = " + getLoginUserId() +"))");
|
||||
}
|
||||
}
|
||||
//根据区域id展示
|
||||
if (ObjectUtil.isNotEmpty(pageDTO.getAreaId())){
|
||||
List<AreaDO> allAreaList = areaService.getAreaAndSubArea(pageDTO.getAreaId());
|
||||
List<Long> allIdList = allAreaList.stream().map(AreaDO::getId).collect(Collectors.toList());
|
||||
queryWrapperX.apply("JSON_OVERLAPS(areas, '"+ allIdList+"') = 1" );
|
||||
}
|
||||
|
||||
queryWrapperX.orderByDesc(ProjectDO::getId);
|
||||
|
||||
PageParam pageParam = new PageParam();
|
||||
@@ -263,6 +296,13 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
*/
|
||||
public void checkProjectAreas(ProjectDO projectDO){
|
||||
if (projectDO.getState().equals(ProjectStateEnum.STARTING)){
|
||||
ProjectDO old = projectMapper.selectById(projectDO.getId());
|
||||
|
||||
//区域没修改 跳过下面的检查
|
||||
if (CollectionUtils.isEqualCollection(projectDO.getAreas(), old.getAreas())){
|
||||
return;
|
||||
}
|
||||
|
||||
//检查项目所选区域是否占用
|
||||
List<AreaDO> areaList = areaService.getAreaList(projectDO.getAreas());
|
||||
List<AreaDO> occupiedList = areaList.stream().filter(item -> item.getOccupied()).collect(Collectors.toList());
|
||||
@@ -288,7 +328,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
//项目更改失败, 进行中的项目不可修改作物
|
||||
throw exception(PROJECT_STARTING_CANT_CHANGE_CROP);
|
||||
}
|
||||
if (!project.getAreas().equals(updateProject.getAreas())){
|
||||
if (!CollectionUtils.isEqualCollection(project.getAreas(), updateProject.getAreas())){
|
||||
//项目更改失败, 进行中的项目不可修改区域
|
||||
throw exception(PROJECT_STARTING_CANT_CHANGE_AREA);
|
||||
}
|
||||
|
||||
+14
-1
@@ -35,6 +35,7 @@ import cn.iocoder.yudao.module.farm.dal.mysql.taskCate.TaskCateMapper;
|
||||
import cn.iocoder.yudao.module.farm.enums.ProjectStateEnum;
|
||||
import cn.iocoder.yudao.module.farm.enums.TaskMemberEnum;
|
||||
import cn.iocoder.yudao.module.farm.enums.TaskStatus;
|
||||
import cn.iocoder.yudao.module.farm.service.taskCate.TaskCateService;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.CpUser.CpUserMapper;
|
||||
@@ -73,6 +74,8 @@ public class TaskServiceImpl implements TaskService {
|
||||
@Resource
|
||||
private TaskCateMapper taskCateMapper;
|
||||
@Resource
|
||||
private TaskCateService taskCateService;
|
||||
@Resource
|
||||
private CpUserService cpUserService;
|
||||
@Resource
|
||||
private ProjectMapper projectMapper;
|
||||
@@ -161,6 +164,15 @@ public class TaskServiceImpl implements TaskService {
|
||||
}
|
||||
}
|
||||
|
||||
//查看采收类型任务
|
||||
if (ObjectUtil.isNotEmpty(pageReqVO.getRecovery()) && pageReqVO.getRecovery()){
|
||||
List<TaskCateDO> taskCateList = taskCateService.getTaskRecovery();
|
||||
if (ObjectUtil.isNotEmpty(taskCateList)){
|
||||
List<Long> taskCateIdList = taskCateList.stream().map(TaskCateDO::getId).collect(Collectors.toList());
|
||||
queryWrapperX.inIfPresent(TaskDO::getTaskCateId, taskCateIdList);
|
||||
}
|
||||
}
|
||||
|
||||
queryWrapperX.eqIfPresent(TaskDO::getProjectId, pageReqVO.getProjectId())
|
||||
.eqIfPresent(TaskDO::getCropId, pageReqVO.getCropId())
|
||||
.eqIfPresent(TaskDO::getCropNum, pageReqVO.getCropNum())
|
||||
@@ -476,9 +488,10 @@ public class TaskServiceImpl implements TaskService {
|
||||
* 新增或修改检查任务所需资源数量
|
||||
*/
|
||||
public void checkTaskResourceNumber(TaskDO taskDO){
|
||||
List<ResourceDTO> resourceList = taskDO.getResources().toJavaList(ResourceDTO.class);
|
||||
// List<ResourceDTO> resourceList = taskDO.getResources().toJavaList(ResourceDTO.class);
|
||||
//任务状态更改成进行中 或 任务状态更改成完成
|
||||
if (taskDO.getStatus().equals(TaskStatus.STARTED) || taskDO.getStatus().equals(TaskStatus.COMPLETE)){
|
||||
List<ResourceDTO> resourceList = taskDO.getResources().toJavaList(ResourceDTO.class);
|
||||
for (ResourceDTO resourceDTO : resourceList) {
|
||||
ResourceDO resourceDO = resourceMapper.selectById(resourceDTO.getResourceId().get(1));
|
||||
//更改成进行中
|
||||
|
||||
+14
-4
@@ -1,10 +1,15 @@
|
||||
package cn.iocoder.yudao.module.farm.service.taskCate;
|
||||
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.*;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.taskCate.TaskCateDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateCreateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCatePageReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.taskCate.TaskCateDO;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务类型 Service 接口
|
||||
@@ -67,4 +72,9 @@ public interface TaskCateService {
|
||||
*/
|
||||
List<TaskCateDO> getTaskCateList(TaskCateExportReqVO exportReqVO);
|
||||
|
||||
/**
|
||||
* 获取所有采收类型任务类别
|
||||
*/
|
||||
List<TaskCateDO> getTaskRecovery();
|
||||
|
||||
}
|
||||
|
||||
+20
-9
@@ -1,19 +1,23 @@
|
||||
package cn.iocoder.yudao.module.farm.service.taskCate;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateCreateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateExportReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCatePageReqVO;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.TaskCateUpdateReqVO;
|
||||
import cn.iocoder.yudao.module.farm.convert.taskCate.TaskCateConvert;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.taskCate.TaskCateDO;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.taskCate.TaskCateMapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
import cn.iocoder.yudao.module.farm.controller.admin.taskCate.vo.*;
|
||||
import cn.iocoder.yudao.module.farm.dal.dataobject.taskCate.TaskCateDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
|
||||
import cn.iocoder.yudao.module.farm.convert.taskCate.TaskCateConvert;
|
||||
import cn.iocoder.yudao.module.farm.dal.mysql.taskCate.TaskCateMapper;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*;
|
||||
import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.TASK_CATE_NOT_EXISTS;
|
||||
|
||||
/**
|
||||
* 任务类型 Service 实现类
|
||||
@@ -82,4 +86,11 @@ public class TaskCateServiceImpl implements TaskCateService {
|
||||
return taskCateMapper.selectList(exportReqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有采收类型任务类别
|
||||
*/
|
||||
public List<TaskCateDO> getTaskRecovery(){
|
||||
return taskCateMapper.selectList(new LambdaQueryWrapper<TaskCateDO>().eq(TaskCateDO::getSynchronizeErp, true));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user