Browse Source

fix: 退回不能选创建节点

JieZ 2 years ago
parent
commit
3718c10c61

+ 1 - 1
bpm-core/src/main/java/com/srm/bpm/infra/dao/BillTaskDao.java

@@ -66,6 +66,6 @@ public interface BillTaskDao extends BaseDao<BillTaskEntity> {
66 66
      * @param billid 审批单id
67 67
      * @return 审批节点
68 68
      */
69
-    List<BillTaskDTO> selectHistoryTasks(@Param("billId")Long billid);
69
+    List<BillTaskDTO> selectHistoryTasks(@Param("billId")Long billid,@Param("createTask") String createTask);
70 70
 
71 71
 }

+ 57 - 29
bpm-core/src/main/java/com/srm/bpm/infra/service/impl/BillTaskServiceImpl.java

@@ -53,7 +53,8 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
53 53
      */
54 54
     @Override
55 55
     public List<BillTaskEntity> findTaskByBillAndUserCode(long billId, String userCode) {
56
-        final List<BillTaskEntity> billTask = this.baseMapper.selectTaskByBillAndUserCode(billId, userCode);
56
+        final List<BillTaskEntity> billTask =
57
+                this.baseMapper.selectTaskByBillAndUserCode(billId, userCode);
57 58
         return billTask;
58 59
     }
59 60
 
@@ -68,9 +69,11 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
68 69
         if (billId <= 0) {
69 70
             return Collections.emptyMap();
70 71
         }
71
-        final List<BillTaskEntity> billTasks = list(Wrappers.lambdaQuery(BillTaskEntity.class).eq(BillTaskEntity::getBillId, billId));
72
+        final List<BillTaskEntity> billTasks = list(Wrappers.lambdaQuery(BillTaskEntity.class)
73
+                .eq(BillTaskEntity::getBillId, billId));
72 74
         if (CollectionUtil.isNotEmpty(billTasks)) {
73
-            final Map<String, List<BillTaskEntity>> collect = billTasks.stream().collect(Collectors.groupingBy(BillTaskEntity::getNodeName));
75
+            final Map<String, List<BillTaskEntity>> collect =
76
+                    billTasks.stream().collect(Collectors.groupingBy(BillTaskEntity::getNodeName));
74 77
             return collect;
75 78
         }
76 79
         return Collections.emptyMap();
@@ -98,9 +101,15 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
98 101
      * @return 审批任务
99 102
      */
100 103
     @Override
101
-    public Optional<BillTaskEntity> findByBillAndEmployeeAndTaskId(long billId, String taskId, String userCode) {
102
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class).eq(BillTaskEntity::getBillId, billId)
103
-                .eq(BillTaskEntity::getTaskId, taskId).eq(BillTaskEntity::getUserCode, userCode).orderByDesc(BillTaskEntity::getSort);
104
+    public Optional<BillTaskEntity> findByBillAndEmployeeAndTaskId(
105
+            long billId, String taskId, String userCode
106
+    ) {
107
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
108
+                Wrappers.lambdaQuery(BillTaskEntity.class)
109
+                        .eq(BillTaskEntity::getBillId, billId)
110
+                        .eq(BillTaskEntity::getTaskId, taskId)
111
+                        .eq(BillTaskEntity::getUserCode, userCode)
112
+                        .orderByDesc(BillTaskEntity::getSort);
104 113
         final java.util.Optional<BillTaskEntity> optional = unique(queryWrapper);
105 114
         if (!optional.isPresent()) {
106 115
             return Optional.absent();
@@ -118,7 +127,8 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
118 127
      */
119 128
     @Override
120 129
     public int findActiveExcludeSelf(Long billId, String taskId, Long id) {
121
-        return baseMapper.selectActiveExcludeSelf(billId, taskId, id, BillTaskStatus.AGREE.getStatus());
130
+        return baseMapper.selectActiveExcludeSelf(billId, taskId, id,
131
+                BillTaskStatus.AGREE.getStatus());
122 132
     }
123 133
 
124 134
     /**
@@ -129,8 +139,8 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
129 139
      * @return 数量
130 140
      */
131 141
     @Override
132
-    public int findTotalCount(Long billId, String taskId,int type) {
133
-        return baseMapper.selectTotalCount(billId, taskId,type);
142
+    public int findTotalCount(Long billId, String taskId, int type) {
143
+        return baseMapper.selectTotalCount(billId, taskId, type);
134 144
     }
135 145
 
136 146
     /**
@@ -150,9 +160,11 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
150 160
         task.setDateline(dateline);
151 161
         task.setAction(BillAction.agree.name());
152 162
         task.setId(null);
153
-        final LambdaUpdateWrapper<BillTaskEntity> billTaskEntityLambdaUpdateWrapper = Wrappers.lambdaUpdate();
163
+        final LambdaUpdateWrapper<BillTaskEntity> billTaskEntityLambdaUpdateWrapper =
164
+                Wrappers.lambdaUpdate();
154 165
         billTaskEntityLambdaUpdateWrapper.eq(BillTaskEntity::getBillId, actionParam.getBillId())
155
-                .eq(BillTaskEntity::getUserCode, userCode).eq(BillTaskEntity::getTaskId, actionParam.getTaskId())
166
+                .eq(BillTaskEntity::getUserCode, userCode)
167
+                .eq(BillTaskEntity::getTaskId, actionParam.getTaskId())
156 168
                 .eq(BillTaskEntity::getNodeStatus, BillTaskStatus.APPROVAL.getStatus());
157 169
         this.update(task, billTaskEntityLambdaUpdateWrapper);
158 170
 
@@ -167,8 +179,11 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
167 179
      */
168 180
     @Override
169 181
     public void deleteApproval(Long billId, String taskId, int status) {
170
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class).eq(BillTaskEntity::getBillId, billId)
171
-                .eq(BillTaskEntity::getTaskId, taskId).eq(BillTaskEntity::getNodeStatus, status);
182
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
183
+                Wrappers.lambdaQuery(BillTaskEntity.class)
184
+                        .eq(BillTaskEntity::getBillId, billId)
185
+                        .eq(BillTaskEntity::getTaskId, taskId)
186
+                        .eq(BillTaskEntity::getNodeStatus, status);
172 187
         remove(queryWrapper);
173 188
     }
174 189
 
@@ -195,7 +210,8 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
195 210
      */
196 211
     @Override
197 212
     public List<BillTaskEntity> findByBillId(long billId) {
198
-        return list(Wrappers.lambdaQuery(BillTaskEntity.class).eq(BillTaskEntity::getBillId, billId));
213
+        return list(
214
+                Wrappers.lambdaQuery(BillTaskEntity.class).eq(BillTaskEntity::getBillId, billId));
199 215
     }
200 216
 
201 217
     /**
@@ -207,9 +223,12 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
207 223
      */
208 224
     @Override
209 225
     public List<BillTaskEntity> findApprovingByBillAndTaskId(long billId, String taskId) {
210
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class)
211
-                .eq(BillTaskEntity::getBillId, billId).eq(BillTaskEntity::getTaskType, BillTaskType.DEFAULT.getValue());
212
-        queryWrapper.eq(BillTaskEntity::getNodeStatus, BillTaskStatus.APPROVAL.getStatus()).eq(BillTaskEntity::getTaskId, taskId);
226
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
227
+                Wrappers.lambdaQuery(BillTaskEntity.class)
228
+                        .eq(BillTaskEntity::getBillId, billId)
229
+                        .eq(BillTaskEntity::getTaskType, BillTaskType.DEFAULT.getValue());
230
+        queryWrapper.eq(BillTaskEntity::getNodeStatus, BillTaskStatus.APPROVAL.getStatus())
231
+                .eq(BillTaskEntity::getTaskId, taskId);
213 232
         return this.list(queryWrapper);
214 233
     }
215 234
 
@@ -222,8 +241,11 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
222 241
      * @return 任务列表
223 242
      */
224 243
     @Override
225
-    public List<BillTaskEntity> findEndorseByUserAndTaskId(long billId, String taskId, String userCode) {
226
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class);
244
+    public List<BillTaskEntity> findEndorseByUserAndTaskId(
245
+            long billId, String taskId, String userCode
246
+    ) {
247
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
248
+                Wrappers.lambdaQuery(BillTaskEntity.class);
227 249
         queryWrapper.eq(BillTaskEntity::getBillId, billId);
228 250
         queryWrapper.eq(BillTaskEntity::getTaskId, taskId);
229 251
         queryWrapper.eq(BillTaskEntity::getUserCode, userCode);
@@ -247,7 +269,10 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
247 269
      * 保存跳过的节点任务
248 270
      */
249 271
     @Override
250
-    public void saveSkipTask(String taskNodeId, Long billId, String taskId, String taskName, String lastTaskNodeId, String lastTaskId) {
272
+    public void saveSkipTask(
273
+            String taskNodeId, Long billId, String taskId, String taskName, String lastTaskNodeId,
274
+            String lastTaskId
275
+    ) {
251 276
         BillTaskEntity billTask = new BillTaskEntity();
252 277
         billTask.setAction(BillAction.none.name());
253 278
         billTask.setSort(System.currentTimeMillis());
@@ -273,10 +298,11 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
273 298
      */
274 299
     @Override
275 300
     public List<BillTaskEntity> findApprovingByBillAndUser(long billId, String user) {
276
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class)
277
-                .eq(BillTaskEntity::getBillId, billId)
278
-                .eq(BillTaskEntity::getNodeStatus, BillTaskStatus.APPROVAL)
279
-                .eq(BillTaskEntity::getUserCode, user);
301
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
302
+                Wrappers.lambdaQuery(BillTaskEntity.class)
303
+                        .eq(BillTaskEntity::getBillId, billId)
304
+                        .eq(BillTaskEntity::getNodeStatus, BillTaskStatus.APPROVAL)
305
+                        .eq(BillTaskEntity::getUserCode, user);
280 306
         return list(queryWrapper);
281 307
     }
282 308
 
@@ -288,15 +314,17 @@ public class BillTaskServiceImpl extends BaseServiceImpl<BillTaskDao, BillTaskEn
288 314
      */
289 315
     @Override
290 316
     public List<BillTaskDTO> getHistoryTasks(Long billid) {
291
-        return this.baseMapper.selectHistoryTasks(billid);
317
+        return this.baseMapper.selectHistoryTasks(billid, NodeLinkType.create.name());
292 318
     }
293 319
 
294 320
     @Override
295 321
     public List<BillTaskEntity> findApprovedByBillAndUser(long billId, String user) {
296
-        final LambdaQueryWrapper<BillTaskEntity> queryWrapper = Wrappers.lambdaQuery(BillTaskEntity.class)
297
-                .eq(BillTaskEntity::getBillId, billId)
298
-                .in(BillTaskEntity::getNodeStatus, BillTaskStatus.AGREE,BillTaskStatus.REFUSE,BillTaskStatus.REPULSE)
299
-                .eq(BillTaskEntity::getUserCode, user);
322
+        final LambdaQueryWrapper<BillTaskEntity> queryWrapper =
323
+                Wrappers.lambdaQuery(BillTaskEntity.class)
324
+                        .eq(BillTaskEntity::getBillId, billId)
325
+                        .in(BillTaskEntity::getNodeStatus, BillTaskStatus.AGREE,
326
+                                BillTaskStatus.REFUSE, BillTaskStatus.REPULSE)
327
+                        .eq(BillTaskEntity::getUserCode, user);
300 328
         return list(queryWrapper);
301 329
     }
302 330
 }

+ 1 - 1
bpm-core/src/main/resources/mapper/bpm/infra/BillTaskDao.xml

@@ -128,7 +128,7 @@
128 128
         WHERE pne.is_deleted = 0
129 129
           and bt.is_deleted = 0
130 130
           AND bt.node_status IN (2, 3, 8, 9)
131
-          and bt.bill_id = #{billId}
131
+          and bt.bill_id = #{billId} AND pne.link_type!=#{createTask}
132 132
         GROUP BY pne.id
133 133
     </select>
134 134