wangliang 3 rokov pred
rodič
commit
81dacdd554

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/ActivitiService.java

@@ -81,4 +81,9 @@ public interface ActivitiService {
      * @return
      */
     public List<FlowTaskResult> getTaskAll(String flowId);
+
+    /**
+     * 流程删除
+     */
+    public Boolean flowDelete();
 }

+ 22 - 4
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ActivitiServiceImpl.java

@@ -1,12 +1,10 @@
 package com.qmth.distributed.print.business.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
-import com.qmth.distributed.print.business.entity.ExamTask;
-import com.qmth.distributed.print.business.entity.TFFlowApprove;
-import com.qmth.distributed.print.business.entity.TFFlowApproveLog;
-import com.qmth.distributed.print.business.entity.TFFlowLog;
+import com.qmth.distributed.print.business.entity.*;
 import com.qmth.distributed.print.business.enums.ExamStatusEnum;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.contant.SpringContextHolder;
@@ -76,6 +74,9 @@ public class ActivitiServiceImpl implements ActivitiService {
     @Resource
     RedisUtil redisUtil;
 
+    @Resource
+    TFFlowService tfFlowService;
+
     /**
      * 注册流程
      *
@@ -482,4 +483,21 @@ public class ActivitiServiceImpl implements ActivitiService {
         }
         return flowTaskResultList;
     }
+
+    /**
+     * 流程删除
+     */
+    @Override
+    public Boolean flowDelete() {
+        List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processDefinitionKey(SystemConstant.GDYKDX_FLOW_KEY).list();
+        if (Objects.nonNull(processInstanceList) && processInstanceList.size() > 0) {
+            throw ExceptionResultEnum.ERROR.exception("有在途的流程,无法删除!");
+        } else {
+            UpdateWrapper<TFFlow> tfFlowUpdateWrapper = new UpdateWrapper<>();
+            tfFlowUpdateWrapper.lambda().eq(TFFlow::getFlowKey, SystemConstant.GDYKDX_FLOW_KEY)
+                    .set(TFFlow::getEnable, false);
+            tfFlowService.update(tfFlowUpdateWrapper);
+        }
+        return true;
+    }
 }

+ 1 - 0
distributed-print-business/src/main/resources/mapper/TFFlowMapper.xml

@@ -5,6 +5,7 @@
     <select id="list" resultType="com.qmth.distributed.print.business.entity.TFFlow">
         select tff.id,tff.school_id as schoolId,tff.org_id as orgId,tff.name,tff.enable,tff.publish from t_f_flow tff
         <where>
+            and tff.enable = 1
             <if test="name != null and name != ''">
                 and tff.name like concat('%',#{name},'%')
             </if>

+ 6 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/TFFlowController.java

@@ -28,6 +28,8 @@ import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import io.swagger.annotations.*;
+import org.activiti.engine.RuntimeService;
+import org.activiti.engine.runtime.ProcessInstance;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.dao.DuplicateKeyException;
@@ -39,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.validation.Valid;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
@@ -53,6 +56,7 @@ import java.util.Objects;
 @Api(tags = "流程Controller")
 @RestController
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + "/${prefix.url.flow}")
+//@Aac(strict = BOOL.FALSE, auth = BOOL.FALSE)
 public class TFFlowController {
     private final static Logger log = LoggerFactory.getLogger(TFFlowController.class);
 
@@ -127,8 +131,8 @@ public class TFFlowController {
     @ApiOperation(value = "删除流程")
     @ApiResponses({@ApiResponse(code = 200, message = "常规信息", response = ResultUtil.class)})
     @RequestMapping(value = "/delete", method = RequestMethod.POST)
-    public Result publish(@ApiParam(value = "流程文件id", required = true) @RequestParam String id) {
-        return ResultUtil.ok();
+    public Result delete() {
+        return ResultUtil.ok(activitiService.flowDelete());
     }
 
     @ApiOperation(value = "流程列表")