Commit b1e659f4 authored by lisong's avatar lisong

更新人工处理流程执行

parent afe5a0b0
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.ugp.api.Enum.*;
import com.yeejoin.amos.boot.module.ugp.api.entity.*;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProcessRelationMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IProcessRelationService;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
......@@ -57,7 +58,7 @@ public class ProblemInitiationServiceImpl {
InstallNoticeMsgServiceImpl installNoticeMsgService;
@Autowired
ProcessRelationMapper processRelationMapper;
IProcessRelationService iProcessRelationService;
@Value("${params.work.flow.problemDefinitionKey}")
private String problemDefinitionKey;
......@@ -446,6 +447,8 @@ public class ProblemInitiationServiceImpl {
public QualityProblem manualProcessingStart(QualityProblem qualityProblem, String status, String type){
String instanceId = null;
JSONObject dataObject = null;
if (!status.equals(WhetherItPassEnum.SAVE.getCode())){
// 保存信息启动流程
try {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(manualProcessingKey);
......@@ -458,36 +461,37 @@ public class ProblemInitiationServiceImpl {
AjaxResult ajaxResult = Workflow.taskClient.startByVariable(dto);
instanceId = ((Map)ajaxResult.get("data")).get("id").toString();
dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
// 保存问题信息
// 问题信息
qualityProblem.setComeFrom(type);
qualityProblem.setInstanceId(instanceId);
qualityProblem.setStatus(!ObjectUtils.isEmpty(dataObject) && !ObjectUtils.isEmpty(dataObject.get("name")) ? String.valueOf(dataObject.get("name")) : "");
qualityProblemService.save(qualityProblem);
//执行流程
// 保存或更新问题信息
qualityProblemService.saveOrUpdate(qualityProblem);
// 保存执行日志信息
ProjectInitiation projectInitiation = new ProjectInitiation();
projectInitiation.setInstanceId(instanceId);
projectInitiation.setTaskName("流程启动");
projectInitiationService.save(projectInitiation);
// 保存关联流程信息
iProcessRelationService.savePR(qualityProblem.getInstanceId(),qualityProblem.getSequenceNbr(), ProcessTypeEnum.人工处理.getName());
// 执行流程
manualProcessingExecute(instanceId, qualityProblem,status);
} catch (Exception e) {
e.printStackTrace();
}
}else {
// 保存更新问题信息
qualityProblem.setComeFrom(type);
qualityProblemService.saveOrUpdate(qualityProblem);
}
// 保存执行日志信息
// ProjectInitiation projectInitiation = new ProjectInitiation();
// projectInitiation.setInstanceId(instanceId);
// projectInitiation.setTaskName(QuestionComeFromEnum.getTypeByCode(type));
// projectInitiationService.save(projectInitiation);
// 保存关联流程信息
ProcessRelation processRelation = new ProcessRelation();
processRelation.setInstanceId(instanceId);
processRelation.setDefCode(manualProcessingKey);
processRelation.setStatus(ManualProcessingEnum.提交整改书.getDetail());
processRelation.setDefName(ProcessTypeEnum.人工处理.getName());
processRelation.setSourceId(qualityProblem.getSequenceNbr());
processRelationMapper.insert(processRelation);
return qualityProblem;
}
@Transactional
public String manualProcessingExecute(String instanceId, QualityProblem qualityProblem, String status){
JSONObject dataObject = null;
String taskId = null;
try {
//执行流程
TaskResultDTO dto1 = new TaskResultDTO();
......@@ -495,9 +499,9 @@ public class ProblemInitiationServiceImpl {
dto1.setResultCode("condition");
dto1.setTaskId(instanceId);
AjaxResult ajaxResult1 = Workflow.taskClient.getTask(instanceId);
if (!ObjectUtils.isEmpty((Map)ajaxResult1.get("data"))){
String instanceId1 = ((Map)ajaxResult1.get("data")).get("id").toString();
AjaxResult ajaxResult = Workflow.taskClient.completeByTask(instanceId1, dto1);
if (!ObjectUtils.isEmpty(ajaxResult1.get("data"))){
taskId = ((Map)ajaxResult1.get("data")).get("id").toString();
AjaxResult ajaxResult = Workflow.taskClient.completeByTask(taskId, dto1);
dataObject = JSON.parseObject(JSON.toJSONString(ajaxResult.get("data")));
}
// 更新问题状态
......@@ -517,13 +521,14 @@ public class ProblemInitiationServiceImpl {
qualityProblem.setStatus(ManualProcessingEnum.流程结束.getName());
}
qualityProblemService.updateById(qualityProblem);
// 保存执行日志信息
ProjectInitiation projectInitiation = new ProjectInitiation();
projectInitiation.setInstanceId(instanceId);
projectInitiation.setTaskId(taskId);
projectInitiation.setTaskName(qualityProblem.getStatus());
projectInitiationService.save(projectInitiation);
// 更新关联表数据
ProcessRelation processRelation = new ProcessRelation();
processRelation.setStatus(qualityProblem.getStatus());
LambdaQueryWrapper<ProcessRelation> lambda = new QueryWrapper<ProcessRelation>().lambda();
lambda.eq(ProcessRelation::getInstanceId, qualityProblem.getInstanceId());
lambda.eq(ProcessRelation::getSourceId, qualityProblem.getSequenceNbr());
processRelationMapper.update(processRelation,lambda);
iProcessRelationService.updateState(qualityProblem.getInstanceId());
} catch (Exception e) {
e.printStackTrace();
}
......
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