From 438aa129b55b4864349e247272c5be547a4bac8f Mon Sep 17 00:00:00 2001
From: quyixiao <2621048238@qq.com>
Date: Thu, 3 Sep 2020 10:43:47 +0800
Subject: [PATCH 1/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../interceptor/TxAdviceInterceptor.java | 69 +++++++++++++++++++
1 file changed, 69 insertions(+)
create mode 100644 src/main/java/com/lz/datasource/interceptor/TxAdviceInterceptor.java
diff --git a/src/main/java/com/lz/datasource/interceptor/TxAdviceInterceptor.java b/src/main/java/com/lz/datasource/interceptor/TxAdviceInterceptor.java
new file mode 100644
index 00000000..a1cbeba8
--- /dev/null
+++ b/src/main/java/com/lz/datasource/interceptor/TxAdviceInterceptor.java
@@ -0,0 +1,69 @@
+package com.lz.datasource.interceptor;
+
+import org.aspectj.lang.annotation.Aspect;
+import org.springframework.aop.Advisor;
+import org.springframework.aop.aspectj.AspectJExpressionPointcut;
+import org.springframework.aop.support.DefaultPointcutAdvisor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.TransactionDefinition;
+import org.springframework.transaction.interceptor.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by guozp on 2017/8/28.
+ */
+
+@Aspect
+@Configuration
+public class TxAdviceInterceptor {
+
+ private static final int TX_METHOD_TIMEOUT = 30;
+
+ private static final String AOP_POINTCUT_EXPRESSION = "execution (* com.lz..*.*Impl.*(..))";
+
+ @Autowired
+ private PlatformTransactionManager transactionManager;
+
+ @Bean
+ public TransactionInterceptor txAdvice() {
+ NameMatchTransactionAttributeSource source = new NameMatchTransactionAttributeSource();
+ /*当前存在事务就使用当前事务,当前不存在事务就创建一个新的事务*/
+ RuleBasedTransactionAttribute requiredTx = new RuleBasedTransactionAttribute();
+ List list = new ArrayList<>();
+ list.add(new RollbackRuleAttribute(RuntimeException.class));
+ list.add(new RollbackRuleAttribute(Exception.class));
+
+ requiredTx.setRollbackRules(list);
+ requiredTx.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
+ requiredTx.setTimeout(TX_METHOD_TIMEOUT);
+
+
+ Map txMap = new HashMap<>();
+ txMap.put("add*", requiredTx);
+ txMap.put("save*", requiredTx);
+ txMap.put("insert*", requiredTx);
+ txMap.put("update*", requiredTx);
+ txMap.put("delete*", requiredTx);
+ txMap.put("get*", requiredTx);
+ txMap.put("query*", requiredTx);
+ txMap.put("*", requiredTx);
+ source.setNameMap(txMap);
+
+ TransactionInterceptor txAdvice = new TransactionInterceptor(transactionManager, source);
+ return txAdvice;
+ }
+
+ @Bean
+ public Advisor txAdviceAdvisor() {
+ AspectJExpressionPointcut pointcut = new AspectJExpressionPointcut();
+ pointcut.setExpression(AOP_POINTCUT_EXPRESSION);
+ return new DefaultPointcutAdvisor(pointcut, txAdvice());
+ }
+}
From 17bbdde7297e25065c3b23006fcf25911e063026 Mon Sep 17 00:00:00 2001
From: wulin
Date: Thu, 3 Sep 2020 14:42:10 +0800
Subject: [PATCH 2/6] =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E6=97=B6=E6=8C=89?=
=?UTF-8?q?=E7=BA=A7=E9=A9=B3=E5=9B=9E=EF=BC=8C=E6=8C=89=E7=BA=A7=E6=8E=A8?=
=?UTF-8?q?=E9=80=81=E6=B6=88=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java | 2 +-
.../sys/service/app/impl/ResultRecordServiceImpl.java | 11 ++++++++---
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java
index 6581a5c2..98f574f1 100644
--- a/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java
+++ b/src/main/java/com/lz/common/emun/WorkMsgTypeEnum.java
@@ -9,7 +9,7 @@ public enum WorkMsgTypeEnum {
//绩效提交审核的通知(自己提交给领导,自己提交给人事,人事提交给老板)
SUBMIT(0, "绩效提交", "去审核", "# 绩效提交\n ## @的绩效已经提交"),
//绩效打回审核的通知
- REJECT(1, "绩效驳回", "去修改", "# 绩效驳回\n ## 你的绩效已经驳回"),
+ REJECT(1, "绩效驳回", "去修改", "# 绩效驳回\n ## @的绩效已经驳回"),
//绩效通过领导审核的通知,这一步提交到HR,提交的type
LEADER_PASS(2, "绩效已打分", "去提交给人事", "# 绩效已打分\n ## 你的绩效已经打分"),
//绩效通过人事,老板审核的最终审核通知
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 48675d0b..407fc227 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
@@ -507,6 +507,8 @@ public class ResultRecordServiceImpl extends ServiceImpl flowRecords = flowRecordService.selectFlowRecordByResultRecordIdFlowId(req.getRecordResultId());
+ StaffEntity mySelf = staffService.selectStaffById(resultRecord.getStaffId());
+ StaffEntity approvalStaff = mySelf;
if (flowRecords.size() >= 2) {
FlowRecord secondFlowRecord = flowRecords.get(flowRecords.size() - 2);
resultRecord.setFlowStaffIdRole(secondFlowRecord.getFlowStaffIdRole());
@@ -514,7 +516,7 @@ public class ResultRecordServiceImpl extends ServiceImpl list = JSONObject.parseArray(resultRecord.getFlowStaffIdRole(), StaffRoleDto.class);
if (CollectionUtils.isNotEmpty(list)) {
StaffRoleDto staffRoleDto = list.get(0);
- StaffEntity approvalStaff = staffService.selectStaffById(staffRoleDto.getStaffId());
+ approvalStaff = staffService.selectStaffById(staffRoleDto.getStaffId());
resultRecord.setCurrentApprovalStaffId(approvalStaff != null ? approvalStaff.getId() : null);
resultRecord.setCurrentApprovalStaffName(approvalStaff != null ? approvalStaff.getName() : null);
}
@@ -531,10 +533,13 @@ public class ResultRecordServiceImpl extends ServiceImpl
Date: Thu, 3 Sep 2020 15:18:15 +0800
Subject: [PATCH 3/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lz/modules/sys/service/app/impl/ResultRecordServiceImpl.java | 1 +
1 file changed, 1 insertion(+)
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 48675d0b..74fe4bee 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
@@ -529,6 +529,7 @@ public class ResultRecordServiceImpl extends ServiceImpl
Date: Thu, 3 Sep 2020 15:31:59 +0800
Subject: [PATCH 4/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/sys/service/app/impl/ResultDetailServiceImpl.java | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java
index 0fabed64..70497c82 100644
--- a/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java
+++ b/src/main/java/com/lz/modules/sys/service/app/impl/ResultDetailServiceImpl.java
@@ -277,6 +277,7 @@ public class ResultDetailServiceImpl extends ServiceImpl
Date: Thu, 3 Sep 2020 16:21:19 +0800
Subject: [PATCH 5/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../lz/modules/flow/dao/FlowRecordMapper.java | 2 ++
.../lz/modules/flow/entity/FlowRecord.java | 20 +++++++++++++-
.../lz/modules/flow/enums/FlowRecordEnum.java | 26 +++++++++++++++++++
.../flow/service/FlowRecordService.java | 2 ++
.../service/impl/FlowRecordServiceImpl.java | 7 +++++
.../app/impl/ResultDetailServiceImpl.java | 26 +------------------
.../app/impl/ResultRecordServiceImpl.java | 22 ++++++++++++++--
.../mapper/flow/FlowRecordMapper.xml | 18 ++++++++++---
src/test/java/com/lz/mysql/MysqlMain.java | 2 +-
9 files changed, 93 insertions(+), 32 deletions(-)
create mode 100644 src/main/java/com/lz/modules/flow/enums/FlowRecordEnum.java
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 12e9bef4..5109f97f 100644
--- a/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java
+++ b/src/main/java/com/lz/modules/flow/dao/FlowRecordMapper.java
@@ -42,4 +42,6 @@ public interface FlowRecordMapper extends BaseMapper {
List selectFlowRecordByResultRecordIdFlowId(@Param("recordId") Long recordId);
List selectFlowRecordByFlowId(@Param("recordId") Long recordId);
+
+ FlowRecord selectLastFlowNoStatusRecordByRecordId(@Param("recordId") Long recordId);
}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/flow/entity/FlowRecord.java b/src/main/java/com/lz/modules/flow/entity/FlowRecord.java
index d4af8ac9..0b635bb7 100644
--- a/src/main/java/com/lz/modules/flow/entity/FlowRecord.java
+++ b/src/main/java/com/lz/modules/flow/entity/FlowRecord.java
@@ -9,7 +9,7 @@ import java.util.Date;
* 菜单权限表
*
*流转记录表
* @author quyixiao
-* @since 2020-08-21
+* @since 2020-09-03
*/
@Data
@@ -44,6 +44,8 @@ public class FlowRecord implements java.io.Serializable {
private Integer status;
// 员工&权限id
private String flowStaffIdRole;
+ //状态名称
+ private String statusName;
/**
*
* @return
@@ -254,6 +256,21 @@ public class FlowRecord implements java.io.Serializable {
this.flowStaffIdRole = flowStaffIdRole;
}
+ /**
+ * 状态名称
+ * @return
+ */
+ public String getStatusName() {
+ return statusName;
+ }
+ /**
+ * 状态名称
+ * @param statusName
+ */
+ public void setStatusName(String statusName) {
+ this.statusName = statusName;
+ }
+
@Override
public String toString() {
return "FlowRecord{" +
@@ -271,6 +288,7 @@ public class FlowRecord implements java.io.Serializable {
",flowIndex=" + flowIndex +
",status=" + status +
",flowStaffIdRole=" + flowStaffIdRole +
+ ",statusName=" + statusName +
"}";
}
}
\ No newline at end of file
diff --git a/src/main/java/com/lz/modules/flow/enums/FlowRecordEnum.java b/src/main/java/com/lz/modules/flow/enums/FlowRecordEnum.java
new file mode 100644
index 00000000..f71af01e
--- /dev/null
+++ b/src/main/java/com/lz/modules/flow/enums/FlowRecordEnum.java
@@ -0,0 +1,26 @@
+package com.lz.modules.flow.enums;
+
+
+public enum FlowRecordEnum {
+ APPROVAL("通过"), REJECT("驳回"),COMMIT("提交"), CONFIRM("确认中"), START("开始"), END("结束"),APPROVALING("审批中");
+
+ private String name;
+
+
+ FlowRecordEnum(String name) {
+ this.name = name;
+ }
+
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static void main(String[] args) {
+ System.out.println(APPROVAL.getName());
+ }
+}
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 b1fd5ef3..f81778e3 100644
--- a/src/main/java/com/lz/modules/flow/service/FlowRecordService.java
+++ b/src/main/java/com/lz/modules/flow/service/FlowRecordService.java
@@ -44,4 +44,6 @@ public interface FlowRecordService extends IService {
List selectFlowRecordByResultRecordIdFlowId(Long recordResultId);
List selectFlowRecordByFlowId(Long recordId);
+
+ FlowRecord selectLastFlowNoStatusRecordByRecordId(Long resultRecordId);
}
\ 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 66bed480..e018ea91 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
@@ -7,6 +7,7 @@ import com.lz.modules.app.service.StaffService;
import com.lz.modules.app.utils.t.OneTuple;
import com.lz.modules.flow.dao.FlowRecordMapper;
import com.lz.modules.flow.entity.FlowRecord;
+import com.lz.modules.flow.enums.FlowRecordEnum;
import com.lz.modules.flow.model.StaffRoleDto;
import com.lz.modules.flow.service.FlowRecordService;
import com.lz.modules.sys.entity.app.ResultRecord;
@@ -102,6 +103,7 @@ public class FlowRecordServiceImpl extends ServiceImpl flows = flowService.selectByFlowId(flowId);
FlowRecord lastFlowRecord = flowRecordService.selectLastFlowRecordByRecordId(resultRecordId);
FlowRecord notFlowRecord = flowRecordService.selectNotApprovalStaffIdFlowRecords(resultRecord.getId());
@@ -385,6 +385,7 @@ public class ResultRecordServiceImpl extends ServiceImpl= approvalList.size()) { //表示流程己经结束
lastFlowRecord.setFlowName(mySelf.getName() + "-审批通过");
+ lastFlowRecord.setStatusName(FlowRecordEnum.END.getName());
flowRecordService.updateCoverFlowRecordById(lastFlowRecord);
resultRecordService.updateFlowStaffIdRoleToNull(resultRecord.getId());// 更新用户权限
return R.ok("流程审批结束")
@@ -428,6 +429,18 @@ public class ResultRecordServiceImpl extends ServiceImpl
+
- id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, department_level AS departmentLevel, record_id AS recordId, approval_staff_id AS approvalStaffId, approval_staff_name AS approvalStaffName, flow_name AS flowName, record_staff_id AS recordStaffId, flow_id AS flowId, flow_index AS flowIndex, status AS status, flow_staff_id_role AS flowStaffIdRole
+ id AS id, is_delete AS isDelete, gmt_create AS gmtCreate, gmt_modified AS gmtModified, department_level AS departmentLevel, record_id AS recordId, approval_staff_id AS approvalStaffId, approval_staff_name AS approvalStaffName, flow_name AS flowName, record_staff_id AS recordStaffId, flow_id AS flowId, flow_index AS flowIndex, status AS status, flow_staff_id_role AS flowStaffIdRole, status_name AS statusName
@@ -46,6 +47,7 @@
flow_index,
status,
flow_staff_id_role,
+ status_name,
is_delete,
gmt_create,
gmt_modified
@@ -60,6 +62,7 @@
#{ flowIndex},
#{ status},
#{ flowStaffIdRole},
+ #{ statusName},
0,
now(),
now()
@@ -82,7 +85,8 @@
flow_id = #{flowId},
flow_index = #{flowIndex},
status = #{status},
- flow_staff_id_role = #{flowStaffIdRole}
+ flow_staff_id_role = #{flowStaffIdRole},
+ status_name = #{statusName}
,gmt_modified = now()
where id = #{id}
@@ -104,7 +108,8 @@
flow_id = #{flowId},
flow_index = #{flowIndex},
status = #{status},
- flow_staff_id_role = #{flowStaffIdRole}
+ flow_staff_id_role = #{flowStaffIdRole},
+ status_name = #{statusName}
,gmt_modified = now()
where id = #{id}
@@ -116,6 +121,9 @@
+
+
+
@@ -138,6 +146,10 @@
select * from lz_flow_record where is_delete = 0 and record_id = #{recordId}
+
+
diff --git a/src/test/java/com/lz/mysql/MysqlMain.java b/src/test/java/com/lz/mysql/MysqlMain.java
index 52c8fa88..479cac29 100644
--- a/src/test/java/com/lz/mysql/MysqlMain.java
+++ b/src/test/java/com/lz/mysql/MysqlMain.java
@@ -63,7 +63,7 @@ public class MysqlMain {
}
List list = new ArrayList();
- list.add(new TablesBean("lz_result_detail"));
+ list.add(new TablesBean("lz_flow_record"));
List list2 = new ArrayList();
Map map = MysqlUtil2ShowCreateTable.getComments();
From fb45fbebdc3ca30562ee3d8f56819542e307106d Mon Sep 17 00:00:00 2001
From: quyixiao <2621048238@qq.com>
Date: Thu, 3 Sep 2020 16:28:48 +0800
Subject: [PATCH 6/6] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?=
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, 2 insertions(+), 2 deletions(-)
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 32183ea7..0d8336e4 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
@@ -435,10 +435,10 @@ public class ResultRecordServiceImpl extends ServiceImpl