Commit 653fe857 authored by lisong's avatar lisong

添加代办任务model字段传参dto

parent 075b2c90
package com.yeejoin.amos.boot.module.jg.api.dto;
import lombok.Data;
@Data
public class TaskMessageDto {
/**
* 流程实例id
*/
String instanceId;
/**
* 流程状态
*/
String status;
/**
* 上一步操作人id
*/
String promoter;
/**
* 下个节点可操作人ids
*/
String nextExecuteUserIds;
/**
* 业务数据id
*/
String sequenceNbr;
}
...@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -11,6 +11,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskMessageDto;
import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto; import com.yeejoin.amos.boot.module.jg.api.dto.TaskModelDto;
import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto; import com.yeejoin.amos.boot.module.jg.api.dto.WorkflowResultDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory; import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
...@@ -229,14 +230,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -229,14 +230,11 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE); updateData(jgUseRegistration.getSequenceNbr(), "0", workflowResultDto, Boolean.TRUE);
} }
// updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
} }
if (!ObjectUtils.isEmpty(instanceId)) { if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程 // 执行流程
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", ""); flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "");
// 更新数据信息
// updateExecuteIds(instanceId, jgUseRegistration.getSequenceNbr(), "0");
} }
} }
} }
...@@ -274,28 +272,30 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -274,28 +272,30 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject()); jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgUseRegistration.setPromoter(""); jgUseRegistration.setPromoter("");
} }
if (isFirst){ if (isFirst) {
buildTask(jgUseRegistration, workflowResultDto); buildTask(jgUseRegistration, workflowResultDto);
}else { } else {
// 更新代办状态 // 更新代办状态
HashMap<String, Object> params = new HashMap<>(); HashMap<String, Object> params = new HashMap<>();
params.put("relationId", jgUseRegistration.getInstanceId()); params.put("relationId", jgUseRegistration.getInstanceId());
params.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus())); params.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus()));
params.put("flowStatusLabel", jgUseRegistration.getStatus()); params.put("flowStatusLabel", jgUseRegistration.getStatus());
params.put("taskStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus())); params.put("taskStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus()));
params.put("taskStatusLabel",jgUseRegistration.getStatus()); params.put("taskStatusLabel", jgUseRegistration.getStatus());
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(params); TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(params);
// 创建新的代办 // 创建新的代办
if (!ObjectUtils.isEmpty(taskV2Model)){ if (!ObjectUtils.isEmpty(taskV2Model)) {
TaskModelDto taskModelDto = new TaskModelDto(); TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto); BeanUtils.copyProperties(taskV2Model, taskModelDto);
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
taskModelDto.setModel(jgUseRegistration); taskModelDto.setModel(jgUseRegistration);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName()); taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds()); taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName()); taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds()); taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
commonServiceImpl.buildTaskModel(Collections.singletonList(taskModelDto)); commonServiceImpl.buildTaskModel(Collections.singletonList(taskModelDto));
}else { } else {
workflowResultDto.setInstanceId(jgUseRegistration.getInstanceId()); workflowResultDto.setInstanceId(jgUseRegistration.getInstanceId());
buildTask(jgUseRegistration, workflowResultDto); buildTask(jgUseRegistration, workflowResultDto);
} }
...@@ -320,7 +320,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -320,7 +320,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
params.put("flowStatusLabel", jgUseRegistration.getStatus()); params.put("flowStatusLabel", jgUseRegistration.getStatus());
params.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode()); params.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
params.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName()); params.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
params.put("model", jgUseRegistration); TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
params.put("model", taskMessageDto);
commonServiceImpl.updateTaskModel(params); commonServiceImpl.updateTaskModel(params);
} }
this.getBaseMapper().updateById(jgUseRegistration); this.getBaseMapper().updateById(jgUseRegistration);
...@@ -352,92 +354,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -352,92 +354,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
dto.setStartDate(new Date()); dto.setStartDate(new Date());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId()); jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
jgUseRegistration.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds()); jgUseRegistration.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
dto.setModel(jgUseRegistration); TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
dto.setModel(taskMessageDto);
dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds()); dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
list.add(dto); list.add(dto);
commonServiceImpl.buildTaskModel(list); commonServiceImpl.buildTaskModel(list);
} }
public String startByVariable() {
String instanceId = "";
//启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey("useRegistration");
dto.setBusinessKey("submit");
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map) ajaxResult.get("data")).get("id").toString();
} catch (Exception e) {
e.printStackTrace();
}
return instanceId;
}
public void updateExecuteIds(String instanceId, Long sequenceNbr, String operate) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = "";
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
ArrayList<String> roleList = new ArrayList<>();
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(sequenceNbr);
try {
// 查询下节点任务
JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
String nextTaskId = nextTask.getString("id");
FeignClientResult<JSONObject> nodeInfo = workFlowFeginService.getNodeInfo(nextTaskId);
JSONObject result = nodeInfo.getResult();
Map<String, Object> taskInfo = (Map<String, Object>) result.get("taskInfo");
taskCode = String.valueOf(taskInfo.get("taskDefinitionKey"));
AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
for (Object datum : data) {
if (((Map) datum).containsKey("groupId")) {
roleList.add(((Map) datum).get("groupId").toString());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
role = String.join(",", roleList);
jgUseRegistration.setNextExecuteIds(role);
jgUseRegistration.setPromoter(reginParams.getUserModel().getUserId());
jgUseRegistration.setInstanceId(instanceId);
if (!ObjectUtils.isEmpty(jgUseRegistration.getInstanceStatus())) {
jgUseRegistration.setInstanceStatus(jgUseRegistration.getInstanceStatus() + "," + role);
} else {
jgUseRegistration.setInstanceStatus(role);
}
if ("0".equals(operate)) {
// 通过操作
jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getPass());
} else {
// 驳回操作
jgUseRegistration.setStatus(WorkFlowStatusEnum.getMessage(taskCode).getReject());
jgUseRegistration.setPromoter(null);
}
} else {
// 流程结束
jgUseRegistration.setStatus(taskCode);
jgUseRegistration.setNextExecuteUserIds(null);
if (!ObjectUtils.isEmpty(jgUseRegistration.getSupervisoryCode())) {
// 生成使用登记证编号
jgUseRegistration.setUseRegistrationCode(getCode(jgUseRegistration.getSupervisoryCode()));
jgUseRegistration.setAuditPassDate(new Date());
}
// 更新设备信息
updateEquipMessage(String.valueOf(sequenceNbr), jgUseRegistration.getUseRegistrationCode());
}
this.getBaseMapper().updateById(jgUseRegistration);
}
public void flowExecute(Long id, String instanceId, String operate, String comment) { public void flowExecute(Long id, String instanceId, String operate, String comment) {
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id); JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id);
//组装信息 //组装信息
......
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