大件运输联网系统后端代码
guoshilong
2023-01-02 5a995556b3b319f6276ec019b714e0f4288ba5b9
添加申请撤销逻辑,删除撤销申请包
3 files modified
9 files deleted
503 ■■■■ changed files
src/main/java/org/springblade/flow/business/controller/WorkController.java 46 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/business/service/impl/FlowBusinessServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/engine/constant/FlowEngineConstant.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/controller/ApplicationCancelController.java 126 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/dto/ApplicationCancelDTO.java 34 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/entity/ApplicationCancelEntity.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/mapper/ApplicationCancelMapper.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/mapper/ApplicationCancelMapper.xml 26 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/service/IApplicationCancelService.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/service/impl/ApplicationCancelServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/vo/ApplicationCancelVO.java 35 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/applicationCancel/wrapper/ApplicationCancelWrapper.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/flow/business/controller/WorkController.java
@@ -16,17 +16,22 @@
 */
package org.springblade.flow.business.controller;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.impl.RuntimeServiceImpl;
import org.springblade.common.constant.AuditStatusConstant;
import org.springblade.core.launch.constant.AppConstant;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.flow.business.service.FlowBusinessService;
@@ -34,6 +39,12 @@
import org.springblade.flow.core.utils.TaskUtil;
import org.springblade.flow.engine.entity.FlowProcess;
import org.springblade.flow.engine.service.FlowEngineService;
import org.springblade.modules.application.entity.ApplicationEntity;
import org.springblade.modules.application.service.IApplicationService;
import org.springblade.modules.applicationCarChange.entity.ApplicationCarChangeEntity;
import org.springblade.modules.applicationCarChange.service.IApplicationCarChangeService;
import org.springblade.modules.applicationDelay.entity.ApplicationDelayEntity;
import org.springblade.modules.applicationDelay.service.IApplicationDelayService;
import org.springframework.web.bind.annotation.*;
import java.time.Duration;
@@ -50,10 +61,15 @@
public class WorkController {
    private final TaskService taskService;
    private final RuntimeService runtimeService;
    private final FlowEngineService flowEngineService;
    private final FlowBusinessService flowBusinessService;
    private final BladeRedis bladeRedis;
    private final IApplicationService applicationService;
    private final IApplicationDelayService applicationDelayService;
    private final IApplicationCarChangeService applicationCarChangeService;
    /**
     * 发起事务列表页
@@ -156,15 +172,37 @@
    @PostMapping("withdraw-task")
    @ApiOperationSupport(order = 9)
    @ApiOperation(value = "撤销任务", notes = "传入流程信息")
    public R withdraw(String userId){
        int times = Func.toInt(bladeRedis.get("AUDIT-CANCEL" + userId), 1);
    public R withdraw(@RequestBody BladeFlow bladeFlow){
        int times = Func.toInt(bladeRedis.get("AUDIT-CANCEL" + AuthUtil.getUser().getUserId()), 1);
        if (times>3){
            return R.success("撤销任务失败");
            return R.fail("撤销任务失败");
        }
        bladeRedis.setEx("AUDIT-CANCEL"+userId,times+1, Duration.ofDays(1));
        bladeRedis.setEx("AUDIT-CANCEL"+AuthUtil.getUser().getUserId(),times+1, Duration.ofDays(1));
        //撤销任务操作
        runtimeService.deleteProcessInstance(bladeFlow.getProcessInstanceId(),"自己撤销");
        switch (bladeFlow.getProcessDefinitionKey()){
            case "Leave":
                break;
            case "Audit":
                ApplicationEntity applicationEntity = applicationService.getById(bladeFlow.getBusinessId());
                applicationEntity.setStatus(AuditStatusConstant.SELF_CANCEL);
                applicationService.updateById(applicationEntity);
                break;
            case "delayAudit":
                ApplicationDelayEntity applicationDelayEntity = applicationDelayService.getById(bladeFlow.getBusinessId());
                applicationDelayEntity.setStatus(AuditStatusConstant.SELF_CANCEL);
                applicationDelayService.updateById(applicationDelayEntity);
                break;
            case "carChangeAudit":
                ApplicationCarChangeEntity applicationCarChangeEntity = applicationCarChangeService.getById(bladeFlow.getBusinessId());
                applicationCarChangeEntity.setStatus(AuditStatusConstant.SELF_CANCEL);
                applicationCarChangeService.updateById(applicationCarChangeEntity);
                break;
            default:
                break;
        }
        return R.success("撤销任务成功");
    }
src/main/java/org/springblade/flow/business/service/impl/FlowBusinessServiceImpl.java
@@ -173,6 +173,11 @@
            } else {
                flow.setProcessIsFinished(FlowEngineConstant.STATUS_UNFINISHED);
            }
            //当deleteReason不为null时视为自行撤销
            if (historicProcessInstance.getDeleteReason() != null){
                flow.setProcessIsFinished(FlowEngineConstant.STATUS_WITHDRAW);
            }
            flow.setStatus(FlowEngineConstant.STATUS_FINISH);
            flowList.add(flow);
        });
src/main/java/org/springblade/flow/engine/constant/FlowEngineConstant.java
@@ -42,6 +42,10 @@
    String STATUS_FINISHED = "finished";
    String STATUS_UNFINISHED = "unfinished";
    /**
     * 自行撤销
     */
    String STATUS_WITHDRAW = "withdraw";
    String STATUS_FINISH = "finish";
src/main/java/org/springblade/modules/applicationCancel/controller/ApplicationCancelController.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/dto/ApplicationCancelDTO.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/entity/ApplicationCancelEntity.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/mapper/ApplicationCancelMapper.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/mapper/ApplicationCancelMapper.xml
File was deleted
src/main/java/org/springblade/modules/applicationCancel/service/IApplicationCancelService.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/service/impl/ApplicationCancelServiceImpl.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/vo/ApplicationCancelVO.java
File was deleted
src/main/java/org/springblade/modules/applicationCancel/wrapper/ApplicationCancelWrapper.java
File was deleted