فهرست منبع

计量bug

Signed-off-by: liuyc <56808083@qq.com>
liuyc 1 سال پیش
والد
کامیت
3c2c327043

+ 6 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/InformationWriteQueryController.java

@@ -2094,7 +2094,12 @@ public class InformationWriteQueryController extends BladeController {
         List<WbsTreeContract> wbsTreeContractsTo = Collections.singletonList(toCopyNode);
         List<WbsTreeContract> needCopyNodeTabs = this.getChildNodesTables(wbsTreeContractsNeed, needCopyNode.getContractId());
         List<WbsTreeContract> toCopyNodeTabs = this.getChildNodesTables(wbsTreeContractsTo, needCopyNode.getContractId());
-        Map<String, WbsTreeContract> toCopyNodeTabsMaps = toCopyNodeTabs.stream().collect(Collectors.toMap(obj -> obj.getNodeName() + "-" + obj.getHtmlUrl(), Function.identity()));
+        Map<String, WbsTreeContract> toCopyNodeTabsMaps = toCopyNodeTabs.stream()
+                .collect(Collectors.toMap(
+                        obj -> obj.getNodeName() + "-" + obj.getHtmlUrl(),
+                        Function.identity(),
+                        (existing, replacement) -> existing
+                ));
         if (needCopyNodeTabs.size() > 0) {
             for (WbsTreeContract needTab : needCopyNodeTabs) {
                 if (ObjectUtil.isNotEmpty(needTab.getHtmlUrl())) {

+ 12 - 3
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -1650,8 +1650,11 @@ public class TaskController extends BladeController {
         if (ObjectUtil.isEmpty(dto.getTaskId())) {
             throw new ServiceException("未获取到taskId");
         }
-        Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id,contract_id,project_id FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
+        Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id,contract_id,project_id,status FROM u_task WHERE id = " + dto.getTaskId(), new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
         if (task != null) {
+            if (task.getStatus().equals(2)) {
+                throw new ServiceException("当前任务已完成审批,无法上传");
+            }
             check(task);
 
             List<AttachmentFormTask> fileList = dto.getFileList();
@@ -1677,8 +1680,11 @@ public class TaskController extends BladeController {
         if (ObjectUtil.isEmpty(taskId)) {
             throw new ServiceException("未获取到taskId");
         }
-        Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id FROM u_task WHERE id = " + taskId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
+        Task task = jdbcTemplate.query("SELECT meter_task_type,process_instance_id,status FROM u_task WHERE id = " + taskId, new BeanPropertyRowMapper<>(Task.class)).stream().findAny().orElse(null);
         if (task != null) {
+            if (task.getStatus().equals(2)) {
+                throw new ServiceException("当前任务已完成审批,无法删除");
+            }
             check(task);
 
             AttachmentFormTask attachmentFormTask = attachmentFormServiceTask.getById(id);
@@ -1806,6 +1812,9 @@ public class TaskController extends BladeController {
 
         for (TaskParallel parallel : taskParallels) {
             if (parallel.getTaskUser().equals(SecureUtil.getUserId().toString())) {
+                if (parallel.getStatus().equals(2)) {
+                    throw new ServiceException("你已完成当前任务的审批,操作失败");
+                }
                 break;
             }
             if (parallel.getStatus() != 2) {
@@ -1870,7 +1879,7 @@ public class TaskController extends BladeController {
                 startPayMeterFormServiceTask.update(updateEntity, updateWrapper);
             }
         } else if (task.getMeterTaskType().equals(4)) {
-            List<ChangeTokenFormTask> query = jdbcTemplate.query("SELECT id FROM s_change_token_form_task WHERE status != 2 id IN(" + formDataId + ")", new BeanPropertyRowMapper<>(ChangeTokenFormTask.class));
+            List<ChangeTokenFormTask> query = jdbcTemplate.query("SELECT id FROM s_change_token_form_task WHERE status != 2 AND id IN(" + formDataId + ")", new BeanPropertyRowMapper<>(ChangeTokenFormTask.class));
             List<Long> collect = query.stream().map(ChangeTokenFormTask::getId).collect(Collectors.toList());
             if (collect.size() > 0) {
                 jdbcTemplate.execute("UPDATE s_change_token_form_task SET status = 1 WHERE id IN(" + StringUtils.join(collect, ",") + ")");