@@ -340,14 +340,18 @@ public void clearApprovingInstanceOfFlow(String flowId) {
340340 List <String > instanceIds = instances .stream ().map (ApprovalInstance ::getId ).toList ();
341341 List <ApprovalTask > approvalTasks = approvalTaskMapper .selectListByLambda (new LambdaQueryWrapper <ApprovalTask >().in (ApprovalTask ::getInstanceId , instanceIds ));
342342 List <String > taskIds = approvalTasks .stream ().map (ApprovalTask ::getId ).toList ();
343- approvalTaskMapper .deleteByIds (taskIds );
344- approvalAddSignTaskMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalAddSignTask >().in (ApprovalAddSignTask ::getTaskId , taskIds ));
345- approvalReturnBackRecordMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalReturnBackRecord >().in (ApprovalReturnBackRecord ::getTaskId , taskIds ));
346- approvalRecordMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalRecord >().in (ApprovalRecord ::getInstanceId , instanceIds ));
347- List <ApprovalInstanceAttachment > instanceAttachments = approvalInstanceAttachmentMapper .selectListByLambda (new LambdaQueryWrapper <ApprovalInstanceAttachment >().in (ApprovalInstanceAttachment ::getInstanceId , instanceIds ));
348- approvalInstanceAttachmentMapper .deleteByIds (instanceAttachments .stream ().map (ApprovalInstanceAttachment ::getId ).toList ());
349- List <String > attachmentIds = instanceAttachments .stream ().map (ApprovalInstanceAttachment ::getAttachmentId ).toList ();
350- attachmentIds .forEach (id -> attachmentService .delete (id ));
351- attachmentMapper .deleteByIds (attachmentIds );
343+ if (CollectionUtils .isNotEmpty (taskIds )) {
344+ approvalTaskMapper .deleteByIds (taskIds );
345+ approvalAddSignTaskMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalAddSignTask >().in (ApprovalAddSignTask ::getTaskId , taskIds ));
346+ approvalReturnBackRecordMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalReturnBackRecord >().in (ApprovalReturnBackRecord ::getTaskId , taskIds ));
347+ }
348+ if (CollectionUtils .isNotEmpty (taskIds )) {
349+ approvalRecordMapper .deleteByLambda (new LambdaQueryWrapper <ApprovalRecord >().in (ApprovalRecord ::getInstanceId , instanceIds ));
350+ List <ApprovalInstanceAttachment > instanceAttachments = approvalInstanceAttachmentMapper .selectListByLambda (new LambdaQueryWrapper <ApprovalInstanceAttachment >().in (ApprovalInstanceAttachment ::getInstanceId , instanceIds ));
351+ approvalInstanceAttachmentMapper .deleteByIds (instanceAttachments .stream ().map (ApprovalInstanceAttachment ::getId ).toList ());
352+ List <String > attachmentIds = instanceAttachments .stream ().map (ApprovalInstanceAttachment ::getAttachmentId ).toList ();
353+ attachmentIds .forEach (id -> attachmentService .delete (id ));
354+ attachmentMapper .deleteByIds (attachmentIds );
355+ }
352356 }
353357}
0 commit comments