From 7dcc093843c67f9e214e3bf4ca71ee3619491b13 Mon Sep 17 00:00:00 2001 From: wulin Date: Fri, 20 Nov 2020 18:40:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B7=B3=E8=BF=87=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/dao/FlowRecordMapper.java | 2 ++ .../modules/flow/service/FlowRecordService.java | 2 ++ .../flow/service/impl/FlowRecordServiceImpl.java | 5 +++++ .../modules/job/business/DingtalkBusiness.java | 16 +++++----------- .../resources/mapper/flow/FlowRecordMapper.xml | 4 ++++ 5 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java index 0dce7065..36f3440e 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -87,4 +87,6 @@ public interface FlowRecordMapper extends BaseMapper { List selectLastFlowRecordsById(@Param("recordId") Long recordId); List selectLastFlowRecordsByIdAndFlowIndex(@Param("recordId") Long recordId, @Param("flowIndex") int flowIndex); + + List selectSkipFlowRecordsById(@Param("recordId") Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java index 36cf8d62..394cbe8d 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java @@ -82,4 +82,6 @@ public interface FlowRecordService extends IService { List selectLastFlowRecordsById(Long recordId); //获取制定步骤一个小节点的所有数据 List selectLastFlowRecordsByIdAndFlowIndex(Long recordId, int flowIndex); + + List selectSkipFlowRecordsById(Long recordId); } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java index 2535e4b3..bbfe4210 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowRecordServiceImpl.java @@ -221,4 +221,9 @@ public class FlowRecordServiceImpl extends ServiceImpl selectSkipFlowRecordsById(Long recordId){ + return flowRecordMapper.selectSkipFlowRecordsById(recordId); + } + } diff --git a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java index 5bcef08e..9d6d7c57 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -490,16 +490,10 @@ public class DingtalkBusiness { }else if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.SKIP.getType()){//跳过 //跳过 logger.info("跳过待办任务处理"); - FlowChange flowChange = flowChangeService.selectFlowChangeByRecordIdAndToIdAndType(info.getResultRecord().getId(), - info.getId(), 1); - ThirdMsgSendRecord thirdMsgSendRecord = - thirdMsgSendRecordService.selectThirdMsgSendRecordByWorkIdAndStaffIdAndTypeAndStatus( - info.getResultRecord().getId(), - flowChange.getApprovalId(), 1, 1); - if(thirdMsgSendRecord != null){//把原来的任务更新掉 - dingTalkUtil.updateWorkMSG(thirdMsgSendRecord, token); - } - List flowRecords = flowRecordService.selectAndOrFlowRecordsById(flowChange.getFlowRecordId(), info.getResultRecord().getId()); + + + List flowRecords = + flowRecordService.selectSkipFlowRecordsById(info.getResultRecord().getId());//取消所有跳过的人 logger.info("查询到可能需要更新待办任务数量{}", flowRecords.size()); if(flowRecords.size() > 0){ if(flowRecords.get(0).getType().intValue() == 1){ @@ -510,7 +504,7 @@ public class DingtalkBusiness { if(flowRecord.getApprovalStaffId().longValue() != info.getId()){ logger.info("更新非直接跳关人员的待办任务,人员id:{}, 姓名:{}", flowRecord.getApprovalStaffId(), flowRecord.getApprovalStaffName()); - thirdMsgSendRecord = + ThirdMsgSendRecord thirdMsgSendRecord = thirdMsgSendRecordService.selectThirdMsgSendRecordByWorkIdAndStaffIdAndTypeAndStatus( info.getResultRecord().getId(), flowRecord.getApprovalStaffId(), 1, 1); diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index bad0de7b..2a34cc6b 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -310,5 +310,9 @@ + +