Forráskód Böngészése

fix: 修复待办无法正常翻页

Closes B0061577
huangzqa 4 éve
szülő
commit
d456f5785d

+ 6 - 1
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java

@@ -37,6 +37,7 @@ import com.dragonsoft.dcuc.approve.model.vo.LogDto;
 import com.dragonsoft.dcuc.approve.service.*;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
+import com.dragonsoft.duceap.base.entity.search.SearchDTO;
 import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
 import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.base.exception.ApplicationException;
@@ -1853,7 +1854,11 @@ public class ApproveServiceImpl implements IApproveService {
         searchable.or(searchFilters.get(0), (SearchFilter[]) ArrayUtils.remove(lists, 0));
         searchable.addSearchFilter("r.deleted", SearchOperator.eq, BooleanEnum.FALSE.getValue());
         searchable.addSort(Sort.Direction.DESC, "r.generateTime");
-        Integer countNum = approveActRunTaskMapper.totalCounts(searchable);
+        SearchDTO searchDTO = searchable.toSearchDTO();
+        Searchable countSearchable = Searchable.toSearchable(searchDTO);
+        countSearchable.removePageable();
+        // 需使用无分页的SearchAble 不然会获取不到总条数
+        Integer countNum = approveActRunTaskMapper.totalCounts(countSearchable);
         if (countNum == null) {
             countNum = 0;
         } else {

+ 5 - 3
approve-core-service/src/main/resources/mapping/ApproveActRunTaskMapper.xml

@@ -2,18 +2,20 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dragonsoft.dcuc.approve.mapper.ApproveActRunTaskMapper">
 
-    <select id="totalCounts" parameterType="com.dragonsoft.duceap.core.search.Searchable" resultType="java.lang.Integer">
+    <select id="totalCounts" parameterType="com.dragonsoft.duceap.core.search.Searchable"
+            resultType="java.lang.Integer">
         select count(distinct a.id) FROM (select r.id, r.generate_time
         from t_approve_act_run_task r
         left join t_approve_act_run_identity_link l on
         r.task_id = l.task_id
         and r.process_instance_id = l.process_instance_id
-        WHERE ${searchable.whereClause} ${searchable.orderClause}
+        WHERE ${searchable.whereClause}
         ) a
     </select>
 
 
-    <select id="idListBySearchable" parameterType="com.dragonsoft.duceap.core.search.Searchable" resultType="java.lang.String">
+    <select id="idListBySearchable" parameterType="com.dragonsoft.duceap.core.search.Searchable"
+            resultType="java.lang.String">
         select distinct a.id FROM (select r.id, r.generate_time
         from t_approve_act_run_task r
         left join t_approve_act_run_identity_link l on