xiangpei
2025-03-06 7e7ac7b568d7b79a65c755bd47d0868835adc8f8
business/src/main/java/com/ycl/service/impl/ProjectProcessServiceImpl.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@@ -483,15 +482,13 @@
            }
            // 计算办理时间
            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId());
            if (processCoding != null) {
                if (StringUtils.isNotBlank(processCoding.getOvertime())) {
                    Long overtime = getTime(processCoding.getOvertime());
            ProcessCoding processCoding = processCodingService.getByTaskId(task.getId(), task.getProcessInstanceId());
            if (Objects.nonNull(processCoding)) {
                if (StringUtils.isNotBlank(processCoding.getRedTime())) {
                    Long overtime = getTime(processCoding.getRedTime());
                    long durationTime = 0l;
                    if (Objects.nonNull(processCoding.getStartTaskTime())) {
                        durationTime = ((new Date()).getTime() - processCoding.getStartTaskTime().getTime()) / 1000;
                    } else {
                        taskVO.setRemainingTime("未设置办理时间");
                    }
                    if (overtime > durationTime) {
                        taskVO.setRemainingTime((overtime - durationTime) / 3600 + "小时");
@@ -501,6 +498,8 @@
                } else {
                    taskVO.setRemainingTime("-");
                }
            } else {
                taskVO.setRemainingTime("-");
            }
            this.distinctVo(taskVO);
            vos.add(taskVO);
@@ -738,7 +737,36 @@
                }
            }
            // 完成任务
            flowTaskService.completeSubmitForm(form.getTaskId(), data);
            flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE);
        }
        return Result.ok("操作成功");
    }
    @Override
    public Result taskWait(TaskWaitForm form) {
        Task task = taskService.createTaskQuery().taskId(form.getTaskId()).processInstanceId(form.getProcessInsId()).singleResult();
        if (Objects.nonNull(task)) {
            // 添加容缺日志
            publisher.publishEvent(new TaskLogEvent(this,
                    null,
                    SecurityUtils.getUserId(),
                    form.getProjectId(),
                    form.getProcessInsId(),
                    task.getId(),
                    task.getTaskDefinitionKey(),
                    task.getName(),
                    ProcessLogEventTypeEnum.WAIT,
                    new WaitData(form.getDesc())));
            // 查出该任务绑定的表单
            Map<String, Object> data = new HashMap<>(1);
            if (StringUtils.isNotBlank(task.getFormKey())) {
                SysForm sysForm = formService.selectSysFormById(Long.parseLong(task.getFormKey()));
                if (Objects.nonNull(sysForm)) {
                    data.put(ProcessConstants.TASK_FORM_KEY, JSONObject.parseObject(sysForm.getFormContent()));
                }
            }
            // 完成任务
            flowTaskService.completeSubmitForm(form.getTaskId(), data, Boolean.FALSE);
        }
        return Result.ok("操作成功");
    }