Commit d8026ea9 by chenweisong

更新

parent 3cf5519e
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<build> <build>
<finalName>record-demo</finalName> <finalName>admin</finalName>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -24,7 +24,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -24,7 +24,6 @@ import org.springframework.web.bind.annotation.*;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
@Api(description = "活动 控制器") @Api(description = "活动 控制器")
@RestController @RestController
...@@ -91,59 +90,42 @@ public class TaskController { ...@@ -91,59 +90,42 @@ public class TaskController {
@ApiOperation(value = "我的任务", notes = "补录任务列表及审核任务列表") @ApiOperation(value = "我的任务", notes = "补录任务列表及审核任务列表")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id", paramType = "query", required = true, dataType = "long") @ApiImplicitParam(name = "userId", value = "用户id", paramType = "query", required = false, dataType = "long")
}) })
@PostMapping(value = "/getMyMissions")
public ApiResponse getMyMissions(long userId) {
User user = userService.findById(userId);
TwinkleValidator.notNull(user, "用户不存在");
List<Activity> activityList = new ArrayList<>();
// 获取任务
// List<Task> tasks = taskService.createNativeTaskQuery()
// .sql("SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ = #{assignee1} OR T.ASSIGNEE_ = #{assignee2}")
// .parameter("assignee1", user.getUsername()).parameter("assignee2", audit.getUsername())
// .list();
// for (Task task : tasks) {
// String processId = task.getProcessInstanceId();
// Activity activity = assignmentService.findByProcessId(processId);
// if (assignment != null && assignment.getStatus() != Assignment.STATUS_COMPLETED) {
// if (task.getTaskDefinitionKey().equals("addData")) {
// assignment.setKind(Assignment.KIND_RECORD);
// } else {
// assignment.setKind(Assignment.KIND_AUDIT);
// }
// activityList.add(activity);
// }
// }
return ApiResponse.ok();
}
@ApiOperation(value = "我的任务", notes = "补录任务列表及审核任务列表")
@PostMapping(value = "/getMyTasks") @PostMapping(value = "/getMyTasks")
public ApiResponse getMyTasks() { public ApiResponse getMyMissions(Long userId) {
List<Activity> activityList = new ArrayList<>(); // User user = userService.findById(userId);
// TwinkleValidator.notNull(user, "用户不存在");
List<Map> missions = new ArrayList<>();
List<User> userList = userService.findAll();
StringBuilder assigneesBuilder = new StringBuilder();
assigneesBuilder.append("(");
userList.forEach(user -> {
assigneesBuilder.append("'" + user.getUsername() + "'").append(",");
});
String assignees = assigneesBuilder.substring(0, assigneesBuilder.length() - 1) + ")";
// 获取任务 // 获取任务
// List<Task> tasks = taskService.createNativeTaskQuery() String sql = "SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ in " + assignees;
// .sql("SELECT * FROM " + managementService.getTableName(Task.class) + " T WHERE T.ASSIGNEE_ = #{assignee1} OR T.ASSIGNEE_ = #{assignee2}") List<Task> tasks = taskService.createNativeTaskQuery()
// .parameter("assignee1", user.getUsername()).parameter("assignee2", audit.getUsername()) .sql(sql)
// .list(); .list();
// for (Task task : tasks) { for (Task task : tasks) {
// String processId = task.getProcessInstanceId(); String processId = task.getProcessInstanceId();
// Activity activity = assignmentService.findByProcessId(processId); List<Process> processList = processService.findAllByProcessId(processId);
// if (assignment != null && assignment.getStatus() != Assignment.STATUS_COMPLETED) { // Process process = processService.findByProcessIdAndStatus(processId, Process.STATUS_RECORDING);
// if (task.getTaskDefinitionKey().equals("addData")) { if (processList.size() != 0) {
// assignment.setKind(Assignment.KIND_RECORD); Map mission = new HashMap();
// } else { mission.put("1", 1);
// assignment.setKind(Assignment.KIND_AUDIT); if (task.getTaskDefinitionKey().equals("addData")) {
// }
// activityList.add(activity); } else {
// }
}
// } missions.add(mission);
}
}
return ApiResponse.ok(); return ApiResponse.ok();
} }
...@@ -153,6 +135,7 @@ public class TaskController { ...@@ -153,6 +135,7 @@ public class TaskController {
public ApiResponse createTask(@RequestBody TaskForm form) { public ApiResponse createTask(@RequestBody TaskForm form) {
TwinkleValidator.notEmpty(form.getName(), "名称不能为空"); TwinkleValidator.notEmpty(form.getName(), "名称不能为空");
TwinkleValidator.notNull(form.getType(), "类型不能为空"); TwinkleValidator.notNull(form.getType(), "类型不能为空");
TwinkleValidator.isTrue(form.getExcels() != null && form.getExcels().size() != 0, "补录模板不能为空"); TwinkleValidator.isTrue(form.getExcels() != null && form.getExcels().size() != 0, "补录模板不能为空");
// 创建人 为 manager // 创建人 为 manager
User admin = getAdmin(); User admin = getAdmin();
...@@ -167,6 +150,7 @@ public class TaskController { ...@@ -167,6 +150,7 @@ public class TaskController {
// 新建excel实例 // 新建excel实例
List<ExcelForm> excelFormList = form.getExcels(); List<ExcelForm> excelFormList = form.getExcels();
excelFormList.forEach(excelForm -> { excelFormList.forEach(excelForm -> {
TwinkleValidator.isNotNULL(excelForm.getScopeId(), "模板scopeId不能为空");
RecordScope scope = recordScopeService.findById(excelForm.getScopeId()); RecordScope scope = recordScopeService.findById(excelForm.getScopeId());
TwinkleValidator.isNotNULL(scope, "补录范围不能为空"); TwinkleValidator.isNotNULL(scope, "补录范围不能为空");
TwinkleValidator.isFalse((StringUtils.isEmpty(excelForm.getUpStreamAddr()) && StringUtils.isNotEmpty(excelForm.getBackStreamAddr()) TwinkleValidator.isFalse((StringUtils.isEmpty(excelForm.getUpStreamAddr()) && StringUtils.isNotEmpty(excelForm.getBackStreamAddr())
...@@ -178,7 +162,7 @@ public class TaskController { ...@@ -178,7 +162,7 @@ public class TaskController {
// 查找当前补录范围所有的用户 // 查找当前补录范围所有的用户
List<User> userList = scope.getUserList(); List<User> userList = scope.getUserList();
TwinkleValidator.notLessThan(userList.size(), 1, "补录人员不存在"); TwinkleValidator.notLessThan(userList.size(), 1, "补录人员不存在,所选补录范围需要先绑定用户");
userList.forEach(user -> { userList.forEach(user -> {
// 创建了一些空白任务 // 创建了一些空白任务
......
...@@ -36,7 +36,19 @@ public class UserController { ...@@ -36,7 +36,19 @@ public class UserController {
@ApiOperation(value = "获取补录人员列表") @ApiOperation(value = "获取补录人员列表")
@PostMapping(value = "/user/list") @PostMapping(value = "/user/list")
public ApiResponse getUserList() { public ApiResponse getUserList() {
List<User> userList = userService.findAll(); List<Map> userList = new ArrayList<>();
List<RecordScope> recordScopeList = recordScopeService.findAll();
recordScopeList.forEach(recordScope -> {
Map map = new HashMap();
map.put("id", recordScope.getId());
map.put("desc", recordScope.getDesc());
map.put("groupId", recordScope.getGroup().getId());
map.put("groupName", recordScope.getGroup().getId());
List<User> users = userService.findAllByGroupId(recordScope.getGroup().getId());
map.put("userList", users);
userList.add(map);
});
// List<User> userList = userService.findAll();
return ApiResponse.ok(userList); return ApiResponse.ok(userList);
} }
...@@ -44,7 +56,22 @@ public class UserController { ...@@ -44,7 +56,22 @@ public class UserController {
@PostMapping(value = "/scope/list") @PostMapping(value = "/scope/list")
public ApiResponse getScopeList() { public ApiResponse getScopeList() {
List<RecordScope> recordScopeList = recordScopeService.findAll(); List<RecordScope> recordScopeList = recordScopeService.findAll();
return ApiResponse.ok(recordScopeList); List<Map> result = new ArrayList<>();
recordScopeList.forEach(recordScope -> {
Map map = new HashMap();
map.put("id", recordScope.getId());
map.put("desc", recordScope.getDesc());
map.put("groupId", recordScope.getGroup().getId());
map.put("groupName", recordScope.getGroup().getId());
List<User> users = recordScope.getUserList();
User user = null;
if (users.size() >= 1) {
user = users.get(0);
}
map.put("user", user);
result.add(map);
});
return ApiResponse.ok(result);
} }
@ApiOperation(value = "补录范围绑定人员") @ApiOperation(value = "补录范围绑定人员")
...@@ -59,10 +86,10 @@ public class UserController { ...@@ -59,10 +86,10 @@ 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 = scope.getUserList(); List<User> userList = new ArrayList<>();
userList.add(user); userList.add(user);
scope.setUserList(userList); scope.setUserList(userList);
recordScopeService.update(scope); recordScopeService.save(scope);
return ApiResponse.ok(); return ApiResponse.ok();
} }
......
...@@ -3,6 +3,11 @@ package com.keymobile.rest.dao; ...@@ -3,6 +3,11 @@ package com.keymobile.rest.dao;
import com.keymobile.rest.model.Process; import com.keymobile.rest.model.Process;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface ProcessDao extends JpaRepository<Process, Long> { public interface ProcessDao extends JpaRepository<Process, Long> {
List<Process> findAllByProcessId(String processId);
Process findByProcessIdAndStatus(String processId, int status);
} }
...@@ -3,7 +3,6 @@ package com.keymobile.rest.model; ...@@ -3,7 +3,6 @@ package com.keymobile.rest.model;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonSetter;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -25,10 +24,16 @@ public class RecordScope implements Serializable { ...@@ -25,10 +24,16 @@ public class RecordScope implements Serializable {
public static int ROLE_RECORD = 1; public static int ROLE_RECORD = 1;
public static int ROLE_AUDIT = 2; public static int ROLE_AUDIT = 2;
public static String ROLE_RECORD_DESC = "补录人员";
public static String ROLE_AUDIT_DESC = "审核人员";
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id; private long id;
@Column(name = "`desc`", nullable = false, columnDefinition = ("varchar(100) comment '补录角色描述'"))
private String desc;
@Column(nullable = false, columnDefinition = ("integer(2) comment '补录角色'")) @Column(nullable = false, columnDefinition = ("integer(2) comment '补录角色'"))
private int role; private int role;
...@@ -37,11 +42,12 @@ public class RecordScope implements Serializable { ...@@ -37,11 +42,12 @@ public class RecordScope implements Serializable {
private Group group; private Group group;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JsonIgnore
@JoinTable(name = "t_user_record_scope", // 用来指定中间表的名称 @JoinTable(name = "t_user_record_scope", // 用来指定中间表的名称
//用于指定本表在中间表的字段名称,以及中间表依赖的是本表的哪个字段 //用于指定本表在中间表的字段名称,以及中间表依赖的是本表的哪个字段
joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")}, joinColumns = {@JoinColumn(name = "record_scope_id", referencedColumnName = "id")},
//用于指定对方表在中间表的字段名称,以及中间表依赖的是它的哪个字段 //用于指定对方表在中间表的字段名称,以及中间表依赖的是它的哪个字段
inverseJoinColumns = {@JoinColumn(name = "record_scope", referencedColumnName = "id")} inverseJoinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")}
) )
private List<User> userList; private List<User> userList;
} }
...@@ -32,7 +32,7 @@ public class Template implements Serializable { ...@@ -32,7 +32,7 @@ public class Template implements Serializable {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private long id; private Long id;
@Column(nullable = false, columnDefinition = ("varchar(20) comment '模板名称'")) @Column(nullable = false, columnDefinition = ("varchar(20) comment '模板名称'"))
private String name; private String name;
...@@ -41,16 +41,16 @@ public class Template implements Serializable { ...@@ -41,16 +41,16 @@ public class Template implements Serializable {
private String config; private String config;
@Column(name = "data_at", columnDefinition = ("integer(20) default 1 comment '数据开始行数'")) @Column(name = "data_at", columnDefinition = ("integer(20) default 1 comment '数据开始行数'"))
private int dataAt; private Integer dataAt;
@Column(name = "need_audit", columnDefinition = ("integer(2) default 0 comment '需要审核'")) @Column(name = "need_audit", columnDefinition = ("integer(2) default 0 comment '需要审核'"))
private int needAudit; private Integer needAudit;
@Column(name = "need_confirm", columnDefinition = ("integer(2) default 0 comment '需要负责人确认'")) @Column(name = "need_confirm", columnDefinition = ("integer(2) default 0 comment '需要负责人确认'"))
private int needConfirm; private Integer needConfirm;
@Column(name = "need_merge", columnDefinition = ("integer(2) default 0 comment '需要数据合并'")) @Column(name = "need_merge", columnDefinition = ("integer(2) default 0 comment '需要数据合并'"))
private int needMerge; private Integer needMerge;
@Column(name = "up_stream_addr", columnDefinition = ("varchar(100) comment '上游地址'")) @Column(name = "up_stream_addr", columnDefinition = ("varchar(100) comment '上游地址'"))
private String upStreamAddr; private String upStreamAddr;
......
...@@ -7,7 +7,6 @@ import lombok.NoArgsConstructor; ...@@ -7,7 +7,6 @@ import lombok.NoArgsConstructor;
import javax.persistence.*; import javax.persistence.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
@JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"}) @JsonIgnoreProperties(value = {"hibernateLazyInitializer", "handler", "fieldHandler"})
@NoArgsConstructor @NoArgsConstructor
...@@ -30,5 +29,6 @@ public class User implements Serializable { ...@@ -30,5 +29,6 @@ public class User implements Serializable {
* 所属结构id * 所属结构id
*/ */
@ManyToOne(fetch = FetchType.EAGER) @ManyToOne(fetch = FetchType.EAGER)
@JsonIgnore
private Group group; private Group group;
} }
...@@ -31,10 +31,6 @@ public class ActivityService { ...@@ -31,10 +31,6 @@ public class ActivityService {
return activityDao.save(activity); return activityDao.save(activity);
} }
public Activity findByProcessId(String pid) {
return null;
}
public Page<Activity> findAll(int pageNo, int pageSize) { public Page<Activity> findAll(int pageNo, int pageSize) {
Pageable pageable = convert(pageNo, pageSize); Pageable pageable = convert(pageNo, pageSize);
return activityDao.findAll(pageable); return activityDao.findAll(pageable);
......
...@@ -5,6 +5,8 @@ import com.keymobile.rest.model.Process; ...@@ -5,6 +5,8 @@ import com.keymobile.rest.model.Process;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
@Service @Service
public class ProcessService { public class ProcessService {
...@@ -16,4 +18,14 @@ public class ProcessService { ...@@ -16,4 +18,14 @@ public class ProcessService {
processDao.save(process); processDao.save(process);
return process; return process;
} }
public List<Process> findAllByProcessId(String processId) {
return processDao.findAllByProcessId(processId);
}
public Process findByProcessIdAndStatus(String processId, int status) {
return processDao.findByProcessIdAndStatus(processId, status);
}
} }
...@@ -29,10 +29,12 @@ public class RecordScopeService { ...@@ -29,10 +29,12 @@ public class RecordScopeService {
RecordScope scope = new RecordScope(); RecordScope scope = new RecordScope();
scope.setGroup(group); scope.setGroup(group);
scope.setRole(RecordScope.ROLE_RECORD); scope.setRole(RecordScope.ROLE_RECORD);
scope.setDesc(group.getName() + RecordScope.ROLE_RECORD_DESC);
recordScopeDao.save(scope); recordScopeDao.save(scope);
scope = new RecordScope(); scope = new RecordScope();
scope.setGroup(group); scope.setGroup(group);
scope.setRole(RecordScope.ROLE_AUDIT); scope.setRole(RecordScope.ROLE_AUDIT);
scope.setDesc(group.getName() + RecordScope.ROLE_AUDIT_DESC);
recordScopeDao.save(scope); recordScopeDao.save(scope);
} }
}); });
...@@ -46,7 +48,7 @@ public class RecordScopeService { ...@@ -46,7 +48,7 @@ public class RecordScopeService {
return recordScopeDao.findAll(); return recordScopeDao.findAll();
} }
public void update(RecordScope recordScope) { public void save(RecordScope recordScope) {
recordScopeDao.save(recordScope); recordScopeDao.save(recordScope);
} }
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test"> <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" name="moreSubProcess" isExecutable="true"> <process id="moreSubProcess" isClosed="false" isExecutable="true" name="moreSubProcess" processType="None">
<startEvent id="startevent1" name="Start"></startEvent> <startEvent id="startevent1" name="Start"/>
<userTask id="startEntry" name="开始录入" activiti:assignee="${inputUser}"></userTask> <userTask activiti:assignee="${inputUser}" activiti:exclusive="true" id="startEntry" name="开始录入"/>
<userTask id="headApply" name="负责人审核" activiti:candidateUsers="${groupDataStandardServiceImpl.findAssigneesForProcess(execution,&quot;group5&quot;)}"></userTask> <userTask activiti:candidateUsers="${groupDataStandardServiceImpl.findAssigneesForProcess(execution,&quot;group5&quot;)}" activiti:exclusive="true" id="headApply" name="负责人审核"/>
<exclusiveGateway id="exclusivegateway2" name="Exclusive Gateway"></exclusiveGateway> <exclusiveGateway gatewayDirection="Unspecified" id="exclusivegateway2" name="Exclusive Gateway"/>
<endEvent id="endevent2" name="End"></endEvent> <endEvent id="endevent2" name="End"/>
<userTask id="dataBackFlow" name="数据回流" activiti:candidateUsers="${groupDataStandardServiceImpl.findAssigneesForProcess(execution,&quot;group4&quot;)}"></userTask> <userTask activiti:candidateUsers="${groupDataStandardServiceImpl.findAssigneesForProcess(execution,&quot;group4&quot;)}" activiti:exclusive="true" id="dataBackFlow" name="数据回流"/>
<sequenceFlow id="flow1" sourceRef="startevent1" targetRef="startEntry"></sequenceFlow> <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="startEntry"/>
<sequenceFlow id="flow11" sourceRef="headApply" targetRef="exclusivegateway2"></sequenceFlow> <sequenceFlow id="flow11" sourceRef="headApply" targetRef="exclusivegateway2"/>
<sequenceFlow id="flow12" name="N" sourceRef="exclusivegateway2" targetRef="endevent2" skipExpression="${sign=='false'}"></sequenceFlow> <sequenceFlow id="flow12" name="N" skipExpression="${sign=='false'}" sourceRef="exclusivegateway2" targetRef="endevent2"/>
<sequenceFlow id="flow13" name="Y" sourceRef="exclusivegateway2" targetRef="dataBackFlow" skipExpression="${sign=='true'}"></sequenceFlow> <sequenceFlow id="flow13" name="Y" skipExpression="${sign=='true'}" sourceRef="exclusivegateway2" targetRef="dataBackFlow"/>
<sequenceFlow id="flow14" sourceRef="dataBackFlow" targetRef="endevent2"></sequenceFlow> <sequenceFlow id="flow14" sourceRef="dataBackFlow" targetRef="endevent2"/>
<subProcess id="entrySubprocess" name="录入子流程"> <subProcess activiti:exclusive="true" id="entrySubprocess" name="录入子流程" triggeredByEvent="false">
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="candiateUserList" activiti:elementVariable="candiateUser"> <multiInstanceLoopCharacteristics activiti:collection="candiateUserList" activiti:elementVariable="candiateUser" isSequential="false">
<completionCondition>${nrOfCompletedInstances/nrOfInstances &gt;= 1}</completionCondition> <completionCondition>
<![CDATA[${nrOfCompletedInstances/nrOfInstances >= 1}]]>
</completionCondition>
</multiInstanceLoopCharacteristics> </multiInstanceLoopCharacteristics>
<startEvent id="startevent2" name="Start"></startEvent> <startEvent id="startevent2" name="Start"/>
<userTask id="dataEntrySubTask" name="数据录入子任务" activiti:async="true" activiti:assignee="${candiateUser}"></userTask> <userTask activiti:assignee="${candiateUser}" activiti:async="true" activiti:exclusive="true" id="dataEntrySubTask" name="数据录入子任务"/>
<userTask id="dataApply" name="数据审核人员" activiti:assignee="${inputDataApply}"></userTask> <userTask activiti:assignee="${inputDataApply}" activiti:exclusive="true" id="dataApply" name="数据审核人员"/>
<endEvent id="endevent3" name="End"></endEvent> <endEvent id="endevent3" name="End"/>
<exclusiveGateway id="exclusivegateway3" name="Exclusive Gateway"></exclusiveGateway> <exclusiveGateway gatewayDirection="Unspecified" id="exclusivegateway3" name="Exclusive Gateway"/>
<sequenceFlow id="flow17" sourceRef="startevent2" targetRef="dataEntrySubTask"></sequenceFlow> <sequenceFlow id="flow17" sourceRef="startevent2" targetRef="dataEntrySubTask"/>
<sequenceFlow id="flow21" sourceRef="dataApply" targetRef="exclusivegateway3"></sequenceFlow> <sequenceFlow id="flow21" sourceRef="dataApply" targetRef="exclusivegateway3"/>
<sequenceFlow id="flow22" name="N" sourceRef="exclusivegateway3" targetRef="dataEntrySubTask" skipExpression="${sign=='false'}"></sequenceFlow> <sequenceFlow id="flow22" name="N" skipExpression="${sign=='false'}" sourceRef="exclusivegateway3" targetRef="dataEntrySubTask"/>
<sequenceFlow id="flow23" name="Y" sourceRef="exclusivegateway3" targetRef="endevent3" skipExpression="${sign=='true'}"></sequenceFlow> <sequenceFlow id="flow23" name="Y" skipExpression="${sign=='true'}" sourceRef="exclusivegateway3" targetRef="endevent3"/>
<exclusiveGateway id="exclusivegateway4" name="Exclusive Gateway"></exclusiveGateway> <exclusiveGateway gatewayDirection="Unspecified" id="exclusivegateway4" name="Exclusive Gateway"/>
<sequenceFlow id="flow24" sourceRef="dataEntrySubTask" targetRef="exclusivegateway4"></sequenceFlow> <sequenceFlow id="flow24" sourceRef="dataEntrySubTask" targetRef="exclusivegateway4"/>
<sequenceFlow id="flow25" name="Y" sourceRef="exclusivegateway4" targetRef="dataApply" skipExpression="${sign=='true'}"></sequenceFlow> <sequenceFlow id="flow25" name="Y" skipExpression="${sign=='true'}" sourceRef="exclusivegateway4" targetRef="dataApply"/>
<sequenceFlow id="flow26" name="N" sourceRef="exclusivegateway4" targetRef="endevent3" skipExpression="${sign=='false'}"></sequenceFlow> <sequenceFlow id="flow26" name="N" skipExpression="${sign=='false'}" sourceRef="exclusivegateway4" targetRef="endevent3"/>
</subProcess> </subProcess>
<sequenceFlow id="flow15" sourceRef="startEntry" targetRef="entrySubprocess"></sequenceFlow> <sequenceFlow id="flow15" sourceRef="startEntry" targetRef="entrySubprocess"/>
<exclusiveGateway id="exclusivegateway5" name="Exclusive Gateway"></exclusiveGateway> <exclusiveGateway gatewayDirection="Unspecified" id="exclusivegateway5" name="Exclusive Gateway"/>
<sequenceFlow id="flow27" name="Y" sourceRef="exclusivegateway5" targetRef="headApply" skipExpression="${applySign=='true'}"></sequenceFlow> <sequenceFlow id="flow27" name="Y" skipExpression="${applySign=='true'}" sourceRef="exclusivegateway5" targetRef="headApply"/>
<sequenceFlow id="flow28" sourceRef="entrySubprocess" targetRef="exclusivegateway5"></sequenceFlow> <sequenceFlow id="flow28" sourceRef="entrySubprocess" targetRef="exclusivegateway5"/>
<sequenceFlow id="flow29" name="N" sourceRef="exclusivegateway5" targetRef="dataBackFlow" skipExpression="${applySign=='false'}"></sequenceFlow> <sequenceFlow id="flow29" name="N" skipExpression="${applySign=='false'}" sourceRef="exclusivegateway5" targetRef="dataBackFlow"/>
</process> </process>
<bpmndi:BPMNDiagram id="BPMNDiagram_moreSubProcess"> <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" id="BPMNPlane_moreSubProcess"> <bpmndi:BPMNPlane bpmnElement="moreSubProcess">
<bpmndi:BPMNShape bpmnElement="startevent1" id="BPMNShape_startevent1"> <bpmndi:BPMNShape bpmnElement="startevent1" id="Shape-startevent1">
<omgdc:Bounds height="35.0" width="35.0" x="10.0" y="170.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="40.0" y="5.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="startEntry" id="BPMNShape_startEntry"> <bpmndi:BPMNShape bpmnElement="startEntry" id="Shape-startEntry">
<omgdc:Bounds height="55.0" width="105.0" x="80.0" y="160.0"></omgdc:Bounds> <omgdc:Bounds height="55.0" width="105.0" x="15.0" y="150.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="55.0" width="105.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="headApply" id="BPMNShape_headApply"> <bpmndi:BPMNShape bpmnElement="headApply" id="Shape-headApply">
<omgdc:Bounds height="55.0" width="105.0" x="778.0" y="158.0"></omgdc:Bounds> <omgdc:Bounds height="55.0" width="105.0" x="710.0" y="310.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="55.0" width="105.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="BPMNShape_exclusivegateway2"> <bpmndi:BPMNShape bpmnElement="exclusivegateway2" id="Shape-exclusivegateway2" isMarkerVisible="false">
<omgdc:Bounds height="40.0" width="40.0" x="916.0" y="167.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="916.0" y="167.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent2" id="BPMNShape_endevent2"> <bpmndi:BPMNShape bpmnElement="endevent2" id="Shape-endevent2">
<omgdc:Bounds height="35.0" width="35.0" x="1040.0" y="168.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="1040.0" y="168.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="dataBackFlow" id="BPMNShape_dataBackFlow"> <bpmndi:BPMNShape bpmnElement="dataBackFlow" id="Shape-dataBackFlow">
<omgdc:Bounds height="55.0" width="105.0" x="884.0" y="51.0"></omgdc:Bounds> <omgdc:Bounds height="55.0" width="105.0" x="880.0" y="-5.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="55.0" width="105.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="entrySubprocess" id="BPMNShape_entrySubprocess"> <bpmndi:BPMNShape bpmnElement="entrySubprocess" id="Shape-entrySubprocess" isExpanded="true">
<omgdc:Bounds height="205.0" width="421.0" x="200.0" y="77.0"></omgdc:Bounds> <omgdc:Bounds height="205.0" width="421.0" x="200.0" y="77.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="205.0" width="421.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="startevent2" id="BPMNShape_startevent2"> <bpmndi:BPMNShape bpmnElement="exclusivegateway5" id="Shape-exclusivegateway5" isMarkerVisible="false">
<omgdc:Bounds height="35.0" width="35.0" x="210.0" y="200.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="760.0" y="160.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="dataEntrySubTask" id="BPMNShape_dataEntrySubTask"> <bpmndi:BPMNShape bpmnElement="startevent2" id="Shape-startevent2">
<omgdc:Bounds height="55.0" width="105.0" x="270.0" y="190.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="210.0" y="200.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="dataApply" id="BPMNShape_dataApply"> <bpmndi:BPMNShape bpmnElement="dataEntrySubTask" id="Shape-dataEntrySubTask">
<omgdc:Bounds height="55.0" width="105.0" x="380.0" y="120.0"></omgdc:Bounds> <omgdc:Bounds height="55.0" width="105.0" x="270.0" y="190.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="55.0" width="105.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="endevent3" id="BPMNShape_endevent3"> <bpmndi:BPMNShape bpmnElement="dataApply" id="Shape-dataApply">
<omgdc:Bounds height="35.0" width="35.0" x="570.0" y="200.0"></omgdc:Bounds> <omgdc:Bounds height="55.0" width="105.0" x="380.0" y="120.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="55.0" width="105.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="exclusivegateway3" id="BPMNShape_exclusivegateway3"> <bpmndi:BPMNShape bpmnElement="endevent3" id="Shape-endevent3">
<omgdc:Bounds height="40.0" width="40.0" x="510.0" y="127.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="570.0" y="200.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="exclusivegateway4" id="BPMNShape_exclusivegateway4"> <bpmndi:BPMNShape bpmnElement="exclusivegateway3" id="Shape-exclusivegateway3" isMarkerVisible="false">
<omgdc:Bounds height="40.0" width="40.0" x="412.0" y="200.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="510.0" y="127.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="exclusivegateway5" id="BPMNShape_exclusivegateway5"> <bpmndi:BPMNShape bpmnElement="exclusivegateway4" id="Shape-exclusivegateway4" isMarkerVisible="false">
<omgdc:Bounds height="40.0" width="40.0" x="680.0" y="166.0"></omgdc:Bounds> <omgdc:Bounds height="32.0" width="32.0" x="412.0" y="200.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape> </bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1"> <bpmndi:BPMNEdge bpmnElement="flow28" id="BPMNEdge_flow28" sourceElement="entrySubprocess" targetElement="exclusivegateway5">
<omgdi:waypoint x="45.0" y="187.0"></omgdi:waypoint> <omgdi:waypoint x="621.0" y="179.5"/>
<omgdi:waypoint x="80.0" y="187.0"></omgdi:waypoint> <omgdi:waypoint x="760.0" y="176.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="-1.0" width="-1.0" x="-1.0" y="-1.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11"> <bpmndi:BPMNEdge bpmnElement="flow29" id="BPMNEdge_flow29" sourceElement="exclusivegateway5" targetElement="dataBackFlow">
<omgdi:waypoint x="883.0" y="185.0"></omgdi:waypoint> <omgdi:waypoint x="775.0" y="161.0"/>
<omgdi:waypoint x="916.0" y="187.0"></omgdi:waypoint> <omgdi:waypoint x="775.0" y="90.0"/>
<omgdi:waypoint x="880.0" y="22.5"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="7.0" x="700.0" y="166.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12"> <bpmndi:BPMNEdge bpmnElement="flow24" id="BPMNEdge_flow24" sourceElement="dataEntrySubTask" targetElement="exclusivegateway4">
<omgdi:waypoint x="956.0" y="187.0"></omgdi:waypoint> <omgdi:waypoint x="375.0" y="217.5"/>
<omgdi:waypoint x="1040.0" y="185.0"></omgdi:waypoint> <omgdi:waypoint x="412.0" y="216.0"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="7.0" x="956.0" y="187.0"></omgdc:Bounds> <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"> <bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25" sourceElement="exclusivegateway4" targetElement="dataApply">
<omgdi:waypoint x="936.0" y="167.0"></omgdi:waypoint> <omgdi:waypoint x="428.0" y="200.0"/>
<omgdi:waypoint x="936.0" y="106.0"></omgdi:waypoint> <omgdi:waypoint x="428.0" y="175.0"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="936.0" y="167.0"></omgdc:Bounds> <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="flow14" id="BPMNEdge_flow14"> <bpmndi:BPMNEdge bpmnElement="flow26" id="BPMNEdge_flow26" sourceElement="exclusivegateway4" targetElement="endevent3">
<omgdi:waypoint x="884.0" y="78.0"></omgdi:waypoint> <omgdi:waypoint x="444.0" y="216.0"/>
<omgdi:waypoint x="877.0" y="78.0"></omgdi:waypoint> <omgdi:waypoint x="570.0" y="216.0"/>
<omgdi:waypoint x="877.0" y="16.0"></omgdi:waypoint> <bpmndi:BPMNLabel>
<omgdi:waypoint x="1057.0" y="16.0"></omgdi:waypoint> <omgdc:Bounds height="14.0" width="7.0" x="452.0" y="220.0"/>
<omgdi:waypoint x="1057.0" y="168.0"></omgdi:waypoint> </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17"> <bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27" sourceElement="exclusivegateway5" targetElement="headApply">
<omgdi:waypoint x="245.0" y="217.0"></omgdi:waypoint> <omgdi:waypoint x="776.0" y="192.0"/>
<omgdi:waypoint x="270.0" y="217.0"></omgdi:waypoint> <omgdi:waypoint x="776.0" y="310.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="720.0" y="186.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21"> <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1" sourceElement="startevent1" targetElement="startEntry">
<omgdi:waypoint x="485.0" y="147.0"></omgdi:waypoint> <omgdi:waypoint x="56.0" y="37.0"/>
<omgdi:waypoint x="510.0" y="147.0"></omgdi:waypoint> <omgdi:waypoint x="56.0" y="150.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="-1.0" width="-1.0" x="-1.0" y="-1.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22"> <bpmndi:BPMNEdge bpmnElement="flow21" id="BPMNEdge_flow21" sourceElement="dataApply" targetElement="exclusivegateway3">
<omgdi:waypoint x="530.0" y="127.0"></omgdi:waypoint> <omgdi:waypoint x="485.0" y="147.5"/>
<omgdi:waypoint x="529.0" y="89.0"></omgdi:waypoint> <omgdi:waypoint x="510.0" y="143.0"/>
<omgdi:waypoint x="452.0" y="89.0"></omgdi:waypoint>
<omgdi:waypoint x="322.0" y="89.0"></omgdi:waypoint>
<omgdi:waypoint x="322.0" y="190.0"></omgdi:waypoint>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="7.0" x="530.0" y="127.0"></omgdc:Bounds> <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="flow23" id="BPMNEdge_flow23"> <bpmndi:BPMNEdge bpmnElement="flow22" id="BPMNEdge_flow22" sourceElement="exclusivegateway3" targetElement="dataEntrySubTask">
<omgdi:waypoint x="550.0" y="147.0"></omgdi:waypoint> <omgdi:waypoint x="529.0" y="130.0"/>
<omgdi:waypoint x="587.0" y="147.0"></omgdi:waypoint> <omgdi:waypoint x="529.0" y="89.0"/>
<omgdi:waypoint x="587.0" y="200.0"></omgdi:waypoint> <omgdi:waypoint x="452.0" y="89.0"/>
<omgdi:waypoint x="322.0" y="89.0"/>
<omgdi:waypoint x="322.5" y="190.0"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="550.0" y="147.0"></omgdc:Bounds> <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="flow24" id="BPMNEdge_flow24"> <bpmndi:BPMNEdge bpmnElement="flow23" id="BPMNEdge_flow23" sourceElement="exclusivegateway3" targetElement="endevent3">
<omgdi:waypoint x="375.0" y="217.0"></omgdi:waypoint> <omgdi:waypoint x="538.0" y="147.0"/>
<omgdi:waypoint x="412.0" y="220.0"></omgdi:waypoint> <omgdi:waypoint x="587.0" y="147.0"/>
<omgdi:waypoint x="587.0" y="200.0312805773287"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="550.0" y="147.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow25" id="BPMNEdge_flow25"> <bpmndi:BPMNEdge bpmnElement="flow17" id="BPMNEdge_flow17" sourceElement="startevent2" targetElement="dataEntrySubTask">
<omgdi:waypoint x="432.0" y="200.0"></omgdi:waypoint> <omgdi:waypoint x="242.0" y="216.0"/>
<omgdi:waypoint x="432.0" y="175.0"></omgdi:waypoint> <omgdi:waypoint x="270.0" y="217.5"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="432.0" y="200.0"></omgdc:Bounds> <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="flow26" id="BPMNEdge_flow26"> <bpmndi:BPMNEdge bpmnElement="flow13" id="BPMNEdge_flow13" sourceElement="exclusivegateway2" targetElement="dataBackFlow">
<omgdi:waypoint x="452.0" y="220.0"></omgdi:waypoint> <omgdi:waypoint x="935.0" y="170.0"/>
<omgdi:waypoint x="570.0" y="217.0"></omgdi:waypoint> <omgdi:waypoint x="935.0" y="95.0"/>
<omgdi:waypoint x="935.0" y="50.0"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="7.0" x="452.0" y="220.0"></omgdc:Bounds> <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="flow15" id="BPMNEdge_flow15"> <bpmndi:BPMNEdge bpmnElement="flow14" id="BPMNEdge_flow14" sourceElement="dataBackFlow" targetElement="endevent2">
<omgdi:waypoint x="185.0" y="187.0"></omgdi:waypoint> <omgdi:waypoint x="985.0" y="30.0"/>
<omgdi:waypoint x="200.0" y="179.0"></omgdi:waypoint> <omgdi:waypoint x="1060.0" y="30.0"/>
<omgdi:waypoint x="1060.0" y="-32.0"/>
<omgdi:waypoint x="1240.0" y="-32.0"/>
<omgdi:waypoint x="1060.0" y="168.50806661517032"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="-1.0" width="-1.0" x="-1.0" y="-1.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow27" id="BPMNEdge_flow27"> <bpmndi:BPMNEdge bpmnElement="flow15" id="BPMNEdge_flow15" sourceElement="startEntry" targetElement="entrySubprocess">
<omgdi:waypoint x="720.0" y="186.0"></omgdi:waypoint> <omgdi:waypoint x="120.0" y="177.5"/>
<omgdi:waypoint x="778.0" y="185.0"></omgdi:waypoint> <omgdi:waypoint x="200.0" y="179.5"/>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="8.0" x="720.0" y="186.0"></omgdc:Bounds> <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="flow28" id="BPMNEdge_flow28"> <bpmndi:BPMNEdge bpmnElement="flow11" id="BPMNEdge_flow11" sourceElement="headApply" targetElement="exclusivegateway2">
<omgdi:waypoint x="621.0" y="179.0"></omgdi:waypoint> <omgdi:waypoint x="815.0" y="337.5"/>
<omgdi:waypoint x="680.0" y="186.0"></omgdi:waypoint> <omgdi:waypoint x="916.0" y="183.0"/>
<bpmndi:BPMNLabel>
<omgdc:Bounds height="-1.0" width="-1.0" x="-1.0" y="-1.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="flow29" id="BPMNEdge_flow29"> <bpmndi:BPMNEdge bpmnElement="flow12" id="BPMNEdge_flow12" sourceElement="exclusivegateway2" targetElement="endevent2">
<omgdi:waypoint x="700.0" y="166.0"></omgdi:waypoint> <omgdi:waypoint x="948.0" y="183.0"/>
<omgdi:waypoint x="700.0" y="78.0"></omgdi:waypoint> <omgdi:waypoint x="1040.0" y="184.0"/>
<omgdi:waypoint x="884.0" y="78.0"></omgdi:waypoint>
<bpmndi:BPMNLabel> <bpmndi:BPMNLabel>
<omgdc:Bounds height="14.0" width="7.0" x="700.0" y="166.0"></omgdc:Bounds> <omgdc:Bounds height="14.0" width="7.0" x="956.0" y="187.0"/>
</bpmndi:BPMNLabel> </bpmndi:BPMNLabel>
</bpmndi:BPMNEdge> </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane> </bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram> </bpmndi:BPMNDiagram>
</definitions> </definitions>
\ No newline at end of file
...@@ -30,8 +30,8 @@ spring: ...@@ -30,8 +30,8 @@ spring:
max-file-size: 20Mb max-file-size: 20Mb
max-request-size: 100Mb max-request-size: 100Mb
redis: redis:
host: 192.168.0.192 # host: 192.168.0.192
# host: 127.0.0.1 host: 127.0.0.1
port: 6379 port: 6379
session: session:
store-type: redis store-type: redis
...@@ -46,8 +46,8 @@ app: ...@@ -46,8 +46,8 @@ app:
active-process: MoreSubProcessTest.bpmn active-process: MoreSubProcessTest.bpmn
swagger2: swagger2:
host: localhost:8110 # host: localhost:8110
# host: 47.105.236.43/activiti host: 47.105.236.43/activiti
security: security:
permit: true permit: true
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment