后台任务列表搜索
This commit is contained in:
-8
@@ -106,14 +106,6 @@ public class TaskController {
|
||||
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")
|
||||
@ApiOperation("导出农场项目 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('farm:task:export')")
|
||||
|
||||
+9
@@ -74,4 +74,13 @@ public class TaskPageReqVO extends PageParam {
|
||||
|
||||
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("子区域列表")
|
||||
private List<Long> areas;
|
||||
|
||||
|
||||
|
||||
private Long mainPerson;
|
||||
private JSONArray executorPerson;
|
||||
private Integer workingHours;
|
||||
@@ -72,4 +70,10 @@ public class TaskPageSearchReqVO extends PageParam {
|
||||
@ApiModelProperty("草稿")
|
||||
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 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.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.*;
|
||||
|
||||
@@ -18,8 +20,22 @@ import cn.iocoder.yudao.module.farm.controller.admin.task.vo.*;
|
||||
public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||
|
||||
default PageResult<TaskDO> selectPage(TaskPageReqVO reqVO) {
|
||||
return selectPage(reqVO, new LambdaQueryWrapperX<TaskDO>()
|
||||
.eqIfPresent(TaskDO::getProjectId, reqVO.getProjectId())
|
||||
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())
|
||||
@@ -32,7 +48,10 @@ public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||
.eqIfPresent(TaskDO::getWeight, reqVO.getWeight())
|
||||
.betweenIfPresent(TaskDO::getCreateTime, reqVO.getBeginCreateTime(), reqVO.getEndCreateTime())
|
||||
.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) {
|
||||
@@ -53,6 +72,4 @@ public interface TaskMapper extends BaseMapperX<TaskDO> {
|
||||
.orderByDesc(TaskDO::getId));
|
||||
}
|
||||
|
||||
List<TaskDO> getTaskSearchPage(TaskPageSearchReqVO reqVO);
|
||||
|
||||
}
|
||||
|
||||
-8
@@ -65,14 +65,6 @@ public interface TaskService {
|
||||
|
||||
PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 搜索条件获得农场项目分页
|
||||
*
|
||||
* @param pageReqVO 分页查询
|
||||
* @return 农场项目分页
|
||||
*/
|
||||
PageResult<TaskDO> getTaskSearchPage(TaskPageSearchReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得农场项目列表, 用于 Excel 导出
|
||||
*
|
||||
|
||||
+1
-11
@@ -41,6 +41,7 @@ import com.zsw.base.R;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
@@ -216,17 +217,6 @@ public class TaskServiceImpl implements TaskService {
|
||||
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
|
||||
public List<TaskDO> getTaskList(TaskExportReqVO exportReqVO) {
|
||||
return taskMapper.selectList(exportReqVO);
|
||||
|
||||
@@ -9,31 +9,5 @@
|
||||
文档可见: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>
|
||||
|
||||
Reference in New Issue
Block a user