修改:流程修改v4.0
This commit is contained in:
parent
0f80475cfe
commit
918754b180
@ -100,6 +100,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
}
|
}
|
||||||
bd.getBusinessDatabase().doBatchInsert(approvalConfigs);
|
bd.getBusinessDatabase().doBatchInsert(approvalConfigs);
|
||||||
|
|
||||||
|
// 新增待办
|
||||||
List<TodoTaskPojo> list = new ArrayList<>();
|
List<TodoTaskPojo> list = new ArrayList<>();
|
||||||
for (String person : firstNode.getAssignees()) {
|
for (String person : firstNode.getAssignees()) {
|
||||||
TodoTaskPojo todoTask = new TodoTaskPojo();
|
TodoTaskPojo todoTask = new TodoTaskPojo();
|
||||||
@ -121,6 +122,17 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
}
|
}
|
||||||
bd.getBusinessDatabase().doBatchInsert(list);
|
bd.getBusinessDatabase().doBatchInsert(list);
|
||||||
|
|
||||||
|
// 新增我创建的
|
||||||
|
InitiatedTaskPojo initiatedTask = new InitiatedTaskPojo();
|
||||||
|
initiatedTask.setDocumentNo(flow.getId());
|
||||||
|
initiatedTask.setCreatedById(form.getUserId());
|
||||||
|
initiatedTask.setCurrentNode(firstNode.getNodeName());
|
||||||
|
initiatedTask.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
||||||
|
initiatedTask.setDataType("对标报告审核");
|
||||||
|
initiatedTask.setProcessTitle(form.getProcessTitle());
|
||||||
|
initiatedTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
|
bd.getBusinessDatabase().doInsert(initiatedTask);
|
||||||
|
|
||||||
// 更新报告状态为校对中
|
// 更新报告状态为校对中
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.eq("id", report.getId())
|
.eq("id", report.getId())
|
||||||
@ -283,11 +295,11 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
throw new CommonException("当前节点正在处理,请稍后重试");
|
throw new CommonException("当前节点正在处理,请稍后重试");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
// 查询已完成的任务,检查当前节点是否完成
|
||||||
int processedCount = bd.getBusinessDatabase()
|
int processedCount = bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("flow_id", flow.getId())
|
||||||
.eq("is_delete", 1)
|
.eq("node", currentNode.getNodeName())
|
||||||
.eq("current_node", currentNode.getNodeName())
|
.doQuery(ApprovalRecord.class).size();
|
||||||
.doQuery(TodoTaskPojo.class).size();
|
|
||||||
if (processedCount > 0) {
|
if (processedCount > 0) {
|
||||||
throw new CommonException("此节点已被他人处理");
|
throw new CommonException("此节点已被他人处理");
|
||||||
}
|
}
|
||||||
@ -316,22 +328,26 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
|
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("document_no", flow.getId())
|
||||||
.eq("owner_id", request.getUserId())
|
|
||||||
.eq("current_node", currentNode.getNodeName())
|
.eq("current_node", currentNode.getNodeName())
|
||||||
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
||||||
.update("is_delete", 1)
|
.update("is_delete", 1)
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(TodoTaskPojo.class);
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.eq("document_no", flow.getId())
|
// 更新当前用户的已办
|
||||||
.ne("owner_id", request.getUserId())
|
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
||||||
.eq("current_node", currentNode.getNodeName())
|
completedTaskPojo.setDocumentNo(flow.getId());
|
||||||
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
completedTaskPojo.setCreatedById(request.getUserId());
|
||||||
.update("is_delete", 2)
|
completedTaskPojo.setCurrentNode(currentNode.getNodeName());
|
||||||
.doUpdate(TodoTaskPojo.class);
|
completedTaskPojo.setCurrentProcessor(JSON.toJSONString(currentNode.getAssignees()));
|
||||||
|
completedTaskPojo.setDataType("对标报告审核");
|
||||||
|
completedTaskPojo.setOwnerId(request.getUserId());
|
||||||
|
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
||||||
|
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
|
|
||||||
// 处理驳回逻辑
|
// 处理驳回逻辑
|
||||||
if ("REJECT".equals(request.getResult())) {
|
if ("REJECT".equals(request.getResult())) {
|
||||||
cancelProcess(flow, "REJECTED", request.getUserId());
|
cancelProcess(flow, "REJECTED");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 处理通过逻辑,流转到下一节点
|
// 处理通过逻辑,流转到下一节点
|
||||||
@ -339,7 +355,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void processNextNode(ApprovalFlow flow, ApprovalConfigPojo currentNode, String userId) {
|
private void processNextNode(ApprovalFlow flow, ApprovalConfigPojo currentNode, String userId) {
|
||||||
// 更新报告状态
|
// 查询报告状态
|
||||||
BenchmarkingReport report = bd.getBusinessDatabase()
|
BenchmarkingReport report = bd.getBusinessDatabase()
|
||||||
.eq("id", flow.getTemplateId())
|
.eq("id", flow.getTemplateId())
|
||||||
.doQueryFirst(BenchmarkingReport.class);
|
.doQueryFirst(BenchmarkingReport.class);
|
||||||
@ -358,10 +374,7 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
.update("status", report.getStatus())
|
.update("status", report.getStatus())
|
||||||
.doUpdate(BenchmarkingReport.class);
|
.doUpdate(BenchmarkingReport.class);
|
||||||
// 待办环节修改
|
// 待办环节修改
|
||||||
bd.getBusinessDatabase()
|
updateTasks(flow, "已完成");
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.update("current_node", "已完成")
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
} else {
|
} else {
|
||||||
flow.setCurrentNode(1);
|
flow.setCurrentNode(1);
|
||||||
addNodeTodo(flow, nextNode, report, userId);
|
addNodeTodo(flow, nextNode, report, userId);
|
||||||
@ -379,15 +392,6 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
// 新增待办
|
// 新增待办
|
||||||
List<TodoTaskPojo> list = new ArrayList<>();
|
List<TodoTaskPojo> list = new ArrayList<>();
|
||||||
for (String person : users) {
|
for (String person : users) {
|
||||||
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.eq("owner_id", person).doQueryFirst(TodoTaskPojo.class);
|
|
||||||
if (todoTaskPojo != null) {
|
|
||||||
todoTaskPojo.setCurrentNode(node.getNodeName());
|
|
||||||
todoTaskPojo.setCurrentProcessor(JSON.toJSONString(node.getAssignees()));
|
|
||||||
bd.getBusinessDatabase().doUpdate(todoTaskPojo);
|
|
||||||
bd.getBusinessDatabase().doUpdate(todoTaskPojo);
|
|
||||||
} else {
|
|
||||||
TodoTaskPojo todoTask = new TodoTaskPojo();
|
TodoTaskPojo todoTask = new TodoTaskPojo();
|
||||||
todoTask.setCreatedById(createBy);
|
todoTask.setCreatedById(createBy);
|
||||||
todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
||||||
@ -405,13 +409,16 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
todoTask.setCurrentProcessor(JSON.toJSONString(node.getAssignees()));
|
todoTask.setCurrentProcessor(JSON.toJSONString(node.getAssignees()));
|
||||||
list.add(todoTask);
|
list.add(todoTask);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// 更新已办和发起的状态
|
||||||
|
updateTasks(flow, node.getNodeName());
|
||||||
|
|
||||||
if (!list.isEmpty()) {
|
if (!list.isEmpty()) {
|
||||||
bd.getBusinessDatabase().doBatchInsert(list);
|
bd.getBusinessDatabase().doBatchInsert(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelProcess(ApprovalFlow flow, String status, String userId) {
|
private void cancelProcess(ApprovalFlow flow, String status) {
|
||||||
flow.setFlowStatus(status);
|
flow.setFlowStatus(status);
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.rowid("id", flow.getRowId())
|
.rowid("id", flow.getRowId())
|
||||||
@ -427,12 +434,19 @@ public class BenchmarkingReportServiceImpl implements BenchmarkingReportService
|
|||||||
.update("status", report.getStatus())
|
.update("status", report.getStatus())
|
||||||
.doUpdate(BenchmarkingReport.class);
|
.doUpdate(BenchmarkingReport.class);
|
||||||
|
|
||||||
|
updateTasks(flow, "已拒绝");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateTasks(ApprovalFlow flow, String status) {
|
||||||
|
// 更新已办和发起的节点状态
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("document_no", flow.getId())
|
||||||
|
.update("current_node", status)
|
||||||
|
.doUpdate(CompletedTaskPojo.class);
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("document_no", flow.getId())
|
||||||
.update("current_node", "已拒绝")
|
.update("current_node", "已拒绝")
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(InitiatedTaskPojo.class);
|
||||||
// 清除所有待办
|
|
||||||
clearAllTodo(flow, userId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -137,6 +137,17 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
}
|
}
|
||||||
bd.getBusinessDatabase().doBatchInsert(list);
|
bd.getBusinessDatabase().doBatchInsert(list);
|
||||||
|
|
||||||
|
// 新增我创建的
|
||||||
|
InitiatedTaskPojo initiatedTask = new InitiatedTaskPojo();
|
||||||
|
initiatedTask.setDocumentNo(flow.getId());
|
||||||
|
initiatedTask.setCreatedById(request.getUserId());
|
||||||
|
initiatedTask.setCurrentNode(firstNode.getNodeName());
|
||||||
|
initiatedTask.setCurrentProcessor(JSON.toJSONString(firstNode.getAssignees()));
|
||||||
|
initiatedTask.setDataType("模板审核");
|
||||||
|
initiatedTask.setProcessTitle(request.getProcessTitle());
|
||||||
|
initiatedTask.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
|
bd.getBusinessDatabase().doInsert(initiatedTask);
|
||||||
|
|
||||||
// 更新模板状态为校对中
|
// 更新模板状态为校对中
|
||||||
template.setStatus("APPROVING");
|
template.setStatus("APPROVING");
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
@ -210,11 +221,11 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
throw new CommonException("当前节点正在处理,请稍后重试");
|
throw new CommonException("当前节点正在处理,请稍后重试");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
// 查询已完成的任务,检查当前节点是否完成
|
||||||
int processedCount = bd.getBusinessDatabase()
|
int processedCount = bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("flow_id", flow.getId())
|
||||||
.eq("is_delete", 1)
|
.eq("node", currentNode.getNodeName())
|
||||||
.eq("current_node", currentNode.getNodeName())
|
.doQuery(ApprovalRecord.class).size();
|
||||||
.doQuery(TodoTaskPojo.class).size();
|
|
||||||
if (processedCount > 0) {
|
if (processedCount > 0) {
|
||||||
throw new CommonException("此节点已被他人处理");
|
throw new CommonException("此节点已被他人处理");
|
||||||
}
|
}
|
||||||
@ -235,8 +246,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
.toJavaList(String.class).contains(userId);
|
.toJavaList(String.class).contains(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
private void processApprovalLogic(ApprovalFlow flow, HandleApprovalRequest request, ApprovalConfigPojo currentNode) {
|
||||||
public void processApprovalLogic(ApprovalFlow flow, HandleApprovalRequest request, ApprovalConfigPojo currentNode) {
|
|
||||||
// 记录审批结果
|
// 记录审批结果
|
||||||
ApprovalRecord record = new ApprovalRecord();
|
ApprovalRecord record = new ApprovalRecord();
|
||||||
record.setFlowId(flow.getId());
|
record.setFlowId(flow.getId());
|
||||||
@ -247,39 +257,42 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
record.setApprovalTime(Timestamp.valueOf(LocalDateTime.now()));
|
record.setApprovalTime(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
bd.getBusinessDatabase().doInsert(record);
|
bd.getBusinessDatabase().doInsert(record);
|
||||||
|
|
||||||
// 完成当前节点的已处理待办
|
// 当前流程当前节点的所有待办全部删除
|
||||||
if (!"会签".equals(currentNode.getNodeName())) {
|
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("document_no", flow.getId())
|
||||||
.ne("owner_id", request.getUserId())
|
|
||||||
.eq("current_node", currentNode.getNodeName())
|
.eq("current_node", currentNode.getNodeName())
|
||||||
.update("is_delete", 2)
|
|
||||||
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
}
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.eq("owner_id", request.getUserId())
|
|
||||||
.eq("current_node", currentNode.getNodeName())
|
|
||||||
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
|
||||||
.update("is_delete", 1)
|
.update("is_delete", 1)
|
||||||
|
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
|
||||||
|
// 更新当前用户的已办
|
||||||
|
CompletedTaskPojo completedTaskPojo = new CompletedTaskPojo();
|
||||||
|
completedTaskPojo.setDocumentNo(flow.getId());
|
||||||
|
completedTaskPojo.setCreatedById(request.getUserId());
|
||||||
|
completedTaskPojo.setCurrentNode(currentNode.getNodeName());
|
||||||
|
completedTaskPojo.setCurrentProcessor(JSON.toJSONString(currentNode.getAssignees()));
|
||||||
|
completedTaskPojo.setDataType("模板审核");
|
||||||
|
completedTaskPojo.setOwnerId(request.getUserId());
|
||||||
|
completedTaskPojo.setProcessTitle(flow.getProcessTitle());
|
||||||
|
completedTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
|
||||||
|
bd.getBusinessDatabase().doInsert(completedTaskPojo);
|
||||||
|
|
||||||
|
|
||||||
// 处理驳回逻辑
|
// 处理驳回逻辑
|
||||||
if ("REJECT".equals(request.getResult())) {
|
if ("REJECT".equals(request.getResult())) {
|
||||||
// 审批人退回
|
// 审批人退回
|
||||||
cancelProcess(flow, "REJECTED", request.getUserId());
|
cancelProcess(flow, "REJECTED");
|
||||||
return;
|
return;
|
||||||
} else if ("RETURN".equals(request.getResult())) {
|
} else if ("RETURN".equals(request.getResult())) {
|
||||||
// 申请人撤回
|
// 申请人撤回
|
||||||
cancelProcess(flow, "RETURNED", request.getUserId());
|
cancelProcess(flow, "RETURNED");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 处理通过逻辑,流转到下一节点
|
// 处理通过逻辑,流转到下一节点
|
||||||
processNextNode(flow, currentNode, request.getUserId());
|
processNextNode(flow, currentNode, request.getUserId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelProcess(ApprovalFlow flow, String status, String userId) {
|
private void cancelProcess(ApprovalFlow flow, String status) {
|
||||||
// 更新流程状态
|
// 更新流程状态
|
||||||
flow.setFlowStatus(status);
|
flow.setFlowStatus(status);
|
||||||
bd.getBusinessDatabase()
|
bd.getBusinessDatabase()
|
||||||
@ -297,33 +310,17 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
.update("return_num", template.getReturnNum() + 1)
|
.update("return_num", template.getReturnNum() + 1)
|
||||||
.doUpdate(Template.class);
|
.doUpdate(Template.class);
|
||||||
|
|
||||||
bd.getBusinessDatabase()
|
updateTasks(flow, "已拒绝");
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.update("current_node", "已拒绝")
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
// 清除所有待办
|
|
||||||
clearAllTodo(flow);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void clearAllTodo(ApprovalFlow flow) {
|
|
||||||
// 清除已有待办
|
|
||||||
bd.getBusinessDatabase()
|
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.eq("is_delete", 0)
|
|
||||||
.update("is_delete", 2)
|
|
||||||
.update("last_update_date", Timestamp.valueOf(LocalDateTime.now()))
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理下一节点流转
|
// 处理下一节点流转
|
||||||
@Transactional(rollbackFor = Exception.class)
|
private void processNextNode(ApprovalFlow flow, ApprovalConfigPojo currentNode, String userId) {
|
||||||
public void processNextNode(ApprovalFlow flow, ApprovalConfigPojo currentNode, String userId) {
|
|
||||||
// 检查当前节点是否满足流转条件
|
// 检查当前节点是否满足流转条件
|
||||||
if (!checkNodeComplete(flow, currentNode)) {
|
if (!checkNodeComplete(flow, currentNode)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新模板状态
|
// 查询模板状态
|
||||||
Template template = bd.getBusinessDatabase()
|
Template template = bd.getBusinessDatabase()
|
||||||
.eq("id", flow.getTemplateId())
|
.eq("id", flow.getTemplateId())
|
||||||
.doQueryFirst(Template.class);
|
.doQueryFirst(Template.class);
|
||||||
@ -350,10 +347,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
.update("published_time", Timestamp.valueOf(LocalDateTime.now()))
|
.update("published_time", Timestamp.valueOf(LocalDateTime.now()))
|
||||||
.doUpdate(Template.class);
|
.doUpdate(Template.class);
|
||||||
// 待办环节修改
|
// 待办环节修改
|
||||||
bd.getBusinessDatabase()
|
updateTasks(flow, "已完成");
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.update("current_node", "已完成")
|
|
||||||
.doUpdate(TodoTaskPojo.class);
|
|
||||||
// 更新机型版本
|
// 更新机型版本
|
||||||
// dataEntryEngineModelService.updateModelForNewVersion();
|
// dataEntryEngineModelService.updateModelForNewVersion();
|
||||||
} else {
|
} else {
|
||||||
@ -371,10 +365,9 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
// 检查节点是否完成
|
// 检查节点是否完成
|
||||||
private boolean checkNodeComplete(ApprovalFlow flow, ApprovalConfigPojo node) {
|
private boolean checkNodeComplete(ApprovalFlow flow, ApprovalConfigPojo node) {
|
||||||
Integer processedCount = bd.getBusinessDatabase()
|
Integer processedCount = bd.getBusinessDatabase()
|
||||||
.eq("document_no", flow.getId())
|
.eq("flow_id", flow.getId())
|
||||||
.eq("is_delete", 1)
|
.eq("node", node.getNodeName())
|
||||||
.eq("current_node", node.getNodeName())
|
.doQuery(ApprovalRecord.class).size();
|
||||||
.doQuery(TodoTaskPojo.class).size();
|
|
||||||
if ("会签".equals(node.getNodeName())) {
|
if ("会签".equals(node.getNodeName())) {
|
||||||
return processedCount.equals(JSON.parseArray(node.getAssignees()).size());
|
return processedCount.equals(JSON.parseArray(node.getAssignees()).size());
|
||||||
} else {
|
} else {
|
||||||
@ -388,14 +381,6 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
// 新增待办
|
// 新增待办
|
||||||
List<TodoTaskPojo> list = new ArrayList<>();
|
List<TodoTaskPojo> list = new ArrayList<>();
|
||||||
for (String person : users) {
|
for (String person : users) {
|
||||||
TodoTaskPojo todoTaskPojo = bd.getBusinessDatabase()
|
|
||||||
.eq("document_no", flow.getId())
|
|
||||||
.eq("owner_id", person).doQueryFirst(TodoTaskPojo.class);
|
|
||||||
if (todoTaskPojo != null) {
|
|
||||||
todoTaskPojo.setCurrentNode(node.getNodeName());
|
|
||||||
todoTaskPojo.setCurrentProcessor(node.getAssignees());
|
|
||||||
bd.getBusinessDatabase().doUpdate(todoTaskPojo);
|
|
||||||
} else {
|
|
||||||
TodoTaskPojo todoTask = new TodoTaskPojo();
|
TodoTaskPojo todoTask = new TodoTaskPojo();
|
||||||
todoTask.setCreatedById(createBy);
|
todoTask.setCreatedById(createBy);
|
||||||
todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
todoTask.setCreatedBy(xdapDeptUsersService.selectUserByID(createBy).getUsername());
|
||||||
@ -413,12 +398,27 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
todoTask.setCurrentProcessor(node.getAssignees());
|
todoTask.setCurrentProcessor(node.getAssignees());
|
||||||
list.add(todoTask);
|
list.add(todoTask);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
// 更新已办和发起的状态
|
||||||
|
updateTasks(flow, node.getNodeName());
|
||||||
|
|
||||||
if (!list.isEmpty()) {
|
if (!list.isEmpty()) {
|
||||||
bd.getBusinessDatabase().doBatchInsert(list);
|
bd.getBusinessDatabase().doBatchInsert(list);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateTasks(ApprovalFlow flow, String status) {
|
||||||
|
// 更新已办和发起的节点状态
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("document_no", flow.getId())
|
||||||
|
.update("current_node", status)
|
||||||
|
.doUpdate(CompletedTaskPojo.class);
|
||||||
|
bd.getBusinessDatabase()
|
||||||
|
.eq("document_no", flow.getId())
|
||||||
|
.update("current_node", "已拒绝")
|
||||||
|
.doUpdate(InitiatedTaskPojo.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageQueryResult<TemplateChangeView> getTemplateChanges(ApprovalAndParameterForm form) {
|
public PageQueryResult<TemplateChangeView> getTemplateChanges(ApprovalAndParameterForm form) {
|
||||||
Template template = bd.getBusinessDatabase()
|
Template template = bd.getBusinessDatabase()
|
||||||
@ -577,7 +577,7 @@ public class TemplateApprovalServiceImpl implements TemplateApprovalService {
|
|||||||
bd.getBusinessDatabase().doInsert(record);
|
bd.getBusinessDatabase().doInsert(record);
|
||||||
|
|
||||||
// 申请人撤回
|
// 申请人撤回
|
||||||
cancelProcess(flow, "RETURNED", request.getUserId());
|
cancelProcess(flow, "RETURNED");
|
||||||
} else {
|
} else {
|
||||||
throw new CommonException("无法撤回");
|
throw new CommonException("无法撤回");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
--发起事项表
|
-- 发起事项表
|
||||||
CREATE TABLE `initiated_task` (
|
CREATE TABLE `initiated_task`
|
||||||
|
(
|
||||||
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID',
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID',
|
||||||
`document_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '单据编号',
|
`document_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '单据编号',
|
||||||
`process_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程主题',
|
`process_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程主题',
|
||||||
@ -17,10 +18,13 @@ CREATE TABLE `initiated_task` (
|
|||||||
`last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人',
|
`last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人',
|
||||||
`last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
|
`last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='发起事项表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_bin COMMENT ='发起事项表';
|
||||||
|
|
||||||
--已完成事项表
|
-- 已完成事项表
|
||||||
CREATE TABLE `completed_task` (
|
CREATE TABLE `completed_task`
|
||||||
|
(
|
||||||
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID',
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID',
|
||||||
`document_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '单据编号',
|
`document_no` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '单据编号',
|
||||||
`process_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程主题',
|
`process_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程主题',
|
||||||
@ -39,7 +43,9 @@ CREATE TABLE `completed_task` (
|
|||||||
`last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人',
|
`last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人',
|
||||||
`last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
|
`last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='已完成事项表';
|
) ENGINE = InnoDB
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_bin COMMENT ='已完成事项表';
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `yfsjglpt_model_approval_flow`;
|
DROP TABLE IF EXISTS `yfsjglpt_model_approval_flow`;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user