Skip to content

Commit 7bf1a12

Browse files
committed
add FlowRecord workCode
1 parent ac75bb8 commit 7bf1a12

File tree

11 files changed

+113
-8
lines changed

11 files changed

+113
-8
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>com.codingapi.springboot</groupId>
1414
<artifactId>springboot-parent</artifactId>
15-
<version>2.9.5</version>
15+
<version>2.9.6</version>
1616

1717
<url>https://github.com/codingapi/springboot-framewrok</url>
1818
<name>springboot-parent</name>

springboot-starter-data-fast/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>springboot-parent</artifactId>
77
<groupId>com.codingapi.springboot</groupId>
8-
<version>2.9.5</version>
8+
<version>2.9.6</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

springboot-starter-flow/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>springboot-parent</artifactId>
88
<groupId>com.codingapi.springboot</groupId>
9-
<version>2.9.5</version>
9+
<version>2.9.6</version>
1010
</parent>
1111

1212
<name>springboot-starter-flow</name>

springboot-starter-flow/src/main/java/com/codingapi/springboot/flow/domain/FlowNode.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ public List<? extends IFlowOperator> loadFlowNodeOperator(FlowSession flowSessio
179179
* 创建流程记录
180180
*
181181
* @param workId 流程设计id
182+
* @param workCode 流程设计编码
182183
* @param processId 流程id
183184
* @param preId 上一条流程记录id
184185
* @param title 流程标题
@@ -188,6 +189,7 @@ public List<? extends IFlowOperator> loadFlowNodeOperator(FlowSession flowSessio
188189
* @return 流程记录
189190
*/
190191
public FlowRecord createRecord(long workId,
192+
String workCode,
191193
String processId,
192194
long preId,
193195
String title,
@@ -207,6 +209,7 @@ public FlowRecord createRecord(long workId,
207209
record.setNodeCode(this.code);
208210
record.setCreateTime(System.currentTimeMillis());
209211
record.setWorkId(workId);
212+
record.setWorkCode(workCode);
210213
record.setFlowStatus(FlowStatus.RUNNING);
211214
record.setPostponedCount(0);
212215
record.setCreateOperator(createOperator);

springboot-starter-flow/src/main/java/com/codingapi/springboot/flow/query/FlowRecordQuery.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ public interface FlowRecordQuery {
2121
Page<FlowRecord> findTodoByOperatorId(long operatorId, PageRequest pageRequest);
2222

2323

24+
/**
25+
* 查看个人的待办数据(指定流程)
26+
*
27+
* @param operatorId 操作人
28+
* @param workCode 流程编码
29+
* @return 流程记录
30+
*/
31+
Page<FlowRecord> findTodoByOperatorId(long operatorId,String workCode, PageRequest pageRequest);
32+
33+
2434
/**
2535
* 查看个人的已办数据
2636
* @param operatorId 操作人
@@ -29,6 +39,14 @@ public interface FlowRecordQuery {
2939
Page<FlowRecord> findDoneByOperatorId(long operatorId, PageRequest pageRequest);
3040

3141

42+
/**
43+
* 查看个人的已办数据 (指定流程)
44+
* @param operatorId 操作人
45+
* @param workCode 流程编码
46+
* @return 流程记录
47+
*/
48+
Page<FlowRecord> findDoneByOperatorId(long operatorId,String workCode, PageRequest pageRequest);
49+
3250
/**
3351
* 查看个人的发起数据 (含待办与已办)
3452
* @param operatorId 操作人
@@ -37,13 +55,28 @@ public interface FlowRecordQuery {
3755
Page<FlowRecord> findInitiatedByOperatorId(long operatorId, PageRequest pageRequest);
3856

3957

58+
/**
59+
* 查看个人的发起数据 (含待办与已办、指定流程)
60+
* @param operatorId 操作人
61+
* @param workCode 流程编码
62+
* @return 流程记录
63+
*/
64+
Page<FlowRecord> findInitiatedByOperatorId(long operatorId,String workCode, PageRequest pageRequest);
65+
4066
/**
4167
* 查看个人的超时的待办流程
4268
* @param operatorId 操作人
4369
* @return 流程记录
4470
*/
4571
Page<FlowRecord> findTimeoutTodoByOperatorId(long operatorId, PageRequest pageRequest);
4672

73+
/**
74+
* 查看个人的超时的待办流程 (指定流程)
75+
* @param operatorId 操作人
76+
* @param workCode 流程编码
77+
* @return 流程记录
78+
*/
79+
Page<FlowRecord> findTimeoutTodoByOperatorId(long operatorId,String workCode, PageRequest pageRequest);
4780

4881
/**
4982
* 查看个人的延期的待办流程
@@ -52,4 +85,13 @@ public interface FlowRecordQuery {
5285
*/
5386
Page<FlowRecord> findPostponedTodoByOperatorId(long operatorId, PageRequest pageRequest);
5487

88+
89+
/**
90+
* 查看个人的延期的待办流程
91+
* @param operatorId 操作人
92+
* @param workCode 流程编码
93+
* @return 流程记录
94+
*/
95+
Page<FlowRecord> findPostponedTodoByOperatorId(long operatorId,String workCode, PageRequest pageRequest);
96+
5597
}

springboot-starter-flow/src/main/java/com/codingapi/springboot/flow/record/FlowRecord.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ public class FlowRecord {
3333
* 工作id
3434
*/
3535
private long workId;
36+
37+
/**
38+
* 流程编码
39+
*/
40+
private String workCode;
41+
3642
/**
3743
* 流程id
3844
*/
@@ -367,6 +373,7 @@ public FlowRecord copy() {
367373
record.setPostponedCount(this.postponedCount);
368374
record.setPreId(this.preId);
369375
record.setWorkId(this.workId);
376+
record.setWorkCode(this.workCode);
370377
record.setProcessId(this.processId);
371378
record.setNodeCode(this.nodeCode);
372379
record.setTitle(this.title);

springboot-starter-flow/src/main/java/com/codingapi/springboot/flow/service/FlowRecordBuilderService.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ private List<FlowRecord> errMatcher(FlowNode currentNode, IFlowOperator currentO
120120
for (IFlowOperator operator : operators) {
121121
FlowSession content = new FlowSession(flowWork, currentNode, createOperator, operator, snapshot.toBindData(), opinion, historyRecords);
122122
String recordTitle = currentNode.generateTitle(content);
123-
FlowRecord record = currentNode.createRecord(flowWork.getId(), processId, preId, recordTitle, createOperator, operator, snapshot);
123+
FlowRecord record = currentNode.createRecord(flowWork.getId(),flowWork.getCode(), processId, preId, recordTitle, createOperator, operator, snapshot);
124124
recordList.add(record);
125125
}
126126
return recordList;
@@ -138,7 +138,7 @@ private List<FlowRecord> errMatcher(FlowNode currentNode, IFlowOperator currentO
138138
if (!matcherOperators.isEmpty()) {
139139
for (IFlowOperator matcherOperator : matcherOperators) {
140140
String recordTitle = node.generateTitle(content);
141-
FlowRecord record = node.createRecord(flowWork.getId(), processId, preId, recordTitle, createOperator, matcherOperator, snapshot);
141+
FlowRecord record = node.createRecord(flowWork.getId(),flowWork.getCode(), processId, preId, recordTitle, createOperator, matcherOperator, snapshot);
142142
recordList.add(record);
143143
}
144144
}
@@ -182,7 +182,7 @@ public List<FlowRecord> createRecord(FlowNode currentNode, IFlowOperator current
182182
String recordTitle = currentNode.generateTitle(flowSession);
183183
recordList = new ArrayList<>();
184184
for (IFlowOperator operator : operators) {
185-
FlowRecord record = currentNode.createRecord(workId, processId, preId, recordTitle, createOperator, operator, snapshot);
185+
FlowRecord record = currentNode.createRecord(workId,flowWork.getCode(), processId, preId, recordTitle, createOperator, operator, snapshot);
186186
recordList.add(record);
187187
}
188188
}

springboot-starter-flow/src/main/java/com/codingapi/springboot/flow/service/FlowService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.springframework.transaction.annotation.Transactional;
2121

2222
import java.util.ArrayList;
23+
import java.util.Arrays;
2324
import java.util.Collections;
2425
import java.util.List;
2526
import java.util.stream.Collectors;

springboot-starter-flow/src/test/java/com/codingapi/springboot/flow/repository/FlowRecordRepositoryImpl.java

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ public List<FlowRecord> findFlowRecordByPreId(long preId) {
4343
return cache.stream().filter(record -> record.getPreId() == preId).collect(Collectors.toList());
4444
}
4545

46+
47+
4648
@Override
4749
public List<FlowRecord> findFlowRecordByProcessId(String processId) {
4850
return cache.stream().filter(record -> record.getProcessId().equals(processId))
@@ -59,37 +61,87 @@ public Page<FlowRecord> findAll(PageRequest pageRequest) {
5961
return new PageImpl<>(cache);
6062
}
6163

64+
6265
@Override
6366
public Page<FlowRecord> findDoneByOperatorId(long operatorId,PageRequest pageRequest) {
6467
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isDone() && record.getCurrentOperator().getUserId() == operatorId).collect(Collectors.toList());
6568
return new PageImpl<>(flowRecords);
6669
}
6770

71+
@Override
72+
public Page<FlowRecord> findDoneByOperatorId(long operatorId, String workCode, PageRequest pageRequest) {
73+
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isDone()
74+
&& record.getCurrentOperator().getUserId() == operatorId
75+
&& record.getWorkCode().equals(workCode)
76+
).collect(Collectors.toList());
77+
return new PageImpl<>(flowRecords);
78+
}
79+
6880
@Override
6981
public Page<FlowRecord> findInitiatedByOperatorId(long operatorId,PageRequest pageRequest) {
7082
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isInitiated() && record.getCreateOperator().getUserId() == operatorId).collect(Collectors.toList());
7183
return new PageImpl<>(flowRecords);
7284
}
7385

86+
87+
@Override
88+
public Page<FlowRecord> findInitiatedByOperatorId(long operatorId, String workCode, PageRequest pageRequest) {
89+
List<FlowRecord> flowRecords = cache.stream().filter(
90+
record -> record.isInitiated()
91+
&& record.getCreateOperator().getUserId() == operatorId
92+
&& record.getWorkCode().equals(workCode)
93+
).collect(Collectors.toList());
94+
return new PageImpl<>(flowRecords);
95+
}
96+
97+
7498
@Override
7599
public Page<FlowRecord> findTodoByOperatorId(long operatorId,PageRequest pageRequest) {
76100
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isTodo() && record.getCurrentOperator().getUserId() == operatorId).collect(Collectors.toList());
77101
return new PageImpl<>(flowRecords);
78102
}
79103

104+
@Override
105+
public Page<FlowRecord> findTodoByOperatorId(long operatorId, String workCode, PageRequest pageRequest) {
106+
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isTodo() && record.getCurrentOperator().getUserId() == operatorId && record.getWorkCode().equals(workCode)).collect(Collectors.toList());
107+
return new PageImpl<>(flowRecords);
108+
}
109+
80110
@Override
81111
public Page<FlowRecord> findTimeoutTodoByOperatorId(long operatorId,PageRequest pageRequest) {
82112
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isTimeout() && record.isTodo() && record.getCurrentOperator().getUserId() == operatorId).collect(Collectors.toList());
83113
return new PageImpl<>(flowRecords);
84114
}
85115

86116

117+
118+
@Override
119+
public Page<FlowRecord> findTimeoutTodoByOperatorId(long operatorId, String workCode, PageRequest pageRequest) {
120+
List<FlowRecord> flowRecords = cache.stream().filter(
121+
record -> record.isTimeout()
122+
&& record.isTodo() && record.getCurrentOperator().getUserId() == operatorId
123+
&& record.getWorkCode().equals(workCode)
124+
).collect(Collectors.toList());
125+
return new PageImpl<>(flowRecords);
126+
}
127+
128+
87129
@Override
88130
public Page<FlowRecord> findPostponedTodoByOperatorId(long operatorId,PageRequest pageRequest) {
89131
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isPostponed() && record.isTodo() && record.getCurrentOperator().getUserId() == operatorId).collect(Collectors.toList());
90132
return new PageImpl<>(flowRecords);
91133
}
92134

135+
136+
@Override
137+
public Page<FlowRecord> findPostponedTodoByOperatorId(long operatorId, String workCode, PageRequest pageRequest) {
138+
List<FlowRecord> flowRecords = cache.stream().filter(record -> record.isPostponed()
139+
&& record.isTodo() && record.getCurrentOperator().getUserId() == operatorId
140+
&& record.getWorkCode().equals(workCode)
141+
).collect(Collectors.toList());
142+
return new PageImpl<>(flowRecords);
143+
}
144+
93145
@Override
94146
public void finishFlowRecordByProcessId(String processId) {
95147
cache.stream()

springboot-starter-security/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<artifactId>springboot-parent</artifactId>
88
<groupId>com.codingapi.springboot</groupId>
9-
<version>2.9.5</version>
9+
<version>2.9.6</version>
1010
</parent>
1111

1212
<artifactId>springboot-starter-security</artifactId>

springboot-starter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.codingapi.springboot</groupId>
77
<artifactId>springboot-parent</artifactId>
8-
<version>2.9.5</version>
8+
<version>2.9.6</version>
99
</parent>
1010
<artifactId>springboot-starter</artifactId>
1111

0 commit comments

Comments
 (0)