|
|
@@ -5,10 +5,14 @@ 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.machinerypoints.MachineryPointsDO;
|
|
|
import cn.iocoder.yudao.module.iscs.dal.dataobject.sop.*;
|
|
|
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.sop.SopMapper;
|
|
|
+import cn.iocoder.yudao.module.iscs.service.machinerypoints.MachineryPointsService;
|
|
|
import cn.iocoder.yudao.module.iscs.service.workflow.WorkflowModeService;
|
|
|
+import cn.iocoder.yudao.module.iscs.service.workflow.WorkflowStepService;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -19,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
@@ -45,6 +50,10 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
private SopGroupService sopGroupService;
|
|
|
@Resource
|
|
|
private WorkflowModeService workflowModeService;
|
|
|
+ @Resource
|
|
|
+ private WorkflowStepService workflowStepService;
|
|
|
+ @Resource
|
|
|
+ private MachineryPointsService machineryPointsService;
|
|
|
@Lazy
|
|
|
@Resource
|
|
|
private SopExecutionPlanService sopExecutionPlanService;
|
|
|
@@ -67,7 +76,7 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
sopGroupDO.setSopId(sop.getId());
|
|
|
sopGroupDO.setGroupName("默认分组");
|
|
|
sopGroupService.save(sopGroupDO);
|
|
|
- // 新增人员信息
|
|
|
+ /*// 新增人员信息
|
|
|
if (vo.getSopUserList() != null && !vo.getSopUserList().isEmpty()) {
|
|
|
vo.getSopUserList().forEach(o -> o.setSopId(sop.getId()));
|
|
|
sopUserService.createSopUser(vo.getSopUserList());
|
|
|
@@ -78,14 +87,77 @@ public class SopServiceImpl extends ServiceImpl<SopMapper, SopDO> implements Sop
|
|
|
sopPointsService.createSopPoints(vo.getSopPointsList());
|
|
|
}
|
|
|
// 新增流程步骤信息
|
|
|
- /*if (vo.getSopStepList() != null && !vo.getSopStepList().isEmpty()) {
|
|
|
+ if (vo.getSopStepList() != null && !vo.getSopStepList().isEmpty()) {
|
|
|
vo.getSopStepList().forEach(o -> o.setSopId(sop.getId()));
|
|
|
sopWorkflowStepService.createSopWorkflowStep(vo.getSopStepList());
|
|
|
}*/
|
|
|
+ // 新增隔离点
|
|
|
+ if (vo.getMachineryId() != null) {
|
|
|
+ List<MachineryPointsDO> machineryPointsDOS = machineryPointsService.list(Wrappers.<MachineryPointsDO>lambdaQuery()
|
|
|
+ .eq(MachineryPointsDO::getMachineryId, vo.getMachineryId()));
|
|
|
+ ArrayList<SopPointsSaveReqVO> sopPointsSaveReqVOS = getSopPointsSaveReqVOS(machineryPointsDOS, sop, sopGroupDO);
|
|
|
+ if (!sopPointsSaveReqVOS.isEmpty()) {
|
|
|
+ sopPointsService.createSopPoints(sopPointsSaveReqVOS);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 新增流程步骤信息
|
|
|
+ if (vo.getModeId() != null) {
|
|
|
+ List<WorkflowStepDO> workflowStepDOS = workflowStepService.list(Wrappers.<WorkflowStepDO>lambdaQuery()
|
|
|
+ .eq(WorkflowStepDO::getModeId, vo.getModeId()));
|
|
|
+ if (!workflowStepDOS.isEmpty()) {
|
|
|
+ ArrayList<SopWorkflowStepSaveReqVO> sopWorkflowStepSaveReqVOS = getSopWorkflowStepSaveReqVOS(workflowStepDOS, sop);
|
|
|
+ sopWorkflowStepService.createSopWorkflowStep(sopWorkflowStepSaveReqVOS);
|
|
|
+ }
|
|
|
+ }
|
|
|
// 返回
|
|
|
return sop.getId();
|
|
|
}
|
|
|
|
|
|
+ private static ArrayList<SopWorkflowStepSaveReqVO> getSopWorkflowStepSaveReqVOS(List<WorkflowStepDO> workflowStepDOS, SopDO sop) {
|
|
|
+ ArrayList<SopWorkflowStepSaveReqVO> sopWorkflowStepSaveReqVOS = new ArrayList<>();
|
|
|
+ for (WorkflowStepDO workflowStepDO : workflowStepDOS) {
|
|
|
+ SopWorkflowStepSaveReqVO vo1 = new SopWorkflowStepSaveReqVO();
|
|
|
+ vo1.setSopId(sop.getId());
|
|
|
+ vo1.setStepId(workflowStepDO.getId());
|
|
|
+ vo1.setStepIndex(workflowStepDO.getStepIndex());
|
|
|
+ vo1.setStepName(workflowStepDO.getStepName());
|
|
|
+ vo1.setStepIcon(workflowStepDO.getStepIcon());
|
|
|
+ vo1.setStepTitle(workflowStepDO.getStepTitle());
|
|
|
+ vo1.setStepTitleShort(workflowStepDO.getStepTitleShort());
|
|
|
+ vo1.setStepDescription(workflowStepDO.getStepDescription());
|
|
|
+ vo1.setConfirmType(workflowStepDO.getConfirmType());
|
|
|
+ vo1.setConfirmRoleCode(workflowStepDO.getConfirmRoleCode());
|
|
|
+ vo1.setConfirmUser(workflowStepDO.getConfirmUser());
|
|
|
+ vo1.setEnableCancelJob(workflowStepDO.getEnableCancelJob());
|
|
|
+ vo1.setEnableSetLocker(workflowStepDO.getEnableSetLocker());
|
|
|
+ vo1.setEnableSetColocker(workflowStepDO.getEnableSetColocker());
|
|
|
+ vo1.setEnableAddColocker(workflowStepDO.getEnableAddColocker());
|
|
|
+ vo1.setGotoStepAfterAddingColocker(workflowStepDO.getGotoStepAfterAddingColocker());
|
|
|
+ vo1.setEnableReduceColocker(workflowStepDO.getEnableReduceColocker());
|
|
|
+ vo1.setEnableLock(workflowStepDO.getEnableLock());
|
|
|
+ vo1.setEnableColock(workflowStepDO.getEnableColock());
|
|
|
+ vo1.setEnableReleaseColock(workflowStepDO.getEnableReleaseColock());
|
|
|
+ vo1.setEnableUnlock(workflowStepDO.getEnableUnlock());
|
|
|
+ vo1.setEnableEndJob(workflowStepDO.getEnableEndJob());
|
|
|
+ sopWorkflowStepSaveReqVOS.add(vo1);
|
|
|
+ }
|
|
|
+ return sopWorkflowStepSaveReqVOS;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static ArrayList<SopPointsSaveReqVO> getSopPointsSaveReqVOS(List<MachineryPointsDO> machineryPointsDOS, SopDO sop, SopGroupDO sopGroupDO) {
|
|
|
+ ArrayList<SopPointsSaveReqVO> sopPointsSaveReqVOS = new ArrayList<>();
|
|
|
+ if (!machineryPointsDOS.isEmpty()) {
|
|
|
+ for (MachineryPointsDO machineryPointsDO : machineryPointsDOS) {
|
|
|
+ SopPointsSaveReqVO vo1 = new SopPointsSaveReqVO();
|
|
|
+ vo1.setSopId(sop.getId());
|
|
|
+ vo1.setGroupId(sopGroupDO.getId());
|
|
|
+ vo1.setPointId(machineryPointsDO.getPointId());
|
|
|
+ sopPointsSaveReqVOS.add(vo1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sopPointsSaveReqVOS;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void updateSop(SopSaveReqVO updateReqVO) {
|
|
|
Assert.notNull(updateReqVO.getId(), "ID不可为空!");
|