|
|
|
@ -33,11 +33,9 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Flowablecc;
|
|
|
|
|
import cn.jyjz.xiaoyao.oa.from.service.*;
|
|
|
|
|
|
|
|
|
|
import cn.jyjz.xiaoyao.oa.from.vo.FlowUnionVo;
|
|
|
|
|
import cn.jyjz.xiaoyao.oa.from.vo.RepeatedTaskVo;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.dataobject.*;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.service.*;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.util.SearchParaFormatting;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskChildPictureVo;
|
|
|
|
|
import cn.jyjz.xiaoyao.ocr.vo.OcrTaskchildPictureApproVo;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
@ -456,9 +454,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
variables.put("approvd", approve.getResult());
|
|
|
|
|
OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(flowTaskInfo.getFormId()));
|
|
|
|
|
if (approve.getResult()) {
|
|
|
|
|
disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken);
|
|
|
|
|
disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken, approve);
|
|
|
|
|
} else {
|
|
|
|
|
disposeFailureTask(task, flowTaskInfo.getFormId(), variables);
|
|
|
|
|
disposeFailureTask(task, flowTaskInfo.getFormId(), variables, approve);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
userapproveService.save(userToken, approve, task, flowTaskInfo.getFormId());
|
|
|
|
|
successCount++;
|
|
|
|
@ -475,7 +474,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
/**
|
|
|
|
|
* 处理审批成功任务
|
|
|
|
|
*/
|
|
|
|
|
private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map<String, Object> variables, OcrTaskchildPicture model, String formId, UserToken userToken) {
|
|
|
|
|
private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map<String, Object> variables, OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve) throws Exception {
|
|
|
|
|
//进入下一个节点
|
|
|
|
|
taskService.complete(task.getId(), variables);
|
|
|
|
|
updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition);
|
|
|
|
@ -488,17 +487,19 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
if (null != taskList && !taskList.isEmpty()) {
|
|
|
|
|
taskData = taskList.get(0);
|
|
|
|
|
}
|
|
|
|
|
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
|
|
|
|
|
if (ObjectUtils.isEmpty(taskData)) {
|
|
|
|
|
model.setFinishtime(System.currentTimeMillis());
|
|
|
|
|
model.setStates(SystemConstantsOa.OA_STATUS_TYPE_END);
|
|
|
|
|
ocrTaskchildPictureService.updateById(model);
|
|
|
|
|
OcrPicture picture = ocrPictureService.getById(model.getPictureid());
|
|
|
|
|
ocrTaskchildPictureService.sendFlowTaskResult(childPicture, picture, approve);
|
|
|
|
|
} else {
|
|
|
|
|
//判断节点上的描述字段,是否伟finale_judgment,如果是,记录到终审表中,如果终审表已经存在,不再重复记录
|
|
|
|
|
if (StringUtils.isNotBlank(taskData.getDescription()) && taskData.getDescription().equals(SystemConstantsOa.OA_TASK_COMPLETE_FINALE_FORM)) {
|
|
|
|
|
User user = userService.findByLoginname(formData.getAssignee());
|
|
|
|
|
userFinalService.save(user.getId().toString(), formId);
|
|
|
|
|
}
|
|
|
|
|
OcrTaskchildPicture childPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
|
|
|
|
|
this.sendMsg(childPicture, userToken);
|
|
|
|
|
childPicture.setTaskId(taskData.getId());
|
|
|
|
|
childPicture.setTaskname(taskData.getName());
|
|
|
|
@ -512,7 +513,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
/**
|
|
|
|
|
* 处理失败任务
|
|
|
|
|
*/
|
|
|
|
|
private void disposeFailureTask(Task task, String formId, Map<String, Object> variables) {
|
|
|
|
|
private void disposeFailureTask(Task task, String formId, Map<String, Object> variables, FlowApprove approve) throws Exception {
|
|
|
|
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult();
|
|
|
|
|
//我这里以 流程定义key(oa_category_t定义的关键字,逻辑唯一) + 业务表主键(请假表、调岗表等) + 业务表对应的servicename
|
|
|
|
|
String businesskey = processInstance.getBusinessKey();
|
|
|
|
@ -535,8 +536,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
//设置流程结束状态
|
|
|
|
|
iFormCustomService.endForm(busskey[1], SystemConstantsOa.OA_STATUS_TYPE_REFUSE, assignee, task.getProcessInstanceId(), task.getName());
|
|
|
|
|
}
|
|
|
|
|
//1、获取终止节点
|
|
|
|
|
List<EndEvent> endNodes = findEndFlowElement(task.getProcessDefinitionId());
|
|
|
|
|
//2、执行终止
|
|
|
|
|
List<Execution> executions = runtimeService.createExecutionQuery().parentId(task.getProcessInstanceId()).list();
|
|
|
|
|
List<String> executionIds = new ArrayList<>();
|
|
|
|
@ -544,6 +543,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
|
|
|
|
|
OcrTaskchildPicture taskchildPicture = ocrTaskchildPictureService.getById(Long.parseLong(formId));
|
|
|
|
|
taskchildPicture.setFinishtime(System.currentTimeMillis());
|
|
|
|
|
ocrTaskchildPictureService.updateById(taskchildPicture);
|
|
|
|
|
OcrPicture picture = ocrPictureService.getById(taskchildPicture.getPictureid());
|
|
|
|
|
ocrTaskchildPictureService.sendFlowTaskResult(taskchildPicture, picture, approve);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//发送消息
|
|
|
|
|