待办更新问题
This commit is contained in:
parent
1e4ce121dd
commit
26b0526093
@ -21,4 +21,6 @@ public class ApprovalNodeRequest {
|
|||||||
private String userId;
|
private String userId;
|
||||||
//审批发起说明
|
//审批发起说明
|
||||||
private String comment;
|
private String comment;
|
||||||
|
//审批发起说明
|
||||||
|
private String processTitle;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,12 +2,8 @@ package com.xdap.self_development.service;
|
|||||||
|
|
||||||
|
|
||||||
import com.xdap.self_development.controller.request.AnalysisRequest;
|
import com.xdap.self_development.controller.request.AnalysisRequest;
|
||||||
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
|
|
||||||
import com.xdap.self_development.controller.request.ReportRequest;
|
import com.xdap.self_development.controller.request.ReportRequest;
|
||||||
import com.xdap.self_development.pojo.dto.ActivitiDataAndRecordDTO;
|
|
||||||
import com.xdap.self_development.pojo.dto.ActivitiDataDTO;
|
|
||||||
import com.xdap.self_development.pojo.dto.HandleApprovalDTO;
|
|
||||||
import com.xdap.self_development.pojo.dto.ShowActivitiDTO;
|
|
||||||
import com.xdap.self_development.pojo.view.AnalysisModelParamterView;
|
import com.xdap.self_development.pojo.view.AnalysisModelParamterView;
|
||||||
import com.xdap.self_development.pojo.view.AnalysisModelParamterViewAndParam;
|
import com.xdap.self_development.pojo.view.AnalysisModelParamterViewAndParam;
|
||||||
|
|
||||||
|
|||||||
@ -72,8 +72,12 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
if (ParamOperation.UPDATE.toString().equals(operation)) {
|
if (ParamOperation.UPDATE.toString().equals(operation)) {
|
||||||
String parameterValue = StringUtils.isEmpty(engineParamDetailPojo.getParameterValue()) ?
|
String parameterValue = StringUtils.isEmpty(engineParamDetailPojo.getParameterValue()) ?
|
||||||
"" : engineParamDetailPojo.getParameterValue();
|
"" : engineParamDetailPojo.getParameterValue();
|
||||||
|
if (ObjectUtils.isEmpty(parameterValue)) {
|
||||||
|
com = "填写为:" + engineParamDetailPojo.getMinorVersion();
|
||||||
|
} else {
|
||||||
com = "修改:" + parameterValue + "改为" + engineParamDetailPojo.getMinorVersion();
|
com = "修改:" + parameterValue + "改为" + engineParamDetailPojo.getMinorVersion();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (ParamOperation.INSERT.toString().equals(operation)) {
|
if (ParamOperation.INSERT.toString().equals(operation)) {
|
||||||
com = "新增";
|
com = "新增";
|
||||||
}
|
}
|
||||||
@ -117,7 +121,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
log.info("参与审批的数据为空");
|
log.info("参与审批的数据为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
String processTitle = approvalNodeRequest.getProcessTitle();
|
||||||
String userId = approvalNodeRequest.getUserId();
|
String userId = approvalNodeRequest.getUserId();
|
||||||
// 1. 获取第一个审批环节(按nodeOrder排序取最小)
|
// 1. 获取第一个审批环节(按nodeOrder排序取最小)
|
||||||
ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream()
|
ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream()
|
||||||
@ -157,7 +161,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
engineReviewListPojo.setModelId(engineModelId);
|
engineReviewListPojo.setModelId(engineModelId);
|
||||||
engineReviewListPojo.setModelName(modelPojoOld.getModelName());
|
engineReviewListPojo.setModelName(modelPojoOld.getModelName());
|
||||||
engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth());
|
engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth());
|
||||||
engineReviewListPojo.setProcessTopic(processTopic);
|
engineReviewListPojo.setProcessTopic(processTitle);
|
||||||
// engineReviewListPojo.setSubsystemName(subSystem);
|
// engineReviewListPojo.setSubsystemName(subSystem);
|
||||||
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
|
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
|
||||||
engineReviewListPojo.setApplicant(userId);
|
engineReviewListPojo.setApplicant(userId);
|
||||||
@ -174,12 +178,12 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
|
|
||||||
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
||||||
todoTaskPojo.setDocumentNo(approvalId);
|
todoTaskPojo.setDocumentNo(approvalId);
|
||||||
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
todoTaskPojo.setProcessTitle(processTitle);
|
||||||
todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc());
|
todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc());
|
||||||
todoTaskPojo.setModelId(engineModelId);
|
todoTaskPojo.setModelId(engineModelId);
|
||||||
todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber());
|
todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber());
|
||||||
todoTaskPojo.setOwnerId(assigneeId);
|
todoTaskPojo.setOwnerId(assigneeId);
|
||||||
todoTaskPojo.setDataType(modelPojoOld.getYcOrOth());
|
todoTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
||||||
todoTaskPojo.setModelName(modelPojoOld.getModelName());
|
todoTaskPojo.setModelName(modelPojoOld.getModelName());
|
||||||
todoTaskPojo.setCreatedById(userId);
|
todoTaskPojo.setCreatedById(userId);
|
||||||
todoTaskPojo.setCreatedBy(createBy);
|
todoTaskPojo.setCreatedBy(createBy);
|
||||||
@ -256,6 +260,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
|| reviewListPojo.getStatusCode() == ParamValueVersionEnum.PASSED.getCode()) {
|
|| reviewListPojo.getStatusCode() == ParamValueVersionEnum.PASSED.getCode()) {
|
||||||
throw new RuntimeException("无效的审批记录请检查是否已经审批完成或被拒绝");
|
throw new RuntimeException("无效的审批记录请检查是否已经审批完成或被拒绝");
|
||||||
}
|
}
|
||||||
|
String processTopic = reviewListPojo.getProcessTopic();
|
||||||
//查看当前人是否有权限审批
|
//查看当前人是否有权限审批
|
||||||
String currentAssignees = reviewListPojo.getApproverPersons();
|
String currentAssignees = reviewListPojo.getApproverPersons();
|
||||||
List<String> assigneeList = Arrays.asList(currentAssignees.split(","));
|
List<String> assigneeList = Arrays.asList(currentAssignees.split(","));
|
||||||
@ -311,6 +316,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
//审批流的待办全部is_delete=1
|
//审批流的待办全部is_delete=1
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625")
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
.update("is_delete", 1)
|
.update("is_delete", 1)
|
||||||
|
// .update("current_node", ParamValueVersionEnum.REFUSE.getDesc())
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
.eq("document_no", approvalId).doUpdate(TodoTaskPojo.class);
|
.eq("document_no", approvalId).doUpdate(TodoTaskPojo.class);
|
||||||
return "已拒绝";
|
return "已拒绝";
|
||||||
@ -325,6 +331,11 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
Set<String> operatedUsers = nodeRecords.stream()
|
Set<String> operatedUsers = nodeRecords.stream()
|
||||||
.map(ParamApprovalRecordPojo::getAssignee)
|
.map(ParamApprovalRecordPojo::getAssignee)
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
|
// 获取下一个环节
|
||||||
|
List<ApprovalConfigPojo> approvalConfigPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.eq("approval_id", approvalId)
|
||||||
|
.eq("node_order", (nodeOrder + 1))
|
||||||
|
.doQuery(ApprovalConfigPojo.class);
|
||||||
|
|
||||||
//必须已经全部通过 不是会签的话例外
|
//必须已经全部通过 不是会签的话例外
|
||||||
if (operatedUsers.containsAll(assigneeList) || notAll) {
|
if (operatedUsers.containsAll(assigneeList) || notAll) {
|
||||||
@ -337,31 +348,54 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
} else {
|
} else {
|
||||||
isd = 2;//被抢签完成
|
isd = 2;//被抢签完成
|
||||||
}
|
}
|
||||||
|
if (ObjectUtils.isNotEmpty(approvalConfigPojos)) {
|
||||||
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.update("is_delete", isd)
|
||||||
|
.update("current_node", approvalConfigPojos.get(0).getNodeName())
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.update("current_processor", Arrays.asList(approvalConfigPojos.get(0).getAssignees().split(",")))
|
||||||
|
.eq("document_no", approvalId)
|
||||||
|
.eq("owner_id", assID)
|
||||||
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
} else {
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625")
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
.update("is_delete", isd)
|
.update("is_delete", isd)
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
|
.update("current_processor", "-")
|
||||||
.eq("document_no", approvalId)
|
.eq("document_no", approvalId)
|
||||||
.eq("owner_id", assID)
|
.eq("owner_id", assID)
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(TodoTaskPojo.class);
|
||||||
}
|
}
|
||||||
// 获取下一个环节
|
}
|
||||||
List<ApprovalConfigPojo> approvalConfigPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
|
|
||||||
.eq("approval_id", approvalId)
|
|
||||||
.eq("node_order", (nodeOrder + 1))
|
|
||||||
.doQuery(ApprovalConfigPojo.class);
|
|
||||||
|
|
||||||
if (ObjectUtils.isNotEmpty(approvalConfigPojos)) {
|
if (ObjectUtils.isNotEmpty(approvalConfigPojos)) {
|
||||||
|
|
||||||
ApprovalConfigPojo approvalConfigPojo1 = approvalConfigPojos.get(0);
|
ApprovalConfigPojo approvalConfigPojo1 = approvalConfigPojos.get(0);
|
||||||
for (String nextAssId : Arrays.asList(approvalConfigPojo1.getAssignees().split(","))) {
|
for (String nextAssId : Arrays.asList(approvalConfigPojo1.getAssignees().split(","))) {
|
||||||
|
// 更新待办
|
||||||
|
List<TodoTaskPojo> todoTaskPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.eq("document_no", approvalId)
|
||||||
|
.eq("owner_id", nextAssId)
|
||||||
|
.update("is_delete", 0)
|
||||||
|
.doQuery(TodoTaskPojo.class);
|
||||||
|
|
||||||
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.update("current_node", approvalConfigPojo1.getNodeName())
|
||||||
|
.update("current_processor", Arrays.asList(approvalConfigPojo1.getAssignees().split(",")))
|
||||||
|
.eq("document_no", approvalId)
|
||||||
|
// .eq("is_delete", 0)
|
||||||
|
// .eq("owner_id", nextAssId)
|
||||||
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
if (ObjectUtils.isEmpty(todoTaskPojos)) {
|
||||||
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
||||||
todoTaskPojo.setDocumentNo(approvalId);
|
todoTaskPojo.setDocumentNo(approvalId);
|
||||||
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
todoTaskPojo.setProcessTitle(processTopic);
|
||||||
todoTaskPojo.setCurrentNode(approvalConfigPojo1.getNodeName());
|
todoTaskPojo.setCurrentNode(approvalConfigPojo1.getNodeName());
|
||||||
todoTaskPojo.setModelId(reviewListPojo.getModelId());
|
todoTaskPojo.setModelId(reviewListPojo.getModelId());
|
||||||
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
|
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
|
||||||
todoTaskPojo.setOwnerId(nextAssId);
|
todoTaskPojo.setOwnerId(nextAssId);
|
||||||
todoTaskPojo.setDataType(modelPojo.getYcOrOth());
|
todoTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
||||||
todoTaskPojo.setModelName(modelPojo.getModelName());
|
todoTaskPojo.setModelName(modelPojo.getModelName());
|
||||||
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
|
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
|
||||||
todoTaskPojo.setCreatedBy(createBy);
|
todoTaskPojo.setCreatedBy(createBy);
|
||||||
@ -369,6 +403,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
todoTaskPojo.setIsDelete(0);
|
todoTaskPojo.setIsDelete(0);
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
|
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//更新审批流到下个审批节点
|
//更新审批流到下个审批节点
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625")
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
.update("approver_persons", approvalConfigPojo1.getAssignees())
|
.update("approver_persons", approvalConfigPojo1.getAssignees())
|
||||||
@ -423,6 +458,12 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
.update("approver_persons", "")
|
.update("approver_persons", "")
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
.eq("id", approvalId).doUpdate(EngineReviewListPojo.class);
|
.eq("id", approvalId).doUpdate(EngineReviewListPojo.class);
|
||||||
|
//待办环节修改
|
||||||
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.update("is_delete", 1)
|
||||||
|
.update("current_node", ParamValueVersionEnum.PASSED.getDesc())
|
||||||
|
.update("last_update_date", new Date())
|
||||||
|
.eq("document_no", approvalId).doUpdate(TodoTaskPojo.class);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//如果还有未通过的 找到未通过的
|
//如果还有未通过的 找到未通过的
|
||||||
@ -434,25 +475,33 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
|
|||||||
sw.buildFromDatasource("xdap_app_223770822127386625")
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
.update("is_delete", 1)
|
.update("is_delete", 1)
|
||||||
.update("last_update_date", new Date())
|
.update("last_update_date", new Date())
|
||||||
|
.update("current_processor", remainingAssignees)
|
||||||
.eq("document_no", approvalId)
|
.eq("document_no", approvalId)
|
||||||
|
.eq("owner_id", approver)
|
||||||
.doUpdate(TodoTaskPojo.class);
|
.doUpdate(TodoTaskPojo.class);
|
||||||
|
|
||||||
for (String remainingAssignee : remainingAssignees) {
|
for (String remainingAssignee : remainingAssignees) {
|
||||||
|
List<TodoTaskPojo> todoTaskPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
.eq("document_no", approvalId)
|
||||||
|
.eq("owner_id", remainingAssignee)
|
||||||
|
.update("is_delete", 0)
|
||||||
|
.doQuery(TodoTaskPojo.class);
|
||||||
|
if (ObjectUtils.isEmpty(todoTaskPojos)) {
|
||||||
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
|
||||||
todoTaskPojo.setDocumentNo(approvalId);
|
todoTaskPojo.setDocumentNo(approvalId);
|
||||||
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
todoTaskPojo.setProcessTitle(processTopic);
|
||||||
todoTaskPojo.setCurrentNode(reviewListPojo.getNodeName());
|
todoTaskPojo.setCurrentNode(reviewListPojo.getNodeName());
|
||||||
todoTaskPojo.setModelId(reviewListPojo.getModelId());
|
todoTaskPojo.setModelId(reviewListPojo.getModelId());
|
||||||
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
|
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
|
||||||
todoTaskPojo.setOwnerId(remainingAssignee);
|
todoTaskPojo.setOwnerId(remainingAssignee);
|
||||||
todoTaskPojo.setDataType(modelPojo.getYcOrOth());
|
todoTaskPojo.setDataType(CurrentNodeEnum.DATAAPPROVAL.getDesc());
|
||||||
todoTaskPojo.setModelName(modelPojo.getModelName());
|
todoTaskPojo.setModelName(modelPojo.getModelName());
|
||||||
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
|
todoTaskPojo.setCreatedById(approvalConfigPojo.getCreatedBy());
|
||||||
todoTaskPojo.setCreatedBy(createBy);
|
todoTaskPojo.setCreatedBy(createBy);
|
||||||
todoTaskPojo.setCreationDate(new Date());
|
todoTaskPojo.setCreationDate(new Date());
|
||||||
todoTaskPojo.setIsDelete(0);
|
todoTaskPojo.setIsDelete(0);
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
|
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//更新机型审批数据的当前审批人去掉已经审批通过的那个人
|
//更新机型审批数据的当前审批人去掉已经审批通过的那个人
|
||||||
sw.buildFromDatasource("xdap_app_223770822127386625")
|
sw.buildFromDatasource("xdap_app_223770822127386625")
|
||||||
|
|||||||
@ -1,4 +1,18 @@
|
|||||||
DROP TABLE IF EXISTS `yfsjglpt_model_approval_flow`;
|
DROP TABLE IF EXISTS `yfsjglpt_model_approval_flow`;
|
||||||
|
-- yc_datasource_0.approval_config definition
|
||||||
|
|
||||||
|
CREATE TABLE `approval_config` (
|
||||||
|
`id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'ID',
|
||||||
|
`approval_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '流程ID',
|
||||||
|
`node_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '环节',
|
||||||
|
`assignees` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT '处理人列表',
|
||||||
|
`node_order` int DEFAULT NULL COMMENT '环节顺序',
|
||||||
|
`created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建人',
|
||||||
|
`creation_date` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
|
`last_updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '最后更新人',
|
||||||
|
`last_update_date` datetime DEFAULT NULL COMMENT '最后更新时间',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='流程配置表';
|
||||||
|
|
||||||
CREATE TABLE `yfsjglpt_model_approval_flow`
|
CREATE TABLE `yfsjglpt_model_approval_flow`
|
||||||
(
|
(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user