后台任务列表搜索
This commit is contained in:
-8
@@ -106,14 +106,6 @@ public class TaskController {
|
|||||||
return success(pageResult);
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/pageSearch")
|
|
||||||
@ApiOperation("搜索条件获得农场项目分页")
|
|
||||||
public CommonResult<PageResult<TaskRespVO>> getTaskSearchPage(@Valid TaskPageSearchReqVO pageVO) {
|
|
||||||
PageResult<TaskDO> pageResult = taskService.getTaskSearchPage(pageVO);
|
|
||||||
return success(TaskConvert.INSTANCE.convertPage(pageResult));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/export-excel")
|
@GetMapping("/export-excel")
|
||||||
@ApiOperation("导出农场项目 Excel")
|
@ApiOperation("导出农场项目 Excel")
|
||||||
@PreAuthorize("@ss.hasPermission('farm:task:export')")
|
@PreAuthorize("@ss.hasPermission('farm:task:export')")
|
||||||
|
|||||||
+9
@@ -74,4 +74,13 @@ public class TaskPageReqVO extends PageParam {
|
|||||||
|
|
||||||
private Boolean myTask;
|
private Boolean myTask;
|
||||||
|
|
||||||
|
@ApiModelProperty("后台搜索区域子id")
|
||||||
|
private Long areaId;
|
||||||
|
|
||||||
|
@ApiModelProperty("后台搜索资源id")
|
||||||
|
private Long resourceId;
|
||||||
|
|
||||||
|
@ApiModelProperty("后台搜索执行人")
|
||||||
|
private Long executorName;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-2
@@ -33,8 +33,6 @@ public class TaskPageSearchReqVO extends PageParam {
|
|||||||
@ApiModelProperty("子区域列表")
|
@ApiModelProperty("子区域列表")
|
||||||
private List<Long> areas;
|
private List<Long> areas;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Long mainPerson;
|
private Long mainPerson;
|
||||||
private JSONArray executorPerson;
|
private JSONArray executorPerson;
|
||||||
private Integer workingHours;
|
private Integer workingHours;
|
||||||
@@ -72,4 +70,10 @@ public class TaskPageSearchReqVO extends PageParam {
|
|||||||
@ApiModelProperty("草稿")
|
@ApiModelProperty("草稿")
|
||||||
private Boolean draft;
|
private Boolean draft;
|
||||||
|
|
||||||
|
|
||||||
|
//后台条件查询
|
||||||
|
private String projectName;
|
||||||
|
|
||||||
|
private Long areaSonId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+69
@@ -0,0 +1,69 @@
|
|||||||
|
package cn.iocoder.yudao.module.farm.controller.admin.task.vo;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
|
||||||
|
@ApiModel("管理后台 - 农场项目分页 Request VO")
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
public class TaskSearchVO extends PageParam {
|
||||||
|
|
||||||
|
|
||||||
|
@ApiModelProperty("草稿")
|
||||||
|
private Boolean draft = false;
|
||||||
|
|
||||||
|
@ApiModelProperty("项目名")
|
||||||
|
private String projectId;
|
||||||
|
|
||||||
|
@ApiModelProperty("区域名")
|
||||||
|
private String areaId;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务父级名")
|
||||||
|
private Long taskCateId;
|
||||||
|
|
||||||
|
@ApiModelProperty("任务子级名")
|
||||||
|
private Long taskCateName;
|
||||||
|
|
||||||
|
@ApiModelProperty("资源名")
|
||||||
|
private Long resourceId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "优先级")
|
||||||
|
private Integer weight;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "开始")
|
||||||
|
private LocalDateTime beginPlanStartTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "结束")
|
||||||
|
private LocalDateTime endPlanStartTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "开始")
|
||||||
|
private LocalDateTime beginPlanEndTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "结束")
|
||||||
|
private LocalDateTime endPlanEndTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "开始")
|
||||||
|
private LocalDateTime beginCreateTime;
|
||||||
|
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
@ApiModelProperty(value = "结束")
|
||||||
|
private LocalDateTime endCreateTime;
|
||||||
|
|
||||||
|
}
|
||||||
+22
-5
@@ -2,10 +2,12 @@ package cn.iocoder.yudao.module.farm.dal.mysql.task;
|
|||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
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.mapper.BaseMapperX;
|
||||||
import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO;
|
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 org.apache.ibatis.annotations.Mapper;
|
||||||
import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
||||||
|
|
||||||
@@ -18,8 +20,22 @@ import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
|||||||
public interface TaskMapper extends BaseMapperX<TaskDO> {
|
public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||||
|
|
||||||
default PageResult<TaskDO> selectPage(TaskPageReqVO reqVO) {
|
default PageResult<TaskDO> selectPage(TaskPageReqVO reqVO) {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<TaskDO>()
|
LambdaQueryWrapperX<TaskDO> lambdaQueryWrapperX = new LambdaQueryWrapperX<TaskDO>();
|
||||||
.eqIfPresent(TaskDO::getProjectId, reqVO.getProjectId())
|
|
||||||
|
//搜索区域
|
||||||
|
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::getCropId, reqVO.getCropId())
|
||||||
.eqIfPresent(TaskDO::getCropNum, reqVO.getCropNum())
|
.eqIfPresent(TaskDO::getCropNum, reqVO.getCropNum())
|
||||||
.eqIfPresent(TaskDO::getTaskCateId, reqVO.getTaskCateId())
|
.eqIfPresent(TaskDO::getTaskCateId, reqVO.getTaskCateId())
|
||||||
@@ -32,7 +48,10 @@ public interface TaskMapper extends BaseMapperX<TaskDO> {
|
|||||||
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
||||||
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||||
.eqIfPresent(TaskDO::getPretendDelete, reqVO.getPretendDelete())
|
.eqIfPresent(TaskDO::getPretendDelete, reqVO.getPretendDelete())
|
||||||
.orderByDesc(TaskDO::getId));
|
.eqIfPresent(TaskDO::getMainPerson, reqVO.getMainPerson())
|
||||||
|
.orderByDesc(TaskDO::getId);
|
||||||
|
|
||||||
|
return selectPage(reqVO, lambdaQueryWrapperX);
|
||||||
}
|
}
|
||||||
|
|
||||||
default List<TaskDO> selectList(TaskExportReqVO reqVO) {
|
default List<TaskDO> selectList(TaskExportReqVO reqVO) {
|
||||||
@@ -53,6 +72,4 @@ public interface TaskMapper extends BaseMapperX<TaskDO> {
|
|||||||
.orderByDesc(TaskDO::getId));
|
.orderByDesc(TaskDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
List<TaskDO> getTaskSearchPage(TaskPageSearchReqVO reqVO);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
-8
@@ -65,14 +65,6 @@ public interface TaskService {
|
|||||||
|
|
||||||
PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO pageReqVO);
|
PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO pageReqVO);
|
||||||
|
|
||||||
/**
|
|
||||||
* 搜索条件获得农场项目分页
|
|
||||||
*
|
|
||||||
* @param pageReqVO 分页查询
|
|
||||||
* @return 农场项目分页
|
|
||||||
*/
|
|
||||||
PageResult<TaskDO> getTaskSearchPage(TaskPageSearchReqVO pageReqVO);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得农场项目列表, 用于 Excel 导出
|
* 获得农场项目列表, 用于 Excel 导出
|
||||||
*
|
*
|
||||||
|
|||||||
+1
-11
@@ -41,6 +41,7 @@ import com.zsw.base.R;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.util.ObjectUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -216,17 +217,6 @@ public class TaskServiceImpl implements TaskService {
|
|||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public PageResult<TaskDO> getTaskSearchPage(TaskPageSearchReqVO pageVO){
|
|
||||||
pageVO.setPageNo(pageVO.getPageNo() - 1);
|
|
||||||
List<TaskDO> list = taskMapper.getTaskSearchPage(pageVO);
|
|
||||||
PageResult<TaskDO> result = new PageResult<>();
|
|
||||||
result.setList(list);
|
|
||||||
result.setTotal(Long.valueOf(list.size()));
|
|
||||||
return result;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<TaskDO> getTaskList(TaskExportReqVO exportReqVO) {
|
public List<TaskDO> getTaskList(TaskExportReqVO exportReqVO) {
|
||||||
return taskMapper.selectList(exportReqVO);
|
return taskMapper.selectList(exportReqVO);
|
||||||
|
|||||||
@@ -9,31 +9,5 @@
|
|||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<select id="getTaskSearchPage" resultType="cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO">
|
|
||||||
SELECT t.* FROM farm_task t
|
|
||||||
INNER JOIN farm_resource r
|
|
||||||
ON JSON_CONTAINS(t.resources, CONVERT(r.id, CHAR))
|
|
||||||
AND 1 = 1
|
|
||||||
<if test="name != null and name != '' ">
|
|
||||||
AND t.name like concat('%', #{name}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="resources != null and resources != '' ">
|
|
||||||
AND r.name like concat('%', #{resources}, '%')
|
|
||||||
</if>
|
|
||||||
<if test="weight != null">
|
|
||||||
AND t.weight = #{weight}
|
|
||||||
</if>
|
|
||||||
<if test="beginPlanStartTime != null and endPlanStartTime != null">
|
|
||||||
AND t.plan_start_time <![CDATA[ >= ]]> #{beginPlanStartTime} AND t.plan_start_time <![CDATA[ <= ]]> #{endPlanStartTime}
|
|
||||||
</if>
|
|
||||||
<if test="beginPlanEndTime != null and endPlanEndTime != null">
|
|
||||||
AND t.plan_end_time <![CDATA[ >= ]]> #{beginPlanEndTime} AND t.plan_end_time <![CDATA[ <= ]]> #{endPlanEndTime}
|
|
||||||
</if>
|
|
||||||
<if test="beginCreateTime != null and endCreateTime != null">
|
|
||||||
AND t.create_time <![CDATA[ >= ]]> #{beginCreateTime} AND t.create_time <![CDATA[ <= ]]> #{endCreateTime}
|
|
||||||
</if>
|
|
||||||
GROUP BY t.id
|
|
||||||
LIMIT #{pageNo},#{pageSize}
|
|
||||||
</select>
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user