diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java index 9310fe8e..6b60db02 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/flowable/service/impl/FlowTaskServiceImpl.java @@ -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 variables, OcrTaskchildPicture model, String formId, UserToken userToken) { + private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map 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 variables) { + private void disposeFailureTask(Task task, String formId, Map 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 endNodes = findEndFlowElement(task.getProcessDefinitionId()); //2、执行终止 List executions = runtimeService.createExecutionQuery().parentId(task.getProcessInstanceId()).list(); List 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); + } //发送消息 @@ -1961,13 +1963,13 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask break; case "and": // 添加 "and" 查询条件 - searchQuery.addRulesOp(usersearchchild.getSearchfield(),"and"); + searchQuery.addRulesOp(usersearchchild.getSearchfield(), "and"); SearchQuery andQuery = this.formattingSearchType1(searchQuery, usersearchchild); searchQuery.setSearchQuery(andQuery); break; case "or": // 添加 "or" 查询条件 - searchQuery.addRulesOp(usersearchchild.getSearchfield(),"or"); + searchQuery.addRulesOp(usersearchchild.getSearchfield(), "or"); SearchQuery orQuery = this.formattingSearchType1(searchQuery, usersearchchild); searchQuery.setSearchQuery(orQuery); break; @@ -2010,8 +2012,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask case "time": //格式化时间数据 String[] times = usersearchchild.getSearchvalue().trim().replaceAll("\\s+", "").split("-"); - beginTime = DateUtil.parse(times[0]+" 00:00:00", "yyyy/MM/dd HH:mm:ss"); - endTime = DateUtil.parse(times[1]+" 23:59:59", "yyyy/MM/dd HH:mm:ss"); + beginTime = DateUtil.parse(times[0] + " 00:00:00", "yyyy/MM/dd HH:mm:ss"); + endTime = DateUtil.parse(times[1] + " 23:59:59", "yyyy/MM/dd HH:mm:ss"); break; default: } @@ -2062,14 +2064,14 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask //时间区间数据 //相等 if (queryType) { - searchQuery.addGreaterEqual(usersearchchild.getSearchfield()+"Start", beginTime.getTime()); - searchQuery.addLessEqual(usersearchchild.getSearchfield()+"End", endTime.getTime()); + searchQuery.addGreaterEqual(usersearchchild.getSearchfield() + "Start", beginTime.getTime()); + searchQuery.addLessEqual(usersearchchild.getSearchfield() + "End", endTime.getTime()); break; } //不相等 - searchQuery.addRulesOp(usersearchchild.getSearchfield()+"Start","or"); - searchQuery.addLess(usersearchchild.getSearchfield()+"Start", beginTime.getTime()); - searchQuery.addGreater(usersearchchild.getSearchfield()+"End", endTime.getTime()); + searchQuery.addRulesOp(usersearchchild.getSearchfield() + "Start", "or"); + searchQuery.addLess(usersearchchild.getSearchfield() + "Start", beginTime.getTime()); + searchQuery.addGreater(usersearchchild.getSearchfield() + "End", endTime.getTime()); break; default: diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java index b1832c3f..af7f7356 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/PrevailCloudApi.java @@ -19,4 +19,6 @@ public interface PrevailCloudApi { * @return */ ApiPage pullPictureSource(PictureSourceParameter pictureSourceParameter) throws Exception; + + void sendFlowTaskResult(String tenantId,String data) throws Exception; } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java index 93e4d870..295280a5 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/api/impl/PrevailCloudApiImpl.java @@ -48,6 +48,11 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { */ private String pictureSourceUrl = "/pangu/jingwei/ocr/query/pb/task/pageList"; + /** + * 拉取图片信息 + */ + private String sendResultUrl = "/pangu/jingwei/thirdclient/command/pb/approval/result"; + /** * 拉取项目信息 */ @@ -116,4 +121,18 @@ public class PrevailCloudApiImpl implements PrevailCloudApi { return null; } + @Override + public void sendFlowTaskResult(String tenantId, String data) throws Exception { + RequestData requestData = ApiHelper.buildRequest(tenantId, apiConfig.getAccessKey(), apiConfig.getAccessCode(),data);//组装请求参数 + String url = apiConfig.getInterfaceDomain()+sendResultUrl; + String requestBodyJson = JSONObject.toJSONString(requestData); + //入参 + System.out.println("入参数据:"+requestBodyJson); + HttpParamers httpParamers = new HttpParamers(HttpMethod.POST); + httpParamers.setJsonParamer(requestBodyJson); + //发起请求 + String responseJsonStr = HttpClient.doPost(url,httpParamers,null,apiConfig.getConnectTimeout(),apiConfig.getReadTimeout()); + System.out.println(responseJsonStr); + } + } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java index dd924bc3..2a7e3059 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/OcrTaskchildPictureService.java @@ -149,7 +149,7 @@ public interface OcrTaskchildPictureService extends BaseService getPackageSimilarityList(Integer pageNo, Integer pageSize, String oderType, String oderName, String checkDuplicateId, String pictureId, UserToken userToken); - void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove); + void sendFlowTaskResult(OcrTaskchildPicture taskchildPicture, OcrPicture picture, FlowApprove flowApprove) throws Exception; List getDubiousfileList(List pictureIds, String userNodeType); } diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java index b69625ee..9d731394 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/service/impl/OcrTaskchildPictureServiceImpl.java @@ -19,6 +19,7 @@ import cn.jyjz.xiaoyao.oa.from.dataobject.Category; import cn.jyjz.xiaoyao.oa.from.dataobject.Userapprove; import cn.jyjz.xiaoyao.oa.from.service.CategoryService; import cn.jyjz.xiaoyao.oa.from.service.UserapproveService; +import cn.jyjz.xiaoyao.ocr.api.PrevailCloudApi; import cn.jyjz.xiaoyao.ocr.dataDao.OcrTaskchildPictureMybatisDao; import cn.jyjz.xiaoyao.ocr.dataobject.*; import cn.jyjz.xiaoyao.ocr.dto.ApproveNodeDto; @@ -95,6 +96,9 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl