fix 79296 流程中心-排序都是按照时间正序排列的,建议倒序排列

This commit is contained in:
lijiarao
2024-01-12 11:16:08 +08:00
parent 76d2815f0e
commit fa8b450e2c
5 changed files with 51 additions and 30 deletions
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
import java.util.Objects;
/**
* @author liJiaRao
@@ -56,7 +57,7 @@ public class WorkCenterController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll, false);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
queryWrapper.eq("par.user_id",userId);
@@ -64,7 +65,7 @@ public class WorkCenterController {
queryWrapper.ne("pa.prc_status", ProcessStatusEnum.WITHDRAWN.getValue());
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
IPage<ProcessAll> todoList = processAllService.getTodoList(page, queryWrapper);
IPage<ProcessAll> todoList = processAllService.getTodoList(page, queryWrapper, req);
return Result.OK(todoList);
}
@@ -74,14 +75,14 @@ public class WorkCenterController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll,true);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
queryWrapper.eq("par.user_id",userId);
queryWrapper.eq("par.finish_flag",FinishFlagEnum.COMPLETE.getValue());
queryWrapper.ne("pa.prc_status", ProcessStatusEnum.WITHDRAWN.getValue());
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
IPage<ProcessAll> completedList = processAllService.getCompletedList(page, queryWrapper);
IPage<ProcessAll> completedList = processAllService.getCompletedList(page, queryWrapper, req);
return Result.OK(completedList);
}
@@ -91,14 +92,14 @@ public class WorkCenterController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll, true);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId();
queryWrapper.eq("pa.create_user_id",userId);
queryWrapper.ne("pa.prc_status", ProcessStatusEnum.WITHDRAWN.getValue());
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
IPage<ProcessAll> sentList = processAllService.getSentList(page, queryWrapper);
IPage<ProcessAll> sentList = processAllService.getSentList(page, queryWrapper, req);
return Result.OK(sentList);
}
@@ -108,10 +109,10 @@ public class WorkCenterController {
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll, true);
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
IPage<ProcessAll> sentList = processAllService.getAllList(page, queryWrapper);
IPage<ProcessAll> sentList = processAllService.getAllList(page, queryWrapper, req);
return Result.OK(sentList);
}
@@ -148,7 +149,7 @@ public class WorkCenterController {
}
@NotNull
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll) {
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll, boolean groupBy) {
String prcName = processAll.getPrcName();
String prcNum = processAll.getPrcNum();
Integer prcType = processAll.getPrcType();
@@ -158,8 +159,7 @@ public class WorkCenterController {
queryWrapper.like(StringUtils.isNotBlank(prcNum), "pa.prc_num", "%" + prcNum + "%");
queryWrapper.eq(prcType != null, "pa.prc_type", prcType);
queryWrapper.eq(prcStatus != null, "pa.prc_status", prcStatus);
queryWrapper.groupBy(groupBy, "pa.id");
return queryWrapper;
}
@@ -14,11 +14,11 @@ import org.apache.ibatis.annotations.Param;
*@date 2023-10-16 15:49
*/
public interface ProcessAllMapper extends BaseMapper<ProcessAll> {
IPage<ProcessAll> getTodoList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
IPage<ProcessAll> getTodoList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper, @Param("column") String column, @Param("order") String order);
IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper, @Param("column") String column, @Param("order") String order);
IPage<ProcessAll> getSentList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
IPage<ProcessAll> getSentList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper, @Param("column") String column, @Param("order") String order);
IPage<ProcessAll> getAllList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper);
IPage<ProcessAll> getAllList(Page<ProcessAll> page, @Param(Constants.WRAPPER) QueryWrapper<ProcessAll> queryWrapper, @Param("column") String column, @Param("order") String order);
}
@@ -1,11 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.activiti.mapper.ProcessAllMapper">
<sql id="order">
<!--@sql select create_time as receivedTaskTime from process_all -->
<if test="column == 'receivedTaskTime'">
order by receivedTaskTime
<if test="order == 'desc'">
desc
</if>
</if>
</sql>
<select id="getTodoList" resultType="com.jero.modules.activiti.entity.ProcessAll">
select pa.*,par.create_time as receivedTaskTime,par.task_id,par.task_name, par.node_id
from process_all pa
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
${ew.customSqlSegment}
<include refid="order"/>
</select>
<select id="getCompletedList" resultType="com.jero.modules.activiti.entity.ProcessAll">
@@ -18,12 +28,12 @@
from process_all pa
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
${ew.customSqlSegment}
group by pa.id
) p
LEFT JOIN (
SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1
) par ON p.process_instance_id = par.process_instance_id
group by p.process_instance_id
<include refid="order"/>
</select>
<select id="getSentList" resultType="com.jero.modules.activiti.entity.ProcessAll">
@@ -33,12 +43,12 @@
from process_all pa
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
${ew.customSqlSegment}
group by pa.id
) p
LEFT JOIN (
SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1
) par ON p.process_instance_id = par.process_instance_id
group by p.process_instance_id
<include refid="order"/>
</select>
<select id="getAllList" resultType="com.jero.modules.activiti.entity.ProcessAll">
@@ -48,11 +58,11 @@
from process_all pa
left join process_approval_record par on pa.process_instance_id = par.process_instance_id
${ew.customSqlSegment}
group by pa.id
) p
LEFT JOIN (
SELECT user_id,process_instance_id from process_approval_record WHERE finish_flag = 1
) par ON p.process_instance_id = par.process_instance_id
group by p.process_instance_id
<include refid="order"/>
</select>
</mapper>
@@ -35,6 +35,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@@ -74,16 +75,28 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
return this.getOne(wrapper);
}
public IPage<ProcessAll> getTodoList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
return processAllMapper.getTodoList(page,queryWrapper);
public IPage<ProcessAll> getTodoList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
String column = req.getParameter("column");
String order = req.getParameter("order");
return processAllMapper.getTodoList(page,queryWrapper,column,order);
}
public IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
return processAllMapper.getCompletedList(page,queryWrapper);
public IPage<ProcessAll> getCompletedList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
String column = req.getParameter("column");
String order = req.getParameter("order");
return processAllMapper.getCompletedList(page,queryWrapper,column,order);
}
public IPage<ProcessAll> getSentList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
return processAllMapper.getSentList(page,queryWrapper);
public IPage<ProcessAll> getSentList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
String column = req.getParameter("column");
String order = req.getParameter("order");
return processAllMapper.getSentList(page,queryWrapper,column,order);
}
public IPage<ProcessAll> getAllList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper, HttpServletRequest req) {
String column = req.getParameter("column");
String order = req.getParameter("order");
return processAllMapper.getAllList(page,queryWrapper,column,order);
}
@Transactional(rollbackFor = Exception.class)
public void forcedWithdrawal(String processInstanceId) {
@@ -125,10 +138,6 @@ public class ProcessAllService extends ServiceImpl<ProcessAllMapper, ProcessAll>
//todo 同步删除操作到统一待办
}
public IPage<ProcessAll> getAllList(Page<ProcessAll> page, QueryWrapper<ProcessAll> queryWrapper) {
return processAllMapper.getAllList(page,queryWrapper);
}
public void delegateTask(DelegateTaskParam param) {
String taskId = param.getTaskId();
String userId = param.getUserId();
@@ -28,6 +28,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* @Description: 待办任务
* @Author: jero-boot
@@ -53,7 +55,7 @@ public class LawsHomeBacklogTask {
@AutoLog(value = "待办任务-列表查询")
@ApiOperation(value="待办任务-列表查询", notes="快捷入口-列表查询")
@GetMapping(value = "/queryBacklogTaskList")
public Result<IPage<ProcessAll>> getTodoList(ProcessAll processAll) {
public Result<IPage<ProcessAll>> getTodoList(ProcessAll processAll, HttpServletRequest req) {
ProcessAllService processAllService = applicationContext.getBean(ProcessAllService.class);
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -63,7 +65,7 @@ public class LawsHomeBacklogTask {
queryWrapper.ne("pa.prc_status", ProcessStatusEnum.WITHDRAWN.getValue());
queryWrapper.orderByDesc("pa.create_time");
Page<ProcessAll> page = new Page<>(1, 10);
return Result.OK(processAllService.getTodoList(page, queryWrapper));
return Result.OK(processAllService.getTodoList(page, queryWrapper, req));
}
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll) {