|
|
@@ -1,14 +1,19 @@
|
|
|
package cn.iocoder.yudao.module.iscs.service.workflow;
|
|
|
|
|
|
+import cn.hutool.core.lang.Assert;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workflow.vo.WorkflowModePageReqVO;
|
|
|
import cn.iocoder.yudao.module.iscs.controller.admin.workflow.vo.WorkflowModeSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.workflow.WorkflowModeDO;
|
|
|
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workflow.WorkflowStepDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.mysql.workflow.WorkflowModeMapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import jakarta.annotation.Resource;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
import java.util.List;
|
|
|
@@ -24,9 +29,20 @@ public class WorkflowModeServiceImpl extends ServiceImpl<WorkflowModeMapper, Wor
|
|
|
|
|
|
@Resource
|
|
|
private WorkflowModeMapper workflowModeMapper;
|
|
|
+ @Resource
|
|
|
+ private WorkflowStepService workflowStepService;
|
|
|
|
|
|
@Override
|
|
|
public Long createWorkflowMode(WorkflowModeSaveReqVO createReqVO) {
|
|
|
+ Assert.notBlank(createReqVO.getModeName(), "模式名称不可为空!");
|
|
|
+ List<WorkflowModeDO> list = list(Wrappers.<WorkflowModeDO>lambdaQuery()
|
|
|
+ .eq(WorkflowModeDO::getModeName, createReqVO.getModeName()));
|
|
|
+ Assert.isTrue(list.isEmpty(), "该模式名称已存在!");
|
|
|
+ if (StringUtils.isNotBlank(createReqVO.getModeTitle())) {
|
|
|
+ List<WorkflowModeDO> list1 = list(Wrappers.<WorkflowModeDO>lambdaQuery()
|
|
|
+ .eq(WorkflowModeDO::getModeTitle, createReqVO.getModeTitle()));
|
|
|
+ Assert.isTrue(list1.isEmpty(), "该模式标题已存在!");
|
|
|
+ }
|
|
|
// 插入
|
|
|
WorkflowModeDO workflowMode = BeanUtils.toBean(createReqVO, WorkflowModeDO.class);
|
|
|
workflowModeMapper.insert(workflowMode);
|
|
|
@@ -37,6 +53,18 @@ public class WorkflowModeServiceImpl extends ServiceImpl<WorkflowModeMapper, Wor
|
|
|
|
|
|
@Override
|
|
|
public void updateWorkflowMode(WorkflowModeSaveReqVO updateReqVO) {
|
|
|
+ Assert.notNull(updateReqVO.getId(), "主键ID不可为空!");
|
|
|
+ Assert.notBlank(updateReqVO.getModeName(), "模式名称不可为空!");
|
|
|
+ List<WorkflowModeDO> list = list(Wrappers.<WorkflowModeDO>lambdaQuery()
|
|
|
+ .eq(WorkflowModeDO::getModeName, updateReqVO.getModeName())
|
|
|
+ .ne(WorkflowModeDO::getId, updateReqVO.getId()));
|
|
|
+ Assert.isTrue(list.isEmpty(), "该模式名称已存在!");
|
|
|
+ if (StringUtils.isNotBlank(updateReqVO.getModeTitle())) {
|
|
|
+ List<WorkflowModeDO> list1 = list(Wrappers.<WorkflowModeDO>lambdaQuery()
|
|
|
+ .eq(WorkflowModeDO::getModeTitle, updateReqVO.getModeTitle())
|
|
|
+ .ne(WorkflowModeDO::getId, updateReqVO.getId()));
|
|
|
+ Assert.isTrue(list1.isEmpty(), "该模式标题已存在!");
|
|
|
+ }
|
|
|
// 更新
|
|
|
WorkflowModeDO updateObj = BeanUtils.toBean(updateReqVO, WorkflowModeDO.class);
|
|
|
workflowModeMapper.updateById(updateObj);
|
|
|
@@ -48,10 +76,18 @@ public class WorkflowModeServiceImpl extends ServiceImpl<WorkflowModeMapper, Wor
|
|
|
workflowModeMapper.deleteById(id);
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public void deleteWorkflowModeListByIds(List<Long> ids) {
|
|
|
+ // 删除的时候同时删除步骤
|
|
|
+ List<WorkflowStepDO> list = workflowStepService.list(Wrappers.<WorkflowStepDO>lambdaQuery()
|
|
|
+ .in(WorkflowStepDO::getModeId, ids));
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ List<Long> list1 = list.stream().map(WorkflowStepDO::getId).toList();
|
|
|
+ workflowStepService.deleteWorkflowStepListByIds(list1);
|
|
|
+ }
|
|
|
// 删除
|
|
|
- workflowModeMapper.deleteByIds(ids);
|
|
|
+ workflowModeMapper.physicalDeleteByIds(ids);
|
|
|
}
|
|
|
|
|
|
|