|
|
@@ -59,9 +59,6 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
@Autowired
|
|
|
private IIsJobTicketLocksetService iIsJobTicketLocksetService;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 查询作业票
|
|
|
*
|
|
|
@@ -85,7 +82,10 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
isJobTicketPoints.stream()
|
|
|
.filter(o1 -> o1.getPointId().equals(o.getPointId()))
|
|
|
.findFirst()
|
|
|
- .ifPresent(data -> o.setLockId(data.getLockId())));
|
|
|
+ .ifPresent(data -> {
|
|
|
+ o.setLockId(data.getLockId());
|
|
|
+ o.setPrePointId(data.getPrePointId());
|
|
|
+ }));
|
|
|
// 2.2组装隔离点数据
|
|
|
jobTicketDetailVO.setPointDetailVOList(pointDetailList);
|
|
|
}
|
|
|
@@ -122,7 +122,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
// 1.断言判断必填
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketCode()), "作业票编号不可为空!");
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketName()), "作业票名称不可为空!");
|
|
|
- Assert.isTrue(StringUtils.isNotBlank(dto.getPointIds()), "请选择隔离点!");
|
|
|
+ Assert.isFalse(dto.getPointsList().isEmpty(), "请选择隔离点!");
|
|
|
Assert.isFalse(dto.getTicketUserDTOList().isEmpty(), "人员信息不可为空!");
|
|
|
// 1.1检查作业票编码是否唯一
|
|
|
List<IsJobTicket> list = list(Wrappers.<IsJobTicket>lambdaQuery().eq(IsJobTicket::getTicketCode, dto.getTicketCode()));
|
|
|
@@ -135,18 +135,19 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
isJobTicketMapper.insertIsJobTicket(jobTicket);
|
|
|
// 3.新增作业票和隔离点的关联关系
|
|
|
// TODO 批量新增
|
|
|
- Long[] pointIds = Convert.toLongArray(dto.getPointIds());
|
|
|
- for (Long pointId : pointIds) {
|
|
|
- IsJobTicketPoints isJobTicketPoints = new IsJobTicketPoints();
|
|
|
- isJobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
|
- isJobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
|
- isJobTicketPoints.setPointId(pointId);
|
|
|
+ for (IsJobTicketPoints isJobTicketPoints : dto.getPointsList()) {
|
|
|
+ IsJobTicketPoints jobTicketPoints = new IsJobTicketPoints();
|
|
|
+ jobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
|
+ jobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
|
+ jobTicketPoints.setPointId(isJobTicketPoints.getPointId());
|
|
|
+ jobTicketPoints.setPrePointId(isJobTicketPoints.getPrePointId());
|
|
|
iIsJobTicketPointsService.save(isJobTicketPoints);
|
|
|
}
|
|
|
// 3.1新增作业票和钥匙的关联关系(两条数据,一条上锁,一条解锁)
|
|
|
saveJobTicketKet(jobTicket.getTicketId());
|
|
|
// 3.2新增作业票和挂锁的关联关// 3.3新增作业票和锁具的关联关系
|
|
|
- List<IsIsolationPoint> pointList = iIsIsolationPointService.listByIds(Arrays.asList(pointIds));
|
|
|
+ List<Long> pointIds = dto.getPointsList().stream().map(IsJobTicketPoints::getPointId).collect(Collectors.toList());
|
|
|
+ List<IsIsolationPoint> pointList = iIsIsolationPointService.listByIds(pointIds);
|
|
|
saveJobTicketLockAndSet(pointList, jobTicket.getTicketId());
|
|
|
|
|
|
// 4.新增人员信息
|
|
|
@@ -221,7 +222,7 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketCode()), "作业票编号不可为空!");
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketName()), "作业票名称不可为空!");
|
|
|
// Assert.notNull(dto.getWorkshopId(), "所属车间不可为空!");
|
|
|
- Assert.isTrue(StringUtils.isNotBlank(dto.getPointIds()), "请选择隔离点!");
|
|
|
+ Assert.isFalse(dto.getPointsList().isEmpty(), "请选择隔离点!");
|
|
|
Assert.isFalse(dto.getTicketUserDTOList().isEmpty(), "人员信息不可为空!");
|
|
|
// 1.2人员信息是否存在重复
|
|
|
boolean b = dto.getTicketUserDTOList().size() == dto.getTicketUserDTOList().stream().distinct().count();
|
|
|
@@ -239,24 +240,21 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
isJobTicketMapper.updateById(jobTicket);
|
|
|
|
|
|
// 3.1检查隔离点有没有变更
|
|
|
- Long[] pointIds = Convert.toLongArray(dto.getPointIds());
|
|
|
+ List<Long> pointIds = dto.getPointsList().stream().map(IsJobTicketPoints::getPointId).collect(Collectors.toList());
|
|
|
List<IsJobTicketPoints> isSopPoints = iIsJobTicketPointsService.list(Wrappers.<IsJobTicketPoints>lambdaQuery()
|
|
|
.eq(IsJobTicketPoints::getTicketId, dto.getTicketId())
|
|
|
.in(IsJobTicketPoints::getPointId, pointIds));
|
|
|
// 3.2如果查出来变更了,开始执行删除,重新增加一轮 / 当workarea变更也要全部换掉
|
|
|
- if (pointIds.length != isSopPoints.size() || !Objects.equals(isJobTicket.getWorkareaId(), dto.getWorkareaId())) {
|
|
|
- Set<Long> recordIds = isSopPoints.stream().map(IsJobTicketPoints::getRecordId).collect(Collectors.toSet());
|
|
|
- if (!recordIds.isEmpty()) {
|
|
|
- String rids = StringUtils.join(recordIds.toArray(), ",");
|
|
|
- iIsJobTicketPointsService.deleteIsJobTicketPointsByRecordIds(rids);
|
|
|
- }
|
|
|
+ if (pointIds.size() != isSopPoints.size() || !Objects.equals(isJobTicket.getWorkareaId(), dto.getWorkareaId())) {
|
|
|
+ iIsJobTicketPointsService.remove(Wrappers.<IsJobTicketPoints>lambdaQuery().eq(IsJobTicketPoints::getTicketId, dto.getTicketId()));
|
|
|
// TODO 批量新增
|
|
|
- for (Long pointId : pointIds) {
|
|
|
- IsJobTicketPoints isJobTicketPoints = new IsJobTicketPoints();
|
|
|
- isJobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
|
- isJobTicketPoints.setWorkshopId(dto.getWorkshopId());
|
|
|
- isJobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
|
- isJobTicketPoints.setPointId(pointId);
|
|
|
+ for (IsJobTicketPoints isJobTicketPoints : dto.getPointsList()) {
|
|
|
+ IsJobTicketPoints jobTicketPoints = new IsJobTicketPoints();
|
|
|
+ jobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
|
+ jobTicketPoints.setWorkshopId(dto.getWorkshopId());
|
|
|
+ jobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
|
+ jobTicketPoints.setPointId(isJobTicketPoints.getPointId());
|
|
|
+ jobTicketPoints.setPrePointId(isJobTicketPoints.getPrePointId());
|
|
|
iIsJobTicketPointsService.save(isJobTicketPoints);
|
|
|
}
|
|
|
}
|