Browse Source

后台任务列表搜索

zyh
小久哥 3 years ago
parent
commit
e9fe435aef
  1. 8
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/TaskController.java
  2. 9
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskPageReqVO.java
  3. 8
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskPageSearchReqVO.java
  4. 69
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/vo/TaskSearchVO.java
  5. 27
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/mysql/task/TaskMapper.java
  6. 8
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/task/TaskService.java
  7. 12
      zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/task/TaskServiceImpl.java
  8. 26
      zsw-farm/zsw-farm-impl/src/main/resources/mapper/task/TaskMapper.xml

8
zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/task/TaskController.java

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

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

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

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

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

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

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

@ -65,14 +65,6 @@ public interface TaskService {
PageResult<TaskAssemblyDTO> getAdminTaskPage(TaskPageReqVO pageReqVO);
/**
* 搜索条件获得农场项目分页
*
* @param pageReqVO 分页查询
* @return 农场项目分页
*/
PageResult<TaskDO> getTaskSearchPage(TaskPageSearchReqVO pageReqVO);
/**
* 获得农场项目列表, 用于 Excel 导出
*

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

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

26
zsw-farm/zsw-farm-impl/src/main/resources/mapper/task/TaskMapper.xml

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

Loading…
Cancel
Save