From 0bb94e4b24573437933119797de41678656af011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Wed, 18 Nov 2020 17:51:20 +0800 Subject: [PATCH 01/23] fix --- .../lz/modules/flow/dao/FlowRecordMapper.java | 5 +++- .../impl/AssessManagerServiceImpl.java | 13 ++++++--- .../sys/dao/app/ResultRecordMapper.java | 5 ++++ .../mapper/app/ResultRecordMapper.xml | 16 ++++++++++ .../mapper/flow/FlowRecordMapper.xml | 29 +++++++++++++------ 5 files changed, 54 insertions(+), 14 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 4537e655..3465842a 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java @@ -76,7 +76,10 @@ public interface FlowRecordMapper extends BaseMapper { FlowRecord selectFlowRecordByRecordIdMinIdStatus(@Param("resultRecordId") Long resultRecordId, @Param("id") Long id, @Param("status") int status); - int batchUpdateExecution(@Param("recordIds")List recordIds,@Param("processId") int processId); + int batchUpdateSkip(@Param("recordIds")List recordIds); List selectFlowRecordByRecordIdFlowProcess(@Param("id") Long id, @Param("flowProcess") int flowProcess); + + int batchDeleteByRecordIds(@Param("recordIds")List recordIds); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 39fa2115..61347731 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -80,8 +80,6 @@ public class AssessManagerServiceImpl implements AssessManagerService { @Autowired private DingtalkBusiness dingtalkBusiness; - public static final int processId = 1; - @Override @@ -165,7 +163,14 @@ public class AssessManagerServiceImpl implements AssessManagerService { //删除副本组 evaluationGroupService.deleteByCopyIds(collect,flowStart.getId()); } - resultRecordMapper.batchDeleteByStartId(flowStart.getId()); + List ids = resultRecordMapper.selectIdsByStartId(flowStart.getId()); + if(CollectionUtils.isNotEmpty(ids)){ + log.info("删除resultRecordIds: " + JSON.toJSONString(ids)); + resultRecordMapper.batchDeleteByResultRecordIds(ids); + //删除flowRecord + flowRecordMapper.batchDeleteByRecordIds(ids); + } + return ; } @@ -317,7 +322,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { List collect = objects.stream().map(o -> Long.valueOf(String.valueOf(o))).collect(toList()); - int updateExecution = flowRecordMapper.batchUpdateExecution(collect, processId); + int updateExecution = flowRecordMapper.batchUpdateSkip(collect); log.info("更新flowRecord记录,i:" + updateExecution); } diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 0efff89b..9d97e66f 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -101,4 +101,9 @@ public interface ResultRecordMapper extends BaseMapper { ResultRecord selectLastResultRecordByUserId(@Param("userId") Long userId); ResultRecord selectResultRecordByStaffIdAndStartId(@Param("userId") Long userId, @Param("startId") Long startId); + + List selectIdsByStartId(@Param("startId")Long startId); + + int batchDeleteByResultRecordIds(@Param("resultRecordIds")List resultRecordIds); + } \ No newline at end of file diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 04fd795b..77a47e5a 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -594,5 +594,21 @@ + + + + + update lz_result_record set is_delete = 1 where + is_delete = 0 + and id in ( + + #{id} + + ) + diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index aa192578..3a69bfa1 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -266,23 +266,34 @@ select * from lz_flow_record where is_delete = 0 and record_id = #{resultRecordId} and id > #{id} and status = #{status} order by id asc limit 1 - + UPDATE lz_flow_record SET status = 4 ,gmt_modified = now() - where is_delete = 0 and status !=4 and flow_process = 2 and process_id = #{processId} - - and record_id in ( - - #{record_id} - - ) - + where is_delete = 0 and status !=4 and flow_process = 2 + and record_id in ( + + #{record_id} + + ) + + + UPDATE lz_flow_record + SET is_delete = 1, + ,gmt_modified = now() + where is_delete = 0 + and record_id in ( + + #{record_id} + + ) + + From a4da7a6ebe4e36de64666796fd185431e03d397f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Wed, 18 Nov 2020 17:53:39 +0800 Subject: [PATCH 02/23] fix --- src/main/resources/mapper/app/ResultRecordMapper.xml | 4 +++- src/main/resources/mapper/flow/FlowRecordMapper.xml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 5088899c..4084fc0e 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -602,7 +602,9 @@ - update lz_result_record set is_delete = 1 where + update lz_result_record set is_delete = 1 + ,gmt_modified = now() + where is_delete = 0 and id in ( diff --git a/src/main/resources/mapper/flow/FlowRecordMapper.xml b/src/main/resources/mapper/flow/FlowRecordMapper.xml index 3a69bfa1..09ae0c8b 100644 --- a/src/main/resources/mapper/flow/FlowRecordMapper.xml +++ b/src/main/resources/mapper/flow/FlowRecordMapper.xml @@ -285,7 +285,7 @@ UPDATE lz_flow_record - SET is_delete = 1, + SET is_delete = 1 ,gmt_modified = now() where is_delete = 0 and record_id in ( From 1bc743ac427cc9e6fa0171a08de2d537564604eb Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:07:34 +0800 Subject: [PATCH 03/23] =?UTF-8?q?=E5=A4=A7=E6=89=B9=E8=BF=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 76f67d31..eee97a09 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -106,6 +106,8 @@ public class FlowStartServiceImpl extends ServiceImpl threadInitFlowRecords = new ArrayList<>(); + ThreadInitFlowRecord threadInitFlowRecord; + Thread thread; @@ -810,9 +812,9 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ - ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); + threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); threadInitFlowRecords.add(threadInitFlowRecord);//防止提前回收 - Thread thread = new Thread(threadInitFlowRecord); + thread = new Thread(threadInitFlowRecord); thread.start(); } From 33d7a29f343129cab8f541171145fe390d7c26c8 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:23:55 +0800 Subject: [PATCH 04/23] =?UTF-8?q?=E5=AD=90=E7=BA=BF=E7=A8=8B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flow/service/impl/FlowStartServiceImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index eee97a09..54355c12 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -836,12 +836,20 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Wed, 18 Nov 2020 18:27:36 +0800 Subject: [PATCH 05/23] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=AD=90=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowStartServiceImpl.java | 28 ++++++------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 54355c12..ed91db23 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -106,8 +106,6 @@ public class FlowStartServiceImpl extends ServiceImpl threadInitFlowRecords = new ArrayList<>(); - ThreadInitFlowRecord threadInitFlowRecord; - Thread thread; @@ -812,9 +810,9 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ - threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); - threadInitFlowRecords.add(threadInitFlowRecord);//防止提前回收 - thread = new Thread(threadInitFlowRecord); + ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); + threadInitFlowRecords.add(threadInitFlowRecord); + Thread thread = new Thread(threadInitFlowRecord); thread.start(); } @@ -822,12 +820,12 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords; - List noticeStaff; + List resultRecords = new ArrayList<>(); + List noticeStaff = new ArrayList<>(); public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ - this.resultRecords = resultRecords; - this.noticeStaff = noticeStaff; + this.resultRecords.addAll(resultRecords); + this.noticeStaff.addAll(noticeStaff); } @Override @@ -836,20 +834,12 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Wed, 18 Nov 2020 18:36:45 +0800 Subject: [PATCH 06/23] zi --- .../modules/flow/service/impl/FlowStartServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index ed91db23..690438fe 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -103,7 +103,6 @@ public class FlowStartServiceImpl extends ServiceImpl threadInitFlowRecords = new ArrayList<>(); @@ -811,7 +810,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); - threadInitFlowRecords.add(threadInitFlowRecord); + Thread thread = new Thread(threadInitFlowRecord); thread.start(); @@ -824,7 +823,9 @@ public class FlowStartServiceImpl extends ServiceImpl noticeStaff = new ArrayList<>(); public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ - this.resultRecords.addAll(resultRecords); + CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]); + Collections.copy(resultRecords, resultRecords); + //this.resultRecords.addAll(resultRecords); this.noticeStaff.addAll(noticeStaff); } @@ -842,7 +843,6 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Wed, 18 Nov 2020 18:43:08 +0800 Subject: [PATCH 07/23] =?UTF-8?q?=E5=AD=90=E8=B4=A4=E6=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/FlowStartServiceImpl.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 690438fe..21af1566 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -823,9 +823,9 @@ public class FlowStartServiceImpl extends ServiceImpl noticeStaff = new ArrayList<>(); public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ - CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]); - Collections.copy(resultRecords, resultRecords); - //this.resultRecords.addAll(resultRecords); + //CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]); + //Collections.copy(resultRecords, resultRecords); + this.resultRecords.addAll(resultRecords); this.noticeStaff.addAll(noticeStaff); } @@ -835,12 +835,21 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ + for (ResultRecord resultRecord:resultRecords + ) { - resultRecordService.initFlowRecord(resultRecord.getId()); + resultRecordService.initFlowRecord(resultRecord.getId()); + } + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } } + //ch.qos.logback.classic.Logger.threadLocalNo.set(oldNo); dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType()); } From 8b9c08ea80b1fade5428ff84dece26065823e3d5 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:48:41 +0800 Subject: [PATCH 08/23] =?UTF-8?q?=E5=AD=90=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lz/modules/flow/service/impl/FlowStartServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 21af1566..7099df09 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -839,15 +839,15 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ for (ResultRecord resultRecord:resultRecords ) { - resultRecordService.initFlowRecord(resultRecord.getId()); - } + log.info("批量{}", i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } + i--; } //ch.qos.logback.classic.Logger.threadLocalNo.set(oldNo); From e7067822d60b7a303f91cf27f0a0e88bf787eeef Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:52:17 +0800 Subject: [PATCH 09/23] =?UTF-8?q?=E5=9C=A8=E8=BF=99=E7=A7=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/service/app/impl/ResultRecordServiceImpl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 10081144..67947c6e 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -772,12 +772,16 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); + log.info("flows"); List flowIds = new ArrayList<>(); for(Flow flow:flows){ flowIds.add(flow.getId()); } + log.info("flowId"); List flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); + log.info("flowApprovalRoles"); int i = 0; for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { FlowRecord flowRecord = new FlowRecord(); From 1334347fe947371cf40fed52838d988b3f9bf2b9 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:55:30 +0800 Subject: [PATCH 10/23] Gigi --- .../modules/sys/service/app/impl/ResultRecordServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index 67947c6e..ae0f1373 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -773,6 +773,9 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); log.info("flows"); List flowIds = new ArrayList<>(); From 103f53c0d58aca8abbb9b314c830ead6ffaa60e0 Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 18:58:19 +0800 Subject: [PATCH 11/23] haligit pu --- .../flow/service/impl/FlowStartServiceImpl.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 7099df09..a48a65d3 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -835,20 +835,12 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ + for (ResultRecord resultRecord:resultRecords ) { resultRecordService.initFlowRecord(resultRecord.getId()); } - log.info("批量{}", i); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - i--; - } + //ch.qos.logback.classic.Logger.threadLocalNo.set(oldNo); dingtalkBusiness.sendWorkMSGWithAsyn(noticeStaff, WorkMsgTypeEnum.START_WORK.getType()); From 6a37769c086788122ec3dd54b72803e25aaf9aeb Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 20:01:31 +0800 Subject: [PATCH 12/23] =?UTF-8?q?=E5=AD=90=E7=BA=BF=E7=A8=8B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/flow/dao/FlowMapper.java | 2 + .../lz/modules/flow/model/StartStartDto.java | 10 ++- .../lz/modules/flow/service/FlowService.java | 2 + .../flow/service/impl/FlowServiceImpl.java | 2 + .../service/impl/FlowStartServiceImpl.java | 71 ++++++++++++------- .../sys/service/app/ResultRecordService.java | 5 +- .../app/impl/ResultRecordServiceImpl.java | 14 ++-- src/main/resources/mapper/flow/FlowMapper.xml | 2 + 8 files changed, 73 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java index 35eb72ef..fea7c412 100644 --- a/src/main/java/com/lz/modules/flow/dao/FlowMapper.java +++ b/src/main/java/com/lz/modules/flow/dao/FlowMapper.java @@ -34,4 +34,6 @@ public interface FlowMapper extends BaseMapper { List selectByFlowId(@Param("flowId") Long flowId, @Param("startId") Long startId); + + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/model/StartStartDto.java b/src/main/java/com/lz/modules/flow/model/StartStartDto.java index c9b00db6..cb177103 100644 --- a/src/main/java/com/lz/modules/flow/model/StartStartDto.java +++ b/src/main/java/com/lz/modules/flow/model/StartStartDto.java @@ -1,12 +1,16 @@ package com.lz.modules.flow.model; +import com.lz.modules.flow.entity.Flow; +import com.lz.modules.flow.entity.FlowApprovalRole; import com.lz.modules.sys.entity.app.ResultRecord; import lombok.Data; import java.util.ArrayList; import java.util.List; @Data -public class StartStartDto { - private int status; - private List resultRecordList = new ArrayList<>(); +public class StartStartDto {//发起一个考评组对应的返回的数据 + private int status;//返回结果 + private List flows ; + private List flowApprovalRoles; + private List resultRecordList; } diff --git a/src/main/java/com/lz/modules/flow/service/FlowService.java b/src/main/java/com/lz/modules/flow/service/FlowService.java index 3e96a946..37f43fea 100644 --- a/src/main/java/com/lz/modules/flow/service/FlowService.java +++ b/src/main/java/com/lz/modules/flow/service/FlowService.java @@ -36,4 +36,6 @@ public interface FlowService extends IService { List selectByFlowId(Long flowId,Long startId); FlowChart selectFlowChartByChartId(Long flowId); + + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java index 4c6a11b8..18161ddb 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowServiceImpl.java @@ -78,4 +78,6 @@ public class FlowServiceImpl extends ServiceImpl implements Fl } + + } diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index a48a65d3..47505a3b 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -161,7 +161,7 @@ public class FlowStartServiceImpl extends ServiceImpl> mustRole = new HashMap<>(); Map> selfMustRole = new HashMap<>(); List noticeStaff = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + List resultRecords = new ArrayList<>(); for (GroupStaffs groupStaffs:startGroupStaffIds.getGroups() ) { List staffSimpleInfos = staffService.selectStaffSimpleInfos(groupStaffs.getStaffIds()); @@ -187,7 +187,7 @@ public class FlowStartServiceImpl extends ServiceImpl> mustRole = new HashMap<>(); Map> selfMustRole = new HashMap<>(); List noticeStaff = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + List resultRecords = new ArrayList<>(); for (int n = 0; n < evaluationGroups.size(); n++ ) { EvaluationGroup evaluationGroup = evaluationGroups.get(n); @@ -323,7 +323,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords = new ArrayList<>(); + List flows; + List flowApprovalRoles; //下面拷贝一份考评组信息发起后所使用的考评组id为复制后的id if(!isInsert){ evaluationGroup.setCopyId(evaluationGroup.getId()); @@ -450,12 +453,10 @@ public class FlowStartServiceImpl extends ServiceImpl evaluationStartStaffs = new ArrayList<>(); List resultDetails = new ArrayList(); - //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { staffInfo.setStartId(flowStart.getId()); - EvaluationStartStaff evaluationStartStaff = new EvaluationStartStaff(); evaluationStartStaff.setEvaluationId(evaluationGroup.getId()); evaluationStartStaff.setEvaluationName(evaluationGroup.getName()); @@ -482,9 +483,9 @@ public class FlowStartServiceImpl extends ServiceImpl flowIds = flows.stream().map(new Function() { + @Override + public Long apply(Flow flow) { + return flow.getId(); + } + }).collect(Collectors.toList()); + + flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); + startStartDto.setFlows(flows); + startStartDto.setFlowApprovalRoles(flowApprovalRoles); startStartDto.setStatus(0); return startStartDto; } //下面初始化lz_flow流程表 lz_flow_approval_role流程审批表 - List flowApprovalRoles = new ArrayList<>(); + flows = new ArrayList<>(); + flowApprovalRoles = new ArrayList<>(); int stepIndex = 0; for (FlowChartDetailRecord flowChartDetailRecord:flowChartDetailRecords - ) { + ) {//初始化考评组对应的的flow Flow flow = new Flow(); flow.setFlowId(evaluationGroup.getId()); flow.setOpt("+"); flow.setStartId(flowStart.getId()); flow.setChartId(flowChartDetailRecord.getChartId()); flow.setOptDesc(chartNameMaps.get(flowChartDetailRecord.getChartId())); - + flows.add(flow); flowService.insertFlow(flow); FlowApprovalRole flowApprovalRole = null; List flowChartRoles = null; @@ -564,7 +578,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultDetails = new ArrayList<>(); List evaluationStartStaffs = new ArrayList<>(); - List resultRecords = new ArrayList<>(); + //下面初始化参与人员 for (StaffSimpleInfo staffInfo:staffIds ) { @@ -746,9 +760,11 @@ public class FlowStartServiceImpl extends ServiceImpl 0){ // @@ -794,6 +813,7 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords, List noticeStaff){ + private void initFlowRecordAnsy(List resultRecords, List noticeStaff){ if(resultRecords.size() > 0){ ThreadInitFlowRecord threadInitFlowRecord = new ThreadInitFlowRecord(resultRecords, noticeStaff); @@ -819,14 +839,13 @@ public class FlowStartServiceImpl extends ServiceImpl resultRecords = new ArrayList<>(); - List noticeStaff = new ArrayList<>(); + List resultRecords; + List noticeStaff; - public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ - //CollectionUtils.addAll(this.resultRecords, new Object[resultRecords.size()]); - //Collections.copy(resultRecords, resultRecords); - this.resultRecords.addAll(resultRecords); - this.noticeStaff.addAll(noticeStaff); + public ThreadInitFlowRecord(List resultRecords, List noticeStaff){ + + this.resultRecords = resultRecords; + this.noticeStaff = noticeStaff; } @Override @@ -836,9 +855,13 @@ public class FlowStartServiceImpl extends ServiceImpl { R initFlowRecord(Long resultRecordId); - R newApproval(ApprovalDto approvalDto) throws Exception; + R initFlowRecord(ResultRecord resultRecord, List flows, List flowApprovalRoles); + + R newApproval(ApprovalDto approvalDto) throws Exception; R newResultRecordList(RecordDetailDto recordDetailDto); diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java index ae0f1373..7fedbeba 100644 --- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java +++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java @@ -772,19 +772,19 @@ public class ResultRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(resultRecord.getEvaluationId(),resultRecord.getStartId()); - log.info("flows"); List flowIds = new ArrayList<>(); for(Flow flow:flows){ flowIds.add(flow.getId()); } - log.info("flowId"); List flowApprovalRoles =flowApprovalRoleService.selectFlowApprovalRoleList(flowIds); - log.info("flowApprovalRoles"); + + return initFlowRecord(resultRecord, flows, flowApprovalRoles); + } + + @Override + public R initFlowRecord(ResultRecord resultRecord, List flows, List flowApprovalRoles) { + int i = 0; for (FlowApprovalRole flowApprovalRole : flowApprovalRoles) { FlowRecord flowRecord = new FlowRecord(); diff --git a/src/main/resources/mapper/flow/FlowMapper.xml b/src/main/resources/mapper/flow/FlowMapper.xml index 0d59c825..4fe27512 100644 --- a/src/main/resources/mapper/flow/FlowMapper.xml +++ b/src/main/resources/mapper/flow/FlowMapper.xml @@ -103,5 +103,7 @@ select * from lz_flow where flow_id = #{flowId} and is_delete = 0 and start_id = #{startId} + + From e51a235204a9da06dfc0a15715b1d42ec748b58b Mon Sep 17 00:00:00 2001 From: wulin Date: Wed, 18 Nov 2020 20:04:48 +0800 Subject: [PATCH 13/23] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=8B=E5=8A=A1?= =?UTF-8?q?=E5=8D=B1=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/flow/service/impl/FlowStartServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 47505a3b..6418b9c9 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -850,9 +850,9 @@ public class FlowStartServiceImpl extends ServiceImpl Date: Wed, 18 Nov 2020 20:09:03 +0800 Subject: [PATCH 14/23] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=96=87=E6=98=8E?= =?UTF-8?q?=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/app/controller/ResultRecordController.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java index 5a2e87c6..d4cc6556 100644 --- a/src/main/java/com/lz/modules/app/controller/ResultRecordController.java +++ b/src/main/java/com/lz/modules/app/controller/ResultRecordController.java @@ -429,6 +429,9 @@ public class ResultRecordController extends AbstractController { } //流程已经到了审批节点,那么判断评分是否为或签,如果是那么只需要返回实际评分的那个人即可,否则全部返回 List flowRecords = flowRecordService.selectFlowRecordByRecordIdFlowProcess(resultRecord.getId(), ChartFlowType.SCORE.getCode());//获取当前的流程节点 + if(flowRecords.size() == 0){ + return R.error("绩效流程数据初始化中...,请稍后!"); + } if(flowRecords.get(0).getType().intValue() == 1){ //或签,这里还有优化。多个评分节点时,针对每个节点是否为或签 isOrScore = true; From 972b1b9f046260e242ff3671a135883265ddc3ad Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 09:00:20 +0800 Subject: [PATCH 15/23] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=92=89=E9=92=89?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E8=BF=9E=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/modules/job/business/DingtalkBusiness.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 1ed03a98..93b7ee4a 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -344,7 +344,7 @@ public class DingtalkBusiness { StaffSimpleInfo fromStaff = null; WorkMsgTypeEnum workMsgTypeEnum; String appid; - String hostUrl = "https://lzmanagement.ldxinyong.com/digitization/dingTalkLogin"; + String hostUrl = "https://lzmanagement.ldxinyong.com/digitization"; public ThreadSendMessage(StaffSimpleInfo fromStaff, List toStaffids, WorkMsgTypeEnum typeEnum, String appid){ this.toStaffids = toStaffids; workMsgTypeEnum = typeEnum; From 0df32f1153743f52ecdaa8ec201efe83505c7c92 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 09:16:54 +0800 Subject: [PATCH 16/23] =?UTF-8?q?=E9=92=89=E9=92=89=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/common/utils/DingTalkUtil.java | 4 ++-- .../java/com/lz/modules/job/business/DingtalkBusiness.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index a9710b86..7a86ac71 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -360,7 +360,7 @@ public class DingTalkUtil { thirdMsgSendRecord.setRemark(json.getString("errmsg")); msg = thirdMsgSendRecord.getRemark(); } - + logger.info("发送消息{}", thirdMsgSendRecord); }catch (ApiException e) { e.printStackTrace(); thirdMsgSendRecord.setStatus(6); @@ -368,7 +368,7 @@ public class DingTalkUtil { msg = thirdMsgSendRecord.getRemark(); } - thirdMsgSendRecordService.insert(thirdMsgSendRecord); + thirdMsgSendRecordService.insertThirdMsgSendRecord(thirdMsgSendRecord); return msg; } 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 93b7ee4a..d74f8bb9 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -354,7 +354,7 @@ public class DingtalkBusiness { @Override public void run() { - logger.info("开始批量推送消息,数量{}, appid", toStaffids.size(), appid); + logger.info("开始批量推送消息,数量{}, appid{}", toStaffids.size(), appid); ThirdAppConfig thirdAppConfig = thirdAppConfigService.getByAppId(appid); String token = dingTalkUtil.getAccessTokenWitchEntity(thirdAppConfig); for (StaffSimpleInfo info:toStaffids From 3c4e5e9218d534731aea062234af9bf95a61d973 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 09:23:25 +0800 Subject: [PATCH 17/23] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=92=89=E9=92=89?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E6=B6=88=E6=81=AF=E9=83=A8=E5=88=86=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=BAString?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/lz/common/utils/DingTalkUtil.java | 14 +++++++------- .../modules/third/entity/ThirdMsgSendRecord.java | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index 7a86ac71..b243c43d 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -275,7 +275,7 @@ public class DingTalkUtil { thirdMsgSendRecord.setMsgType("action_card"); thirdMsgSendRecord.setStaffId(staff.getId()); thirdMsgSendRecord.setMsgTitle(singleTitle); - thirdMsgSendRecord.setAppId(Long.parseLong(appid)); + thirdMsgSendRecord.setAppId(appid); thirdMsgSendRecord.setHeadText(title); thirdMsgSendRecord.setMsgContent(marDown); thirdMsgSendRecord.setMsgUrl(singleUrl); @@ -283,7 +283,7 @@ public class DingTalkUtil { try{ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); OapiMessageCorpconversationAsyncsendV2Request req = new OapiMessageCorpconversationAsyncsendV2Request(); - req.setAgentId(thirdMsgSendRecord.getAppId()); + req.setAgentId(Long.parseLong(thirdMsgSendRecord.getAppId())); req.setUseridList(staff.getEmployeeId()); OapiMessageCorpconversationAsyncsendV2Request.Msg obj1 = new OapiMessageCorpconversationAsyncsendV2Request.Msg(); obj1.setMsgtype(thirdMsgSendRecord.getMsgType()); @@ -299,10 +299,10 @@ public class DingTalkUtil { //插入数据库 JSONObject json = JSONObject.parseObject(rsp.getBody()); if(json.getIntValue("errcode") == 0){ - thirdMsgSendRecord.setTaskId(json.getLong("task_id")); + thirdMsgSendRecord.setTaskId(json.getString("task_id")); thirdMsgSendRecord.setStatus(1); }else{ - thirdMsgSendRecord.setTaskId(0L); + thirdMsgSendRecord.setTaskId("0"); thirdMsgSendRecord.setStatus(6); thirdMsgSendRecord.setRemark(json.getString("errmsg")); msg = thirdMsgSendRecord.getRemark(); @@ -327,7 +327,7 @@ public class DingTalkUtil { thirdMsgSendRecord.setMsgType("work_msg"); thirdMsgSendRecord.setStaffId(staff.getId()); thirdMsgSendRecord.setMsgTitle(singleTitle); - thirdMsgSendRecord.setAppId(Long.parseLong(appid)); + thirdMsgSendRecord.setAppId(appid); thirdMsgSendRecord.setHeadText(title); thirdMsgSendRecord.setMsgContent(marDown); thirdMsgSendRecord.setMsgUrl(singleUrl); @@ -352,10 +352,10 @@ public class DingTalkUtil { //插入数据库 JSONObject json = JSONObject.parseObject(rsp.getBody()); if(json.getIntValue("errcode") == 0){ - thirdMsgSendRecord.setTaskId(json.getLong("record_id")); + thirdMsgSendRecord.setTaskId(json.getString("record_id")); thirdMsgSendRecord.setStatus(1); }else{ - thirdMsgSendRecord.setTaskId(0L); + thirdMsgSendRecord.setTaskId("0"); thirdMsgSendRecord.setStatus(6); thirdMsgSendRecord.setRemark(json.getString("errmsg")); msg = thirdMsgSendRecord.getRemark(); diff --git a/src/main/java/com/lz/modules/third/entity/ThirdMsgSendRecord.java b/src/main/java/com/lz/modules/third/entity/ThirdMsgSendRecord.java index 249aca2f..7570413d 100644 --- a/src/main/java/com/lz/modules/third/entity/ThirdMsgSendRecord.java +++ b/src/main/java/com/lz/modules/third/entity/ThirdMsgSendRecord.java @@ -63,9 +63,9 @@ public class ThirdMsgSendRecord implements java.io.Serializable { //发送状态:0新建,1已发送,2处理中,3已送达,4未读,5已读,6发送失败,7撤回 private Integer status; //应用ID - private Long appId; + private String appId; //钉钉返回的任务id - private Long taskId; + private String taskId; //备注,一些说明 private String remark; /** @@ -417,14 +417,14 @@ public class ThirdMsgSendRecord implements java.io.Serializable { * 应用ID * @return */ - public Long getAppId() { + public String getAppId() { return appId; } /** * 应用ID * @param appId */ - public void setAppId(Long appId) { + public void setAppId(String appId) { this.appId = appId; } @@ -432,14 +432,14 @@ public class ThirdMsgSendRecord implements java.io.Serializable { * 钉钉返回的任务id * @return */ - public Long getTaskId() { + public String getTaskId() { return taskId; } /** * 钉钉返回的任务id * @param taskId */ - public void setTaskId(Long taskId) { + public void setTaskId(String taskId) { this.taskId = taskId; } From ee3057e58360aa3d9fd78f36791ee9c0f91decc9 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 09:33:19 +0800 Subject: [PATCH 18/23] =?UTF-8?q?=E7=BB=A9=E6=95=88=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java index 625d6c41..c12a39a6 100644 --- a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java +++ b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java @@ -16,9 +16,9 @@ public enum WorkMsgTypeEnum { PASS(3, "绩效通过", "去查看", "# 绩效通过\n ## 你的绩效已经通过"), URGING(4, "绩效催办", "去审批", "# 绩效催办\n ## @提醒您审批"), END(5, "绩效终止", "去查看", "# 绩效终止\n ## @,你的绩效终止"), - START_WORK(6, "绩效考评待办事项", "去查看", "# 绩效目标制定\n ## @,你的绩效需要制定目标"), - START_SCORE(7, "绩效考评待办事项", "去查看", "# 绩效结果输入\n ## @,你的绩效需要输入结果"), - PROCESS(8, "绩效考评待办事项", "去查看", "# @的绩效\n ## 需您去处理"), + START_WORK(6, "绩效考评待办事项", "去查看", "\n 绩效目标制定\n \n @,你的绩效需要制定目标"), + START_SCORE(7, "绩效考评待办事项", "去查看", "\n 绩效结果输入\n \n @,你的绩效需要输入结果"), + PROCESS(8, "绩效考评待办事项", "去查看", "\n @的绩效\n \n 需您去处理"), // 您的2020年10月绩效考核已经开始,请尽快制定绩效目标 // 吴林的2020年12月绩效考核的目标需要您确认,点击前往确认 ; From 3fa2094e781eb6adad0e93064137606a4e62a8a2 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 09:47:42 +0800 Subject: [PATCH 19/23] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E6=8F=90=E4=BA=A4=E6=97=B6=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E4=B8=8D=E5=AE=8C=E6=95=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/modules/job/business/DingtalkBusiness.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 d74f8bb9..195e60f6 100644 --- a/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java +++ b/src/main/java/com/lz/modules/job/business/DingtalkBusiness.java @@ -213,8 +213,10 @@ public class DingtalkBusiness { ResultRecord resultRecord = resultRecordService.selectResultRecordById(resultRecordId); if(resultRecord != null){ StaffSimpleInfo fromStaff = staffService.selectStaffSimpleInfo(resultRecord.getStaffId()); + fromStaff.setRecordId(resultRecord.getId()); + fromStaff.setStartId(resultRecord.getStartId()); List toStaffids; - if(type == WorkMsgTypeEnum.REJECT.getType()){ + if(type == WorkMsgTypeEnum.REJECT.getType()){//被拒 toStaffids = new ArrayList<>(); toStaffids.add(fromStaff); sendWorkMSGWithAsyn(fromStaff, toStaffids, WorkMsgTypeEnum.REJECT.getType()); @@ -228,6 +230,11 @@ public class DingtalkBusiness { } }).collect(Collectors.toList()); toStaffids = staffService.selectStaffSimpleInfos(ids); + for (StaffSimpleInfo simpleInfo:toStaffids + ) { + simpleInfo.setRecordId(resultRecord.getId()); + simpleInfo.setStartId(resultRecord.getStartId()); + } sendWorkMSGWithAsyn(fromStaff, toStaffids, WorkMsgTypeEnum.PROCESS.getType()); } From 672a5d8059a3233baf04ef714a8e9340d0a32938 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 10:01:11 +0800 Subject: [PATCH 20/23] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/common/utils/DingTalkUtil.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index b243c43d..b17c4ae1 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -337,13 +337,16 @@ public class DingTalkUtil { OapiWorkrecordAddRequest req = new OapiWorkrecordAddRequest(); req.setUserid(staff.getEmployeeId()); req.setCreateTime(System.currentTimeMillis()); - req.setTitle(singleTitle); + req.setTitle(title); req.setUrl(singleUrl); List list2 = new ArrayList(); OapiWorkrecordAddRequest.FormItemVo obj3 = new OapiWorkrecordAddRequest.FormItemVo(); list2.add(obj3); obj3.setTitle(title); - obj3.setContent(marDown); + //obj3.setContent(marDown); + obj3 = new OapiWorkrecordAddRequest.FormItemVo(); + list2.add(obj3); + obj3.setTitle(marDown); req.setFormItemList(list2); OapiWorkrecordAddResponse rsp = client.execute(req, token); From a63a28262c96c091a0c62908f01e4bd4842fc410 Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 10:05:12 +0800 Subject: [PATCH 21/23] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=BE=85=E5=8A=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/lz/common/utils/DingTalkUtil.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index b17c4ae1..1be706b1 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -343,10 +343,11 @@ public class DingTalkUtil { OapiWorkrecordAddRequest.FormItemVo obj3 = new OapiWorkrecordAddRequest.FormItemVo(); list2.add(obj3); obj3.setTitle(title); - //obj3.setContent(marDown); + obj3.setContent(marDown); obj3 = new OapiWorkrecordAddRequest.FormItemVo(); list2.add(obj3); obj3.setTitle(marDown); + obj3.setContent("123"); req.setFormItemList(list2); OapiWorkrecordAddResponse rsp = client.execute(req, token); From 9321fafdaaae44e011acbdba1c6fefa0e9ba6c2d Mon Sep 17 00:00:00 2001 From: wulin Date: Thu, 19 Nov 2020 11:18:36 +0800 Subject: [PATCH 22/23] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lz/common/emun/WorkMsgTypeEnum.java | 7 +- .../com/lz/common/utils/DingTalkUtil.java | 23 +++--- .../modules/app/entity/StaffSimpleInfo.java | 10 +-- .../service/impl/FlowStartServiceImpl.java | 10 +-- .../job/business/DingtalkBusiness.java | 72 ++++++++++++++----- 5 files changed, 85 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java index c12a39a6..848e08fa 100644 --- a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java +++ b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java @@ -16,9 +16,10 @@ public enum WorkMsgTypeEnum { PASS(3, "绩效通过", "去查看", "# 绩效通过\n ## 你的绩效已经通过"), URGING(4, "绩效催办", "去审批", "# 绩效催办\n ## @提醒您审批"), END(5, "绩效终止", "去查看", "# 绩效终止\n ## @,你的绩效终止"), - START_WORK(6, "绩效考评待办事项", "去查看", "\n 绩效目标制定\n \n @,你的绩效需要制定目标"), - START_SCORE(7, "绩效考评待办事项", "去查看", "\n 绩效结果输入\n \n @,你的绩效需要输入结果"), - PROCESS(8, "绩效考评待办事项", "去查看", "\n @的绩效\n \n 需您去处理"), + START_WORK(6, "绩效考评待办事项", "制定目标", "\n 绩效目标制定\n \n @,你的绩效需要制定目标"), + START_SCORE(7, "绩效考评待办事项", "输入结果", "\n 绩效结果输入\n \n @,你的绩效需要输入结果"), + PROCESS(8, "绩效考评待办事项", "目标确认", "\n @的绩效\n \n 需您去目标确认"), + SCORE(8, "绩效考评待办事项", "评分", "\n @的绩效\n \n 需您去评分"), // 您的2020年10月绩效考核已经开始,请尽快制定绩效目标 // 吴林的2020年12月绩效考核的目标需要您确认,点击前往确认 ; diff --git a/src/main/java/com/lz/common/utils/DingTalkUtil.java b/src/main/java/com/lz/common/utils/DingTalkUtil.java index 1be706b1..ceffca49 100644 --- a/src/main/java/com/lz/common/utils/DingTalkUtil.java +++ b/src/main/java/com/lz/common/utils/DingTalkUtil.java @@ -319,17 +319,19 @@ public class DingTalkUtil { return msg; } //发送待办任务 - public String sendSingleWorkMSG(String appid, StaffEntity staff, String title, String marDown, - String singleTitle, String singleUrl, String token) { + public String sendSingleWorkMSG(String appid, StaffEntity staff, String title, String title1, + String content1, String title2, + String content2, String title3, + String content3, String singleUrl, String token, String from) { String msg = "OK"; ThirdMsgSendRecord thirdMsgSendRecord = new ThirdMsgSendRecord(); thirdMsgSendRecord.setMsgType("work_msg"); thirdMsgSendRecord.setStaffId(staff.getId()); - thirdMsgSendRecord.setMsgTitle(singleTitle); + thirdMsgSendRecord.setMsgTitle(title1 + "#" + title2 + "#" + title3); thirdMsgSendRecord.setAppId(appid); thirdMsgSendRecord.setHeadText(title); - thirdMsgSendRecord.setMsgContent(marDown); + thirdMsgSendRecord.setMsgContent(content1 + "#" + content2 + "#" + content3); thirdMsgSendRecord.setMsgUrl(singleUrl); thirdMsgSendRecord.setStatus(0); try{ @@ -339,15 +341,20 @@ public class DingTalkUtil { req.setCreateTime(System.currentTimeMillis()); req.setTitle(title); req.setUrl(singleUrl); + req.setSourceName(from); List list2 = new ArrayList(); OapiWorkrecordAddRequest.FormItemVo obj3 = new OapiWorkrecordAddRequest.FormItemVo(); list2.add(obj3); - obj3.setTitle(title); - obj3.setContent(marDown); + obj3.setTitle(title1); + obj3.setContent(content1); obj3 = new OapiWorkrecordAddRequest.FormItemVo(); list2.add(obj3); - obj3.setTitle(marDown); - obj3.setContent("123"); + obj3.setTitle(title2); + obj3.setContent(content2); + obj3 = new OapiWorkrecordAddRequest.FormItemVo(); + list2.add(obj3); + obj3.setTitle(title3); + obj3.setContent(content3); req.setFormItemList(list2); OapiWorkrecordAddResponse rsp = client.execute(req, token); diff --git a/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java index 86eb9f05..3fc76ecd 100644 --- a/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java +++ b/src/main/java/com/lz/modules/app/entity/StaffSimpleInfo.java @@ -2,6 +2,8 @@ package com.lz.modules.app.entity; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.lz.modules.flow.entity.FlowStart; +import com.lz.modules.sys.entity.app.ResultRecord; import lombok.Data; import java.io.Serializable; @@ -46,10 +48,10 @@ public class StaffSimpleInfo implements Serializable { private String employeeId; //头像 private String avatar; - //本次发起任务的id - private Long startId; - //本次发起绩效的id - private Long recordId; + //本次发起任务的 + private ResultRecord resultRecord; + //本次发起的任务信息 + private FlowStart flowStart; diff --git a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java index 6418b9c9..727a3f44 100644 --- a/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java +++ b/src/main/java/com/lz/modules/flow/service/impl/FlowStartServiceImpl.java @@ -456,7 +456,7 @@ public class FlowStartServiceImpl extends ServiceImpl toStaffids; if(type == WorkMsgTypeEnum.REJECT.getType()){//被拒 toStaffids = new ArrayList<>(); @@ -232,8 +238,8 @@ public class DingtalkBusiness { toStaffids = staffService.selectStaffSimpleInfos(ids); for (StaffSimpleInfo simpleInfo:toStaffids ) { - simpleInfo.setRecordId(resultRecord.getId()); - simpleInfo.setStartId(resultRecord.getStartId()); + simpleInfo.setResultRecord(resultRecord); + simpleInfo.setFlowStart(flowStart); } sendWorkMSGWithAsyn(fromStaff, toStaffids, WorkMsgTypeEnum.PROCESS.getType()); } @@ -374,30 +380,62 @@ public class DingtalkBusiness { }else{ url += "?halokit=" + System.currentTimeMillis(); } - url += ("&detail=1&id=" + info.getRecordId()); + url += ("&detail=1&id=" + info.getResultRecord().getId()); url = URLEncoder.encode(url); url = "dingtalk://dingtalkclient/action/openapp?corpid=" + thirdAppConfig.getCorpId() + "&container_type=work_platform&app_id=0_" + appid + "&redirect_type=jump&redirect_url=" + url; - String content = null; - if(fromStaff == null){ - content = workMsgTypeEnum.getContent().replace("@", info.getName()); + if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.START_WORK.getType()){ + //发送制定目标通知 + StaffEntity entity = new StaffEntity(); + entity.setId(info.getId()); + entity.setEmployeeId(info.getEmployeeId()); + dingTalkUtil.sendSingleWorkMSG(appid, entity, workMsgTypeEnum.getTitle(), + "任务内容", "目标制定", + "考核名称", info.getFlowStart().getName(), + "被考核人", info.getResultRecord().getStaffName(), + url, token, "霖梓控股"); + }else if(workMsgTypeEnum.getType() == WorkMsgTypeEnum.START_SCORE.getType()){ + //发送开始评分通知 + StaffEntity entity = new StaffEntity(); + entity.setId(info.getId()); + entity.setEmployeeId(info.getEmployeeId()); + dingTalkUtil.sendSingleWorkMSG(appid, entity, workMsgTypeEnum.getTitle(), + "任务内容", "结果录入", + "考核名称", info.getFlowStart().getName(), + "被考核人", info.getResultRecord().getStaffName(), + url, token, "霖梓控股"); }else{ - if(fromStaff.getId() == info.getId()){ - content = workMsgTypeEnum.getContent().replace("@", "您"); + //流程流转通知 + List flowRecords = flowRecordService.selectFlowRecordByRecordIdStatus(info.getResultRecord().getId(), 2); + if(flowRecords.size() == 0){ + //任务结束 }else{ - content = workMsgTypeEnum.getContent().replace("@", fromStaff.getName()); - } + List ids = flowRecords.stream().map(new Function() { + @Override + public Long apply(FlowRecord flowRecord) { + return flowRecord.getApprovalStaffId(); + } + }).collect(Collectors.toList()); + List staffSimpleInfos = staffService.selectStaffSimpleInfos(ids); + for (StaffSimpleInfo staffSimpleInfo:staffSimpleInfos + ) { + StaffEntity entity = new StaffEntity(); + entity.setId(staffSimpleInfo.getId()); + entity.setEmployeeId(staffSimpleInfo.getEmployeeId()); + dingTalkUtil.sendSingleWorkMSG(appid, entity, workMsgTypeEnum.getTitle(), + "任务内容", flowRecords.get(0).getFlowName(), + "考核名称", info.getFlowStart().getName(), + "被考核人", info.getResultRecord().getStaffName(), + url, token, "霖梓控股"); + } + } } - StaffEntity entity = new StaffEntity(); - entity.setId(info.getId()); - entity.setEmployeeId(info.getEmployeeId()); - dingTalkUtil.sendSingleWorkMSG(appid, entity, workMsgTypeEnum.getTitle(), - content, workMsgTypeEnum.getBtnText(), url, token); + }else{ logger.info("ThreadSendMessage token无效"); ; } From b16c903f3a09f8170eeedcd239fde8acc99f1d2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=9C=E5=BB=BA=E8=B6=85?= <3182967682@qq.com> Date: Thu, 19 Nov 2020 11:32:00 +0800 Subject: [PATCH 23/23] ix --- .../performance/service/impl/AssessManagerServiceImpl.java | 7 ++++--- .../com/lz/modules/sys/dao/app/ResultRecordMapper.java | 2 +- src/main/resources/mapper/app/ResultRecordMapper.xml | 4 ++-- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java index 61347731..6662f31f 100644 --- a/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java +++ b/src/main/java/com/lz/modules/performance/service/impl/AssessManagerServiceImpl.java @@ -285,7 +285,7 @@ public class AssessManagerServiceImpl implements AssessManagerService { Long evaluation = group.getId(); int i = evaluationStartStaffService.updateBatchToScore(req.getStartId(), group.getId()); log.info("更新evaluationStartStaff 数据 为已评分 " + i); - List dtos = resultRecordMapper.selectToScoreList(req.getStartId(), evaluation); + List dtos = resultRecordMapper.selectToScoreList(req.getStartId(), evaluation); if(CollectionUtils.isNotEmpty(dtos)){ log.info("本次评分更新操作 num: " + dtos.size()); dtos.forEach(dto -> { @@ -304,8 +304,9 @@ public class AssessManagerServiceImpl implements AssessManagerService { //钉钉通知评分构建 StaffSimpleInfo staffSimpleInfo = new StaffSimpleInfo(); staffSimpleInfo.setId(dto.getStaffId()); - staffSimpleInfo.setRecordId(recordId); - staffSimpleInfo.setStartId(req.getStartId()); + staffSimpleInfo.setResultRecord(dto); + FlowStart start = flowStartMapper.selectFlowStartById(req.getStartId()); + staffSimpleInfo.setFlowStart(start); toStaffids.add(staffSimpleInfo); }); diff --git a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java index 9d97e66f..7955fc78 100644 --- a/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java +++ b/src/main/java/com/lz/modules/sys/dao/app/ResultRecordMapper.java @@ -94,7 +94,7 @@ public interface ResultRecordMapper extends BaseMapper { int batchDeleteByStartIdAndStaffId(@Param("startId")Long startId,@Param("staffIds") List staffIds); - List selectToScoreList(@Param("startId")Long startId, @Param("evaluationId")Long evaluationId); + List selectToScoreList(@Param("startId")Long startId, @Param("evaluationId")Long evaluationId); int countAssessNumJoin(@Param("req")AssessDetailReq req); diff --git a/src/main/resources/mapper/app/ResultRecordMapper.xml b/src/main/resources/mapper/app/ResultRecordMapper.xml index 4084fc0e..fc84d68f 100644 --- a/src/main/resources/mapper/app/ResultRecordMapper.xml +++ b/src/main/resources/mapper/app/ResultRecordMapper.xml @@ -580,8 +580,8 @@ ) - + select * from lz_result_record where is_delete = 0 and start_id = #{startId} and flow_process = 2 and evaluation_id = #{evaluationId}