|
|
@@ -8,14 +8,17 @@ import com.ktg.iscs.domain.IsJobTicketPoints;
|
|
|
import com.ktg.iscs.domain.IsJobTicketStep;
|
|
|
import com.ktg.iscs.domain.IsJobTicketUser;
|
|
|
import com.ktg.iscs.domain.dto.step.IsJobTicketStepDTO;
|
|
|
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketVO;
|
|
|
import com.ktg.iscs.domain.vo.step.IsJobTicketStepVO;
|
|
|
import com.ktg.iscs.mapper.IsJobTicketStepMapper;
|
|
|
import com.ktg.iscs.service.IIsJobTicketPointsService;
|
|
|
+import com.ktg.iscs.service.IIsJobTicketService;
|
|
|
import com.ktg.iscs.service.IIsJobTicketStepService;
|
|
|
import com.ktg.iscs.service.IIsJobTicketUserService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -34,13 +37,24 @@ public class IsJobTicketStepServiceImpl extends ServiceImpl<IsJobTicketStepMappe
|
|
|
private IIsJobTicketPointsService iIsJobTicketPointsService;
|
|
|
@Autowired
|
|
|
private IIsJobTicketUserService iIsJobTicketUserService;
|
|
|
+ @Autowired
|
|
|
+ private IIsJobTicketService iIsJobTicketService;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public Boolean updateJobStep(IsJobTicketStepDTO dto) {
|
|
|
Assert.notNull(dto.getStepId(), "步骤Id不可为空!");
|
|
|
Assert.notNull(dto.getStepStatus(), "状态不可为空!");
|
|
|
- update(Wrappers.<IsJobTicketStep>lambdaUpdate().eq(IsJobTicketStep::getStepId, dto.getStepId()).set(IsJobTicketStep::getStepStatus, dto.getStepStatus()));
|
|
|
+ // 检查上一步骤有没有检查完成
|
|
|
+ IsJobTicketStep jobTicketStep = getById(dto.getStepId());
|
|
|
+ if (jobTicketStep.getStepIndex() - 1 > 0) {
|
|
|
+ IsJobTicketStep one = getOne(Wrappers.<IsJobTicketStep>lambdaQuery()
|
|
|
+ .eq(IsJobTicketStep::getTicketId, jobTicketStep.getTicketId())
|
|
|
+ .eq(IsJobTicketStep::getStepIndex, jobTicketStep.getStepIndex() - 1));
|
|
|
+ Assert.isFalse("0".equals(one.getStepStatus()), "请先执行上一步!");
|
|
|
+ }
|
|
|
+ update(Wrappers.<IsJobTicketStep>lambdaUpdate().eq(IsJobTicketStep::getStepId, dto.getStepId())
|
|
|
+ .set(IsJobTicketStep::getStepStatus, dto.getStepStatus()));
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -85,4 +99,27 @@ public class IsJobTicketStepServiceImpl extends ServiceImpl<IsJobTicketStepMappe
|
|
|
}
|
|
|
return stepVOList;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<JobTicketVO> getStepEight(Long ticketId) {
|
|
|
+ Assert.notNull(ticketId, "作业票id不可为空!");
|
|
|
+ List<IsJobTicketPoints> pointList = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
|
|
|
+ .eq(IsJobTicketPoints::getTicketId, ticketId));
|
|
|
+ List<JobTicketVO> jobTicketVOS = new ArrayList<>();
|
|
|
+ // 2.1获取被其他作业票锁定的隔离点
|
|
|
+ if (!pointList.isEmpty()) {
|
|
|
+ List<Long> pointIds = pointList.stream().map(IsJobTicketPoints::getPointId).collect(Collectors.toList());
|
|
|
+ List<IsJobTicketPoints> conflictPoints = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
|
|
|
+ .in(IsJobTicketPoints::getPointId, pointIds)
|
|
|
+ .ne(IsJobTicketPoints::getTicketId, ticketId)
|
|
|
+ .eq(IsJobTicketPoints::getPointStatus, 1));
|
|
|
+ if (!conflictPoints.isEmpty()) {
|
|
|
+ List<Long> collect = conflictPoints.stream().map(IsJobTicketPoints::getTicketId).distinct().collect(Collectors.toList());
|
|
|
+ if (!collect.isEmpty()) {
|
|
|
+ jobTicketVOS = BeanUtils.toBean(iIsJobTicketService.listByIds(collect), JobTicketVO.class);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return jobTicketVOS;
|
|
|
+ }
|
|
|
}
|