Prechádzať zdrojové kódy

档案任务废除bug

liuyc 1 rok pred
rodič
commit
5e2fb1a560

+ 10 - 3
blade-service/blade-business/src/main/java/org/springblade/business/controller/TaskController.java

@@ -462,6 +462,7 @@ public class TaskController extends BladeController {
         if (dataArr.length > 0) {
             for (String id : dataArr) {
                 ArchiveFile archive = jdbcTemplate.query("SELECT * FROM u_archive_file WHERE id = " + id, new BeanPropertyRowMapper<>(ArchiveFile.class)).stream().findAny().orElse(null);
+
                 if (archive == null) {
                     continue;
                 }
@@ -473,6 +474,11 @@ public class TaskController extends BladeController {
                     throw new ServiceException("只有【未认证】状态的业务数据才能上报!");
                 }
 
+                Task taskInfo = jdbcTemplate.query("select status from u_task where task_create_timestamp is not null and form_data_id = " + id, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
+                if (ObjectUtil.isNotEmpty(taskInfo)) {
+                    throw new ServiceException("文件【" + archive.getFileName() + "】已经重复选择,请重新选择左侧节点树文件数据进行上报");
+                }
+
                 //创建task审批任务
                 Long processInstanceId = SnowFlakeUtil.getId();
                 Task task = new Task();
@@ -581,10 +587,10 @@ public class TaskController extends BladeController {
                 //判断现在的数据是否是待审批数据,只有上报状态、未认证状态的数据才能撤销
                 ArchiveFile archiveFile = jdbcTemplate.queryForObject("select * from u_archive_file where id = " + archiveId, new BeanPropertyRowMapper<>(ArchiveFile.class));
                 if (archiveFile != null) {
-                    //修改档案文件收集业务数据状态=已废除
-                    jdbcTemplate.execute("update u_archive_file set status = 3,is_certification = 0,e_visa_file = null where id = " + archiveId);
-                    Task task = jdbcTemplate.query("select id,status,process_instance_id from u_task where form_data_id = " + archiveId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
+                    Task task = jdbcTemplate.query("select id,status,process_instance_id from u_task where task_create_timestamp is not null and form_data_id = " + archiveId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
                     if (task != null && task.getStatus().equals(1)) {
+                        //修改档案文件收集业务数据状态=已废除
+                        jdbcTemplate.execute("update u_archive_file set status = 3,is_certification = 0,e_visa_file = null where id = " + archiveId);
                         //待审批审批任务=已废除
                         jdbcTemplate.execute("update u_task set status = 3 where id = " + task.getId());
                         //审批任务详情=已废除
@@ -610,6 +616,7 @@ public class TaskController extends BladeController {
                 }
             }
             return R.success("操作成功");
+
         } else if (repealDTO.getType().equals(2)) { //任务审批废除
             String[] taskIds = repealDTO.getIds().split(",");
             for (String taskId : taskIds) {