Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datacollector
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenweisong
datacollector
Commits
8a66fd97
Commit
8a66fd97
authored
Mar 26, 2020
by
chenweisong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新
parent
5475c19a
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
88 additions
and
50 deletions
+88
-50
ExcelController.java
...n/java/com/keymobile/rest/controller/ExcelController.java
+2
-0
TaskController.java
...in/java/com/keymobile/rest/controller/TaskController.java
+10
-19
UserController.java
...in/java/com/keymobile/rest/controller/UserController.java
+3
-1
MissionDao.java
src/main/java/com/keymobile/rest/dao/MissionDao.java
+1
-0
MissionService.java
src/main/java/com/keymobile/rest/service/MissionService.java
+4
-0
MoreSubProcessTestV2.bpmn
src/main/resources/MoreSubProcessTestV2.bpmn
+68
-30
No files found.
src/main/java/com/keymobile/rest/controller/ExcelController.java
View file @
8a66fd97
...
@@ -59,9 +59,11 @@ public class ExcelController {
...
@@ -59,9 +59,11 @@ public class ExcelController {
String
processId
=
mission
.
getProcess
().
getProcessId
();
String
processId
=
mission
.
getProcess
().
getProcessId
();
String
taskId
=
mission
.
getTaskId
();
String
taskId
=
mission
.
getTaskId
();
// 发起人把流程发送到下一个人
// 发起人把流程发送到下一个人
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processId
).
taskId
(
taskId
)
Task
task
=
taskService
.
createTaskQuery
().
processInstanceId
(
processId
).
taskId
(
taskId
)
.
singleResult
();
.
singleResult
();
Map
vars
=
new
HashMap
<>();
Map
vars
=
new
HashMap
<>();
if
(
template
.
getNeedAudit
()
==
Template
.
NEED_AUDIT
)
{
if
(
template
.
getNeedAudit
()
==
Template
.
NEED_AUDIT
)
{
vars
.
put
(
"sign"
,
true
);
vars
.
put
(
"sign"
,
true
);
...
...
src/main/java/com/keymobile/rest/controller/TaskController.java
View file @
8a66fd97
...
@@ -98,28 +98,20 @@ public class TaskController {
...
@@ -98,28 +98,20 @@ public class TaskController {
// TwinkleValidator.notNull(user, "用户不存在");
// TwinkleValidator.notNull(user, "用户不存在");
List
<
Map
>
missions
=
new
ArrayList
<>();
List
<
Map
>
missions
=
new
ArrayList
<>();
List
<
User
>
userList
=
userService
.
findAll
();
List
<
User
>
userList
=
userService
.
findAll
();
StringBuilder
assigneesBuilder
=
new
StringBuilder
();
assigneesBuilder
.
append
(
"("
);
userList
.
forEach
(
user
->
{
userList
.
forEach
(
user
->
{
assigneesBuilder
.
append
(
"'"
+
user
.
getUsername
()
+
"'"
).
append
(
","
);
// 查找当前用户所有的activiti task
});
String
sql
=
"SELECT * FROM "
+
managementService
.
getTableName
(
Task
.
class
)
+
" T WHERE T.ASSIGNEE_ like #{assignee}"
;
String
assignees
=
assigneesBuilder
.
substring
(
0
,
assigneesBuilder
.
length
()
-
1
)
+
")"
;
// 获取任务
String
sql
=
"SELECT * FROM "
+
managementService
.
getTableName
(
Task
.
class
)
+
" T WHERE T.ASSIGNEE_ in "
+
assignees
;
List
<
Task
>
tasks
=
taskService
.
createNativeTaskQuery
()
List
<
Task
>
tasks
=
taskService
.
createNativeTaskQuery
()
.
sql
(
sql
)
.
sql
(
sql
)
.
parameter
(
"assignee"
,
user
.
getUsername
()
+
":templateId:"
)
.
list
();
.
list
();
tasks
.
forEach
(
task
->
{
for
(
Task
task
:
tasks
)
{
String
assignee
=
task
.
getAssignee
();
long
templateId
=
Long
.
parseLong
(
assignee
.
split
(
":templateId:"
)[
1
]);
String
processId
=
task
.
getProcessInstanceId
();
String
processId
=
task
.
getProcessInstanceId
();
Process
process
=
processService
.
findByProcessId
(
processId
);
Mission
mission
=
missionService
.
findByProcessIdAndUsernameAndTemplateIdAndStatus
(
processId
,
user
.
getUsername
(),
templateId
,
Mission
.
STATUS_BEGIN
);
List
<
Mission
>
missionList
=
process
.
getMissionList
();
if
(
process
!=
null
&&
missionList
.
size
()
>
0
)
{
missionList
.
forEach
(
mission
->
{
// 只能查看得时候更新这个人属于这个进行得任务id
mission
.
setTaskId
(
task
.
getId
());
mission
.
setTaskId
(
task
.
getId
());
missionService
.
save
(
mission
);
missionService
.
save
(
mission
);
Map
map
=
new
HashMap
();
Map
map
=
new
HashMap
();
map
.
put
(
"id"
,
mission
.
getId
());
map
.
put
(
"id"
,
mission
.
getId
());
map
.
put
(
"userId"
,
mission
.
getUser
().
getId
());
map
.
put
(
"userId"
,
mission
.
getUser
().
getId
());
...
@@ -131,11 +123,10 @@ public class TaskController {
...
@@ -131,11 +123,10 @@ public class TaskController {
}
else
{
}
else
{
map
.
put
(
"kind"
,
2
);
map
.
put
(
"kind"
,
2
);
}
}
missions
.
add
(
map
);
missions
.
add
(
map
);
});
});
}
}
}
);
return
ApiResponse
.
ok
(
missions
);
return
ApiResponse
.
ok
(
missions
);
}
}
...
@@ -256,7 +247,7 @@ public class TaskController {
...
@@ -256,7 +247,7 @@ public class TaskController {
// 更新mission
// 更新mission
missionService
.
save
(
mission
);
missionService
.
save
(
mission
);
User
user
=
mission
.
getUser
();
User
user
=
mission
.
getUser
();
userNameList
.
add
(
user
.
getUsername
());
userNameList
.
add
(
user
.
getUsername
()
+
":template:"
+
template
.
getId
()
);
});
});
allMissions
.
addAll
(
missionList
);
allMissions
.
addAll
(
missionList
);
});
});
...
...
src/main/java/com/keymobile/rest/controller/UserController.java
View file @
8a66fd97
...
@@ -77,10 +77,12 @@ public class UserController {
...
@@ -77,10 +77,12 @@ public class UserController {
User
user
=
userService
.
findById
(
userId
);
User
user
=
userService
.
findById
(
userId
);
TwinkleValidator
.
notNull
(
user
,
"所选用户不存在"
);
TwinkleValidator
.
notNull
(
user
,
"所选用户不存在"
);
TwinkleValidator
.
isTrue
(
scope
.
getGroup
().
getId
()
==
user
.
getGroup
().
getId
(),
"所选用户与所选范围不属于同一机构"
);
TwinkleValidator
.
isTrue
(
scope
.
getGroup
().
getId
()
==
user
.
getGroup
().
getId
(),
"所选用户与所选范围不属于同一机构"
);
List
<
User
>
userList
=
new
ArrayList
<>();
List
<
User
>
userList
=
scope
.
getUserList
();
if
(!
userList
.
contains
(
user
))
{
userList
.
add
(
user
);
userList
.
add
(
user
);
scope
.
setUserList
(
userList
);
scope
.
setUserList
(
userList
);
recordScopeService
.
save
(
scope
);
recordScopeService
.
save
(
scope
);
}
return
ApiResponse
.
ok
();
return
ApiResponse
.
ok
();
}
}
...
...
src/main/java/com/keymobile/rest/dao/MissionDao.java
View file @
8a66fd97
...
@@ -10,4 +10,5 @@ public interface MissionDao extends JpaRepository<Mission, Long> {
...
@@ -10,4 +10,5 @@ public interface MissionDao extends JpaRepository<Mission, Long> {
List
<
Mission
>
findAllByTemplateIdAndStatus
(
long
templateId
,
int
status
);
List
<
Mission
>
findAllByTemplateIdAndStatus
(
long
templateId
,
int
status
);
Mission
findByProcessIdAndUserUsernameAndTemplateIdAndStatus
(
String
processId
,
String
username
,
long
templateId
,
int
status
);
}
}
src/main/java/com/keymobile/rest/service/MissionService.java
View file @
8a66fd97
...
@@ -38,6 +38,10 @@ public class MissionService {
...
@@ -38,6 +38,10 @@ public class MissionService {
return
missionDao
.
getOne
(
missionId
);
return
missionDao
.
getOne
(
missionId
);
}
}
public
Mission
findByProcessIdAndUsernameAndTemplateIdAndStatus
(
String
processId
,
String
username
,
long
templateId
,
int
status
)
{
return
missionDao
.
findByProcessIdAndUserUsernameAndTemplateIdAndStatus
(
processId
,
username
,
templateId
,
status
);
}
public
List
<
Mission
>
findAllByTemplateIdAndStatus
(
long
templateId
,
int
status
)
{
public
List
<
Mission
>
findAllByTemplateIdAndStatus
(
long
templateId
,
int
status
)
{
return
missionDao
.
findAllByTemplateIdAndStatus
(
templateId
,
status
);
return
missionDao
.
findAllByTemplateIdAndStatus
(
templateId
,
status
);
}
}
...
...
src/main/resources/MoreSubProcessTestV2.bpmn
View file @
8a66fd97
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions
xmlns=
"http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti=
"http://activiti.org/bpmn"
xmlns:bpmndi=
"http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc=
"http://www.omg.org/spec/DD/20100524/DC"
xmlns:omgdi=
"http://www.omg.org/spec/DD/20100524/DI"
xmlns:tns=
"http://www.activiti.org/test"
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
expressionLanguage=
"http://www.w3.org/1999/XPath"
id=
"m1585034942112"
name=
""
targetNamespace=
"http://www.activiti.org/test"
typeLanguage=
"http://www.w3.org/2001/XMLSchema"
>
<definitions
xmlns=
"http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:activiti=
"http://activiti.org/bpmn"
xmlns:bpmndi=
"http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc=
"http://www.omg.org/spec/DD/20100524/DC"
xmlns:omgdi=
"http://www.omg.org/spec/DD/20100524/DI"
xmlns:tns=
"http://www.activiti.org/test"
xmlns:xsd=
"http://www.w3.org/2001/XMLSchema"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
expressionLanguage=
"http://www.w3.org/1999/XPath"
id=
"m1585034942112"
name=
""
targetNamespace=
"http://www.activiti.org/test"
typeLanguage=
"http://www.w3.org/2001/XMLSchema"
>
<process
id=
"moreSubProcess"
isClosed=
"false"
isExecutable=
"true"
name=
"moreSubProcess"
processType=
"None"
>
<process
id=
"moreSubProcess"
isClosed=
"false"
isExecutable=
"true"
name=
"moreSubProcess"
processType=
"None"
>
<startEvent
id=
"startevent1"
name=
"Start"
/>
<startEvent
id=
"startevent1"
name=
"Start"
/>
<userTask
activiti:assignee=
"${inputUser}"
activiti:exclusive=
"true"
id=
"startEntry"
name=
"开始录入"
/>
<userTask
activiti:assignee=
"${inputUser}"
activiti:exclusive=
"true"
id=
"startEntry"
name=
"开始录入"
/>
<userTask
activiti:candidateUsers=
"${groupDataStandardServiceImpl.findAssigneesForProcess(execution,"group5")}"
activiti:exclusive=
"true"
id=
"headApply"
name=
"负责人审核"
/>
<userTask
activiti:candidateUsers=
"${groupDataStandardServiceImpl.findAssigneesForProcess(execution,"group5")}"
activiti:exclusive=
"true"
id=
"headApply"
name=
"负责人审核"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway2"
name=
"Exclusive Gateway"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway2"
name=
"Exclusive Gateway"
/>
<endEvent
id=
"endevent2"
name=
"End"
/>
<endEvent
id=
"endevent2"
name=
"End"
/>
<userTask
activiti:candidateUsers=
"${groupDataStandardServiceImpl.findAssigneesForProcess(execution,"group4")}"
activiti:exclusive=
"true"
id=
"dataBackFlow"
name=
"数据回流"
/>
<userTask
activiti:candidateUsers=
"${groupDataStandardServiceImpl.findAssigneesForProcess(execution,"group4")}"
activiti:exclusive=
"true"
id=
"dataBackFlow"
name=
"数据回流"
/>
<sequenceFlow
id=
"flow1"
sourceRef=
"startevent1"
targetRef=
"startEntry"
/>
<sequenceFlow
id=
"flow1"
sourceRef=
"startevent1"
targetRef=
"startEntry"
/>
<sequenceFlow
id=
"flow11"
sourceRef=
"headApply"
targetRef=
"exclusivegateway2"
/>
<sequenceFlow
id=
"flow11"
sourceRef=
"headApply"
targetRef=
"exclusivegateway2"
/>
<sequenceFlow
id=
"flow12"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway2"
targetRef=
"endevent2"
/>
<sequenceFlow
id=
"flow12"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway2"
<sequenceFlow
id=
"flow13"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway2"
targetRef=
"dataBackFlow"
/>
targetRef=
"endevent2"
/>
<sequenceFlow
id=
"flow13"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway2"
targetRef=
"dataBackFlow"
/>
<sequenceFlow
id=
"flow14"
sourceRef=
"dataBackFlow"
targetRef=
"endevent2"
/>
<sequenceFlow
id=
"flow14"
sourceRef=
"dataBackFlow"
targetRef=
"endevent2"
/>
<subProcess
activiti:exclusive=
"true"
id=
"entrySubprocess"
name=
"录入子流程"
triggeredByEvent=
"false"
>
<subProcess
activiti:exclusive=
"true"
id=
"entrySubprocess"
name=
"录入子流程"
triggeredByEvent=
"false"
>
<multiInstanceLoopCharacteristics
activiti:collection=
"candiateUserList"
activiti:elementVariable=
"candiateUser"
isSequential=
"false"
>
<multiInstanceLoopCharacteristics
activiti:collection=
"candiateUserList"
activiti:elementVariable=
"candiateUser"
isSequential=
"false"
>
<completionCondition>
<completionCondition>
<!-- 这里表示当完成数和总数相等的时候到下一步 -->
<!-- 这里表示当完成数和总数相等的时候到下一步 -->
<![CDATA[${nrOfCompletedInstances/nrOfInstances == 1}]]>
<![CDATA[${nrOfCompletedInstances/nrOfInstances == 1}]]>
</completionCondition>
</completionCondition>
</multiInstanceLoopCharacteristics>
</multiInstanceLoopCharacteristics>
<startEvent
id=
"startevent2"
name=
"Start"
/>
<startEvent
id=
"startevent2"
name=
"Start"
/>
<userTask
activiti:assignee=
"${candiateUser}"
activiti:async=
"true"
activiti:exclusive=
"true"
id=
"dataEntrySubTask"
name=
"数据录入子任务"
/>
<userTask
activiti:assignee=
"${candiateUser}"
activiti:async=
"true"
activiti:exclusive=
"true"
id=
"dataEntrySubTask"
name=
"数据录入子任务"
/>
<userTask
activiti:assignee=
"${inputDataApply}"
activiti:exclusive=
"true"
id=
"dataApply"
name=
"数据审核人员"
/>
<userTask
activiti:assignee=
"${inputDataApply}"
activiti:exclusive=
"true"
id=
"dataApply"
name=
"数据审核人员"
/>
<endEvent
id=
"endevent3"
name=
"End"
/>
<endEvent
id=
"endevent3"
name=
"End"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway3"
name=
"Exclusive Gateway"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway3"
name=
"Exclusive Gateway"
/>
<sequenceFlow
id=
"flow17"
sourceRef=
"startevent2"
targetRef=
"dataEntrySubTask"
/>
<sequenceFlow
id=
"flow17"
sourceRef=
"startevent2"
targetRef=
"dataEntrySubTask"
/>
<sequenceFlow
id=
"flow21"
sourceRef=
"dataApply"
targetRef=
"exclusivegateway3"
/>
<sequenceFlow
id=
"flow21"
sourceRef=
"dataApply"
targetRef=
"exclusivegateway3"
/>
<sequenceFlow
id=
"flow22"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway3"
targetRef=
"dataEntrySubTask"
/>
<sequenceFlow
id=
"flow22"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway3"
<sequenceFlow
id=
"flow23"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway3"
targetRef=
"endevent3"
/>
targetRef=
"dataEntrySubTask"
/>
<sequenceFlow
id=
"flow23"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway3"
targetRef=
"endevent3"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway4"
name=
"Exclusive Gateway"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway4"
name=
"Exclusive Gateway"
/>
<sequenceFlow
id=
"flow24"
sourceRef=
"dataEntrySubTask"
targetRef=
"exclusivegateway4"
/>
<sequenceFlow
id=
"flow24"
sourceRef=
"dataEntrySubTask"
targetRef=
"exclusivegateway4"
/>
<sequenceFlow
id=
"flow25"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway4"
targetRef=
"dataApply"
/>
<sequenceFlow
id=
"flow25"
name=
"Y"
skipExpression=
"${sign=='true'}"
sourceRef=
"exclusivegateway4"
<sequenceFlow
id=
"flow26"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway4"
targetRef=
"endevent3"
/>
targetRef=
"dataApply"
/>
<sequenceFlow
id=
"flow26"
name=
"N"
skipExpression=
"${sign=='false'}"
sourceRef=
"exclusivegateway4"
targetRef=
"endevent3"
/>
</subProcess>
</subProcess>
<sequenceFlow
id=
"flow15"
sourceRef=
"startEntry"
targetRef=
"entrySubprocess"
/>
<sequenceFlow
id=
"flow15"
sourceRef=
"startEntry"
targetRef=
"entrySubprocess"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway5"
name=
"Exclusive Gateway"
/>
<exclusiveGateway
gatewayDirection=
"Unspecified"
id=
"exclusivegateway5"
name=
"Exclusive Gateway"
/>
<sequenceFlow
id=
"flow27"
name=
"Y"
skipExpression=
"${applySign=='true'}"
sourceRef=
"exclusivegateway5"
targetRef=
"headApply"
/>
<sequenceFlow
id=
"flow27"
name=
"Y"
skipExpression=
"${applySign=='true'}"
sourceRef=
"exclusivegateway5"
targetRef=
"headApply"
/>
<sequenceFlow
id=
"flow28"
sourceRef=
"entrySubprocess"
targetRef=
"exclusivegateway5"
/>
<sequenceFlow
id=
"flow28"
sourceRef=
"entrySubprocess"
targetRef=
"exclusivegateway5"
/>
<sequenceFlow
id=
"flow29"
name=
"N"
skipExpression=
"${applySign=='false'}"
sourceRef=
"exclusivegateway5"
targetRef=
"dataBackFlow"
/>
<sequenceFlow
id=
"flow29"
name=
"N"
skipExpression=
"${applySign=='false'}"
sourceRef=
"exclusivegateway5"
targetRef=
"dataBackFlow"
/>
</process>
</process>
<bpmndi:BPMNDiagram
documentation=
"background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0"
id=
"Diagram-_1"
name=
"New Diagram"
>
<bpmndi:BPMNDiagram
documentation=
"background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0"
id=
"Diagram-_1"
name=
"New Diagram"
>
<bpmndi:BPMNPlane
bpmnElement=
"moreSubProcess"
>
<bpmndi:BPMNPlane
bpmnElement=
"moreSubProcess"
>
<bpmndi:BPMNShape
bpmnElement=
"startevent1"
id=
"Shape-startevent1"
>
<bpmndi:BPMNShape
bpmnElement=
"startevent1"
id=
"Shape-startevent1"
>
<omgdc:Bounds
height=
"32.0"
width=
"32.0"
x=
"40.0"
y=
"5.0"
/>
<omgdc:Bounds
height=
"32.0"
width=
"32.0"
x=
"40.0"
y=
"5.0"
/>
...
@@ -125,14 +147,16 @@
...
@@ -125,14 +147,16 @@
<omgdc:Bounds
height=
"32.0"
width=
"32.0"
x=
"0.0"
y=
"0.0"
/>
<omgdc:Bounds
height=
"32.0"
width=
"32.0"
x=
"0.0"
y=
"0.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge
bpmnElement=
"flow28"
id=
"BPMNEdge_flow28"
sourceElement=
"entrySubprocess"
targetElement=
"exclusivegateway5"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow28"
id=
"BPMNEdge_flow28"
sourceElement=
"entrySubprocess"
targetElement=
"exclusivegateway5"
>
<omgdi:waypoint
x=
"621.0"
y=
"179.5"
/>
<omgdi:waypoint
x=
"621.0"
y=
"179.5"
/>
<omgdi:waypoint
x=
"760.0"
y=
"176.0"
/>
<omgdi:waypoint
x=
"760.0"
y=
"176.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow29"
id=
"BPMNEdge_flow29"
sourceElement=
"exclusivegateway5"
targetElement=
"dataBackFlow"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow29"
id=
"BPMNEdge_flow29"
sourceElement=
"exclusivegateway5"
targetElement=
"dataBackFlow"
>
<omgdi:waypoint
x=
"775.0"
y=
"161.0"
/>
<omgdi:waypoint
x=
"775.0"
y=
"161.0"
/>
<omgdi:waypoint
x=
"775.0"
y=
"90.0"
/>
<omgdi:waypoint
x=
"775.0"
y=
"90.0"
/>
<omgdi:waypoint
x=
"880.0"
y=
"22.5"
/>
<omgdi:waypoint
x=
"880.0"
y=
"22.5"
/>
...
@@ -140,49 +164,56 @@
...
@@ -140,49 +164,56 @@
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"700.0"
y=
"166.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"700.0"
y=
"166.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow24"
id=
"BPMNEdge_flow24"
sourceElement=
"dataEntrySubTask"
targetElement=
"exclusivegateway4"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow24"
id=
"BPMNEdge_flow24"
sourceElement=
"dataEntrySubTask"
targetElement=
"exclusivegateway4"
>
<omgdi:waypoint
x=
"375.0"
y=
"217.5"
/>
<omgdi:waypoint
x=
"375.0"
y=
"217.5"
/>
<omgdi:waypoint
x=
"412.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"412.0"
y=
"216.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow25"
id=
"BPMNEdge_flow25"
sourceElement=
"exclusivegateway4"
targetElement=
"dataApply"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow25"
id=
"BPMNEdge_flow25"
sourceElement=
"exclusivegateway4"
targetElement=
"dataApply"
>
<omgdi:waypoint
x=
"428.0"
y=
"200.0"
/>
<omgdi:waypoint
x=
"428.0"
y=
"200.0"
/>
<omgdi:waypoint
x=
"428.0"
y=
"175.0"
/>
<omgdi:waypoint
x=
"428.0"
y=
"175.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"432.0"
y=
"200.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"432.0"
y=
"200.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow26"
id=
"BPMNEdge_flow26"
sourceElement=
"exclusivegateway4"
targetElement=
"endevent3"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow26"
id=
"BPMNEdge_flow26"
sourceElement=
"exclusivegateway4"
targetElement=
"endevent3"
>
<omgdi:waypoint
x=
"444.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"444.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"570.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"570.0"
y=
"216.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"452.0"
y=
"220.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"452.0"
y=
"220.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow27"
id=
"BPMNEdge_flow27"
sourceElement=
"exclusivegateway5"
targetElement=
"headApply"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow27"
id=
"BPMNEdge_flow27"
sourceElement=
"exclusivegateway5"
targetElement=
"headApply"
>
<omgdi:waypoint
x=
"776.0"
y=
"192.0"
/>
<omgdi:waypoint
x=
"776.0"
y=
"192.0"
/>
<omgdi:waypoint
x=
"776.0"
y=
"310.0"
/>
<omgdi:waypoint
x=
"776.0"
y=
"310.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"720.0"
y=
"186.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"720.0"
y=
"186.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow1"
id=
"BPMNEdge_flow1"
sourceElement=
"startevent1"
targetElement=
"startEntry"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow1"
id=
"BPMNEdge_flow1"
sourceElement=
"startevent1"
targetElement=
"startEntry"
>
<omgdi:waypoint
x=
"56.0"
y=
"37.0"
/>
<omgdi:waypoint
x=
"56.0"
y=
"37.0"
/>
<omgdi:waypoint
x=
"56.0"
y=
"150.0"
/>
<omgdi:waypoint
x=
"56.0"
y=
"150.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow21"
id=
"BPMNEdge_flow21"
sourceElement=
"dataApply"
targetElement=
"exclusivegateway3"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow21"
id=
"BPMNEdge_flow21"
sourceElement=
"dataApply"
targetElement=
"exclusivegateway3"
>
<omgdi:waypoint
x=
"485.0"
y=
"147.5"
/>
<omgdi:waypoint
x=
"485.0"
y=
"147.5"
/>
<omgdi:waypoint
x=
"510.0"
y=
"143.0"
/>
<omgdi:waypoint
x=
"510.0"
y=
"143.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow22"
id=
"BPMNEdge_flow22"
sourceElement=
"exclusivegateway3"
targetElement=
"dataEntrySubTask"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow22"
id=
"BPMNEdge_flow22"
sourceElement=
"exclusivegateway3"
targetElement=
"dataEntrySubTask"
>
<omgdi:waypoint
x=
"529.0"
y=
"130.0"
/>
<omgdi:waypoint
x=
"529.0"
y=
"130.0"
/>
<omgdi:waypoint
x=
"529.0"
y=
"89.0"
/>
<omgdi:waypoint
x=
"529.0"
y=
"89.0"
/>
<omgdi:waypoint
x=
"452.0"
y=
"89.0"
/>
<omgdi:waypoint
x=
"452.0"
y=
"89.0"
/>
...
@@ -192,7 +223,8 @@
...
@@ -192,7 +223,8 @@
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"530.0"
y=
"127.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"7.0"
x=
"530.0"
y=
"127.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow23"
id=
"BPMNEdge_flow23"
sourceElement=
"exclusivegateway3"
targetElement=
"endevent3"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow23"
id=
"BPMNEdge_flow23"
sourceElement=
"exclusivegateway3"
targetElement=
"endevent3"
>
<omgdi:waypoint
x=
"538.0"
y=
"147.0"
/>
<omgdi:waypoint
x=
"538.0"
y=
"147.0"
/>
<omgdi:waypoint
x=
"587.0"
y=
"147.0"
/>
<omgdi:waypoint
x=
"587.0"
y=
"147.0"
/>
<omgdi:waypoint
x=
"587.0"
y=
"200.0312805773287"
/>
<omgdi:waypoint
x=
"587.0"
y=
"200.0312805773287"
/>
...
@@ -200,14 +232,16 @@
...
@@ -200,14 +232,16 @@
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"550.0"
y=
"147.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"550.0"
y=
"147.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow17"
id=
"BPMNEdge_flow17"
sourceElement=
"startevent2"
targetElement=
"dataEntrySubTask"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow17"
id=
"BPMNEdge_flow17"
sourceElement=
"startevent2"
targetElement=
"dataEntrySubTask"
>
<omgdi:waypoint
x=
"242.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"242.0"
y=
"216.0"
/>
<omgdi:waypoint
x=
"270.0"
y=
"217.5"
/>
<omgdi:waypoint
x=
"270.0"
y=
"217.5"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow13"
id=
"BPMNEdge_flow13"
sourceElement=
"exclusivegateway2"
targetElement=
"dataBackFlow"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow13"
id=
"BPMNEdge_flow13"
sourceElement=
"exclusivegateway2"
targetElement=
"dataBackFlow"
>
<omgdi:waypoint
x=
"935.0"
y=
"170.0"
/>
<omgdi:waypoint
x=
"935.0"
y=
"170.0"
/>
<omgdi:waypoint
x=
"935.0"
y=
"95.0"
/>
<omgdi:waypoint
x=
"935.0"
y=
"95.0"
/>
<omgdi:waypoint
x=
"935.0"
y=
"50.0"
/>
<omgdi:waypoint
x=
"935.0"
y=
"50.0"
/>
...
@@ -215,7 +249,8 @@
...
@@ -215,7 +249,8 @@
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"936.0"
y=
"167.0"
/>
<omgdc:Bounds
height=
"14.0"
width=
"8.0"
x=
"936.0"
y=
"167.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow14"
id=
"BPMNEdge_flow14"
sourceElement=
"dataBackFlow"
targetElement=
"endevent2"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow14"
id=
"BPMNEdge_flow14"
sourceElement=
"dataBackFlow"
targetElement=
"endevent2"
>
<omgdi:waypoint
x=
"985.0"
y=
"30.0"
/>
<omgdi:waypoint
x=
"985.0"
y=
"30.0"
/>
<omgdi:waypoint
x=
"1060.0"
y=
"30.0"
/>
<omgdi:waypoint
x=
"1060.0"
y=
"30.0"
/>
<omgdi:waypoint
x=
"1060.0"
y=
"-32.0"
/>
<omgdi:waypoint
x=
"1060.0"
y=
"-32.0"
/>
...
@@ -225,21 +260,24 @@
...
@@ -225,21 +260,24 @@
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow15"
id=
"BPMNEdge_flow15"
sourceElement=
"startEntry"
targetElement=
"entrySubprocess"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow15"
id=
"BPMNEdge_flow15"
sourceElement=
"startEntry"
targetElement=
"entrySubprocess"
>
<omgdi:waypoint
x=
"120.0"
y=
"177.5"
/>
<omgdi:waypoint
x=
"120.0"
y=
"177.5"
/>
<omgdi:waypoint
x=
"200.0"
y=
"179.5"
/>
<omgdi:waypoint
x=
"200.0"
y=
"179.5"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow11"
id=
"BPMNEdge_flow11"
sourceElement=
"headApply"
targetElement=
"exclusivegateway2"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow11"
id=
"BPMNEdge_flow11"
sourceElement=
"headApply"
targetElement=
"exclusivegateway2"
>
<omgdi:waypoint
x=
"815.0"
y=
"337.5"
/>
<omgdi:waypoint
x=
"815.0"
y=
"337.5"
/>
<omgdi:waypoint
x=
"916.0"
y=
"183.0"
/>
<omgdi:waypoint
x=
"916.0"
y=
"183.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
<omgdc:Bounds
height=
"-1.0"
width=
"-1.0"
x=
"-1.0"
y=
"-1.0"
/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge
bpmnElement=
"flow12"
id=
"BPMNEdge_flow12"
sourceElement=
"exclusivegateway2"
targetElement=
"endevent2"
>
<bpmndi:BPMNEdge
bpmnElement=
"flow12"
id=
"BPMNEdge_flow12"
sourceElement=
"exclusivegateway2"
targetElement=
"endevent2"
>
<omgdi:waypoint
x=
"948.0"
y=
"183.0"
/>
<omgdi:waypoint
x=
"948.0"
y=
"183.0"
/>
<omgdi:waypoint
x=
"1040.0"
y=
"184.0"
/>
<omgdi:waypoint
x=
"1040.0"
y=
"184.0"
/>
<bpmndi:BPMNLabel>
<bpmndi:BPMNLabel>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment