Browse Source

档案审批电签任务状态

liuyc 1 year ago
parent
commit
3cf90cd063

+ 13 - 8
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -577,23 +577,28 @@ public class TaskController extends BladeController {
                     //通过checkArchiveTaskUserByCurrent检查,说明当前登陆用户是该条任务的审批人,修改审批任务状态
                     Task task = jdbcTemplate.queryForObject("select process_instance_id,form_data_id from u_task where id = " + taskArchiveDTO.getTaskId(), new BeanPropertyRowMapper<>(Task.class));
                     if (task != null) {
+                        //TODO ============ 档案电签推送(每个人都要电签,按照顺序) ============
+                        org.springblade.evisa.vo.TaskArchiveDTO eVisaObj = new org.springblade.evisa.vo.TaskArchiveDTO();
+                        BeanUtils.copyProperties(taskArchiveDTO, eVisaObj);
+                        eVisaObj.setType(1); //审批
+                        try {
+                            this.eVisaClient.eVisaCustom(eVisaObj);
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                            throw new ServiceException("电签失败,原因:" + e.getMessage());
+                        }
+
                         //获取审批任务关联用户的详情
                         List<TaskParallel> taskParallels = jdbcTemplate.query("select id,process_instance_id,task_user,task_user_name from u_task_parallel where process_instance_id = '" + task.getProcessInstanceId() + "'", new BeanPropertyRowMapper<>(TaskParallel.class));
                         if (taskParallels.size() > 0) {
                             //当前用户任务
                             TaskParallel taskParallelCurrentUser = taskParallels.stream().filter(f -> f.getTaskUser().equals(SecureUtil.getUserId().toString())).findAny().orElse(null);
                             if (taskParallelCurrentUser != null) {
-                                //修改当前用户任务为已审批
-                                jdbcTemplate.execute("update u_task_parallel set status = 2 where id = " + taskParallelCurrentUser.getId());
+                                //修改当前用户任务为已审批、电签任务状态为成功
+                                jdbcTemplate.execute("update u_task_parallel set status = 2,e_visa_status = 1 where id = " + taskParallelCurrentUser.getId());
                             }
                         }
 
-                        //TODO ============ 档案电签推送(每个人都要电签,按照顺序) ============
-                        org.springblade.evisa.vo.TaskArchiveDTO eVisaObj = new org.springblade.evisa.vo.TaskArchiveDTO();
-                        BeanUtils.copyProperties(taskArchiveDTO, eVisaObj);
-                        eVisaObj.setType(1); //审批
-                        this.eVisaClient.eVisaCustom(eVisaObj);
-
                         //获取最新任务状态,判断是否存在未完成的审批任务(最后一个人审批完成);如果没有就闭环,修改审批任务状态、业务数据状态
                         List<TaskParallel> taskParallelsNow = jdbcTemplate.query("select status from u_task_parallel where process_instance_id = '" + task.getProcessInstanceId() + "'", new BeanPropertyRowMapper<>(TaskParallel.class));
                         List<TaskParallel> pendingApprovalTask = taskParallelsNow.stream().filter(f -> f.getStatus() != 2).collect(Collectors.toList());