|
|
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowdesign.v
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workdesign.workflowdesign.vo.WorkflowDesignSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowDesignDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowDesignNodeDO;
|
|
|
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workdesign.WorkflowWorkDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.mysql.workdesign.WorkflowDesignMapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -14,12 +15,14 @@ import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 流程设计 Service 实现类
|
|
|
@@ -34,6 +37,9 @@ public class WorkflowDesignServiceImpl extends ServiceImpl<WorkflowDesignMapper,
|
|
|
private WorkflowDesignMapper workflowDesignMapper;
|
|
|
@Resource
|
|
|
private WorkflowDesignNodeService workflowDesignNodeService;
|
|
|
+ @Lazy
|
|
|
+ @Resource
|
|
|
+ private WorkflowWorkService workflowWorkService;
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
@@ -114,6 +120,24 @@ public class WorkflowDesignServiceImpl extends ServiceImpl<WorkflowDesignMapper,
|
|
|
workflowDesignMapper.updateById(updateObj);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void updateWorkflowDesignStatus(WorkflowDesignSaveReqVO updateReqVO) {
|
|
|
+ // 检查参数
|
|
|
+ Assert.notNull(updateReqVO.getId(), "ID不可为空");
|
|
|
+ Assert.notNull(updateReqVO.getStatus(), "状态不可为空");
|
|
|
+ if (updateReqVO.getStatus().equals(0)) {
|
|
|
+ // 检查是否被使用,使用了不能禁用
|
|
|
+ List<WorkflowWorkDO> list = workflowWorkService.list(Wrappers.<WorkflowWorkDO>lambdaQuery()
|
|
|
+ .eq(WorkflowWorkDO::getDesignId, updateReqVO.getId()));
|
|
|
+ Assert.isTrue(list.isEmpty(), "正在被"
|
|
|
+ + list.stream().map(WorkflowWorkDO::getName).collect(Collectors.joining(",")) + "使用,不可禁用");
|
|
|
+ }
|
|
|
+ update(Wrappers.<WorkflowDesignDO>lambdaUpdate()
|
|
|
+ .eq(WorkflowDesignDO::getId, updateReqVO.getId())
|
|
|
+ .set(WorkflowDesignDO::getStatus, updateReqVO.getStatus()));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void deleteWorkflowDesign(Long id) {
|
|
|
// 删除
|