|
|
@@ -5,8 +5,7 @@ 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.sop.vo.*;
|
|
|
-import cn.iocoder.yudao.module.iscs.dal.dataobject.sop.SopDO;
|
|
|
-import cn.iocoder.yudao.module.iscs.dal.dataobject.sop.SopGroupDO;
|
|
|
+import cn.iocoder.yudao.module.iscs.dal.dataobject.sop.*;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.mysql.sop.SopMapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
@@ -44,7 +43,7 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public Boolean createSop(SopSaveReqVO vo) {
|
|
|
+ public Long createSop(SopSaveReqVO vo) {
|
|
|
Assert.isTrue(StringUtils.isNotBlank(vo.getSopName()), "SOP名称不可为空!");
|
|
|
List<SopDO> list = list(Wrappers.<SopDO>lambdaQuery().eq(SopDO::getSopName, vo.getSopName()));
|
|
|
Assert.isTrue(list.isEmpty(), "该SOP名称已被使用!");
|
|
|
@@ -72,7 +71,7 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
sopWorkflowStepService.createSopWorkflowStep(vo.getSopStepList());
|
|
|
}
|
|
|
// 返回
|
|
|
- return true;
|
|
|
+ return sop.getId();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -90,13 +89,42 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
sopMapper.updateById(updateObj);
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
- public void deleteSopListByIds(List<Long> ids) {
|
|
|
+ public void deleteSopListByIds(List<Long> ids) {
|
|
|
// 校验存在
|
|
|
validateSopExists(ids);
|
|
|
// 删除
|
|
|
- sopMapper.deleteByIds(ids);
|
|
|
+ sopMapper.physicalDeleteByIds(ids);
|
|
|
+ // 删除isc_sop_group
|
|
|
+ List<SopGroupDO> sopGroupList = sopGroupService.list(Wrappers.<SopGroupDO>lambdaQuery()
|
|
|
+ .in(SopGroupDO::getSopId, ids));
|
|
|
+ if (!sopGroupList.isEmpty()) {
|
|
|
+ List<Long> idList = sopGroupList.stream().map(SopGroupDO::getId).toList();
|
|
|
+ sopGroupService.deleteSopGroupListByIds(idList);
|
|
|
+ }
|
|
|
+ // 删除isc_sop_points
|
|
|
+ List<SopPointsDO> sopPointList = sopPointsService.list(Wrappers.<SopPointsDO>lambdaQuery()
|
|
|
+ .in(SopPointsDO::getSopId, ids));
|
|
|
+ if (!sopPointList.isEmpty()) {
|
|
|
+ List<Long> idList = sopPointList.stream().map(SopPointsDO::getId).toList();
|
|
|
+ sopPointsService.deleteSopPointsListByIds(idList);
|
|
|
+ }
|
|
|
+ // 删除isc_sop_user
|
|
|
+ List<SopUserDO> sopUserList = sopUserService.list(Wrappers.<SopUserDO>lambdaQuery()
|
|
|
+ .in(SopUserDO::getSopId, ids));
|
|
|
+ if (!sopUserList.isEmpty()) {
|
|
|
+ List<Long> idList = sopUserList.stream().map(SopUserDO::getId).toList();
|
|
|
+ sopUserService.deleteSopUserListByIds(idList);
|
|
|
}
|
|
|
+ // 删除isc_sop_workflow_step
|
|
|
+ List<SopWorkflowStepDO> sopWorkflowStepList = sopWorkflowStepService.list(Wrappers.<SopWorkflowStepDO>lambdaQuery()
|
|
|
+ .in(SopWorkflowStepDO::getSopId, ids));
|
|
|
+ if (!sopWorkflowStepList.isEmpty()) {
|
|
|
+ List<Long> idList = sopWorkflowStepList.stream().map(SopWorkflowStepDO::getId).toList();
|
|
|
+ sopWorkflowStepService.deleteSopWorkflowStepListByIds(idList);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
private void validateSopExists(List<Long> ids) {
|
|
|
List<SopDO> list = sopMapper.selectByIds(ids);
|