|
@@ -7,9 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ktg.common.core.text.Convert;
|
|
import com.ktg.common.core.text.Convert;
|
|
|
import com.ktg.common.utils.DateUtils;
|
|
import com.ktg.common.utils.DateUtils;
|
|
|
import com.ktg.common.utils.bean.BeanUtils;
|
|
import com.ktg.common.utils.bean.BeanUtils;
|
|
|
-import com.ktg.iscs.domain.IsJobTicket;
|
|
|
|
|
-import com.ktg.iscs.domain.IsJobTicketPoints;
|
|
|
|
|
-import com.ktg.iscs.domain.IsJobTicketUser;
|
|
|
|
|
|
|
+import com.ktg.iscs.domain.*;
|
|
|
import com.ktg.iscs.domain.dto.ticket.AddJobTicketDTO;
|
|
import com.ktg.iscs.domain.dto.ticket.AddJobTicketDTO;
|
|
|
import com.ktg.iscs.domain.dto.ticket.AddTicketUserDTO;
|
|
import com.ktg.iscs.domain.dto.ticket.AddTicketUserDTO;
|
|
|
import com.ktg.iscs.domain.dto.ticket.PageTicketDTO;
|
|
import com.ktg.iscs.domain.dto.ticket.PageTicketDTO;
|
|
@@ -20,19 +18,14 @@ import com.ktg.iscs.domain.vo.ticket.JobTicketDetailVO;
|
|
|
import com.ktg.iscs.domain.vo.ticket.JobTicketUpdateProgressReqVO;
|
|
import com.ktg.iscs.domain.vo.ticket.JobTicketUpdateProgressReqVO;
|
|
|
import com.ktg.iscs.domain.vo.ticket.PageTicketVO;
|
|
import com.ktg.iscs.domain.vo.ticket.PageTicketVO;
|
|
|
import com.ktg.iscs.mapper.IsJobTicketMapper;
|
|
import com.ktg.iscs.mapper.IsJobTicketMapper;
|
|
|
-import com.ktg.iscs.service.IIsIsolationPointService;
|
|
|
|
|
-import com.ktg.iscs.service.IIsJobTicketPointsService;
|
|
|
|
|
-import com.ktg.iscs.service.IIsJobTicketService;
|
|
|
|
|
-import com.ktg.iscs.service.IIsJobTicketUserService;
|
|
|
|
|
|
|
+import com.ktg.iscs.service.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
-import java.util.Set;
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
import static com.ktg.iscs.domain.constant.ErrorCodeConstants.*;
|
|
import static com.ktg.iscs.domain.constant.ErrorCodeConstants.*;
|
|
@@ -59,6 +52,13 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
private IIsJobTicketUserService iIsJobTicketUserService;
|
|
private IIsJobTicketUserService iIsJobTicketUserService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IIsIsolationPointService iIsIsolationPointService;
|
|
private IIsIsolationPointService iIsIsolationPointService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IIsJobTicketKeyService iIsJobTicketKeyService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IIsJobTicketLockService iIsJobTicketLockService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IIsJobTicketLocksetService iIsJobTicketLocksetService;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 查询作业票
|
|
* 查询作业票
|
|
@@ -115,7 +115,6 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
// 1.断言判断必填
|
|
// 1.断言判断必填
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketCode()), "作业票编号不可为空!");
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketCode()), "作业票编号不可为空!");
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketName()), "作业票名称不可为空!");
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getTicketName()), "作业票名称不可为空!");
|
|
|
- Assert.notNull(dto.getWorkshopId(), "所属车间不可为空!");
|
|
|
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getPointIds()), "请选择隔离点!");
|
|
Assert.isTrue(StringUtils.isNotBlank(dto.getPointIds()), "请选择隔离点!");
|
|
|
Assert.isFalse(dto.getTicketUserDTOList().isEmpty(), "人员信息不可为空!");
|
|
Assert.isFalse(dto.getTicketUserDTOList().isEmpty(), "人员信息不可为空!");
|
|
|
// 1.1检查作业票编码是否唯一
|
|
// 1.1检查作业票编码是否唯一
|
|
@@ -133,17 +132,15 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
for (Long pointId : pointIds) {
|
|
for (Long pointId : pointIds) {
|
|
|
IsJobTicketPoints isJobTicketPoints = new IsJobTicketPoints();
|
|
IsJobTicketPoints isJobTicketPoints = new IsJobTicketPoints();
|
|
|
isJobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
isJobTicketPoints.setTicketId(jobTicket.getTicketId());
|
|
|
- isJobTicketPoints.setWorkshopId(dto.getWorkshopId());
|
|
|
|
|
isJobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
isJobTicketPoints.setWorkareaId(dto.getWorkareaId());
|
|
|
isJobTicketPoints.setPointId(pointId);
|
|
isJobTicketPoints.setPointId(pointId);
|
|
|
iIsJobTicketPointsService.save(isJobTicketPoints);
|
|
iIsJobTicketPointsService.save(isJobTicketPoints);
|
|
|
}
|
|
}
|
|
|
- // 3.1新增作业票和钥匙的关联关系
|
|
|
|
|
-
|
|
|
|
|
- // 3.2新增作业票和挂锁的关联关系
|
|
|
|
|
-
|
|
|
|
|
- // 3.3新增作业票和锁具的关联关系
|
|
|
|
|
-
|
|
|
|
|
|
|
+ // 3.1新增作业票和钥匙的关联关系(两条数据,一条上锁,一条解锁)
|
|
|
|
|
+ saveJobTicketKet(jobTicket.getTicketId());
|
|
|
|
|
+ // 3.2新增作业票和挂锁的关联关// 3.3新增作业票和锁具的关联关系
|
|
|
|
|
+ List<IsIsolationPoint> pointList = iIsIsolationPointService.listByIds(Arrays.asList(pointIds));
|
|
|
|
|
+ saveJobTicketLockAndSet(pointList, jobTicket.getTicketId());
|
|
|
|
|
|
|
|
// 4.新增人员信息
|
|
// 4.新增人员信息
|
|
|
for (AddTicketUserDTO addTicketUserDTO : dto.getTicketUserDTOList()) {
|
|
for (AddTicketUserDTO addTicketUserDTO : dto.getTicketUserDTOList()) {
|
|
@@ -157,6 +154,49 @@ public class IsJobTicketServiceImpl extends ServiceImpl<IsJobTicketMapper, IsJob
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 3.1新增作业票和钥匙的关联关系(两条数据,一条上锁,一条解锁)
|
|
|
|
|
+ * @return b
|
|
|
|
|
+ */
|
|
|
|
|
+ private boolean saveJobTicketKet(Long ticketId) {
|
|
|
|
|
+ IsJobTicketKey isJobTicketKey = new IsJobTicketKey();
|
|
|
|
|
+ isJobTicketKey.setTicketId(ticketId);
|
|
|
|
|
+ isJobTicketKey.setTicketType(0);
|
|
|
|
|
+
|
|
|
|
|
+ IsJobTicketKey jobTicketKey = new IsJobTicketKey();
|
|
|
|
|
+ jobTicketKey.setTicketId(ticketId);
|
|
|
|
|
+ jobTicketKey.setTicketType(1);
|
|
|
|
|
+
|
|
|
|
|
+ List<IsJobTicketKey> isJobTicketKeys = new ArrayList<>();
|
|
|
|
|
+ isJobTicketKeys.add(isJobTicketKey);
|
|
|
|
|
+ isJobTicketKeys.add(jobTicketKey);
|
|
|
|
|
+ return iIsJobTicketKeyService.saveBatch(isJobTicketKeys);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ private boolean saveJobTicketLockAndSet(List<IsIsolationPoint> pointList, Long ticketId) {
|
|
|
|
|
+ ArrayList<IsJobTicketLock> isJobTicketLocks = new ArrayList<>();
|
|
|
|
|
+ ArrayList<IsJobTicketLockset> isJobTicketLocksets = new ArrayList<>();
|
|
|
|
|
+ for (IsIsolationPoint point : pointList) {
|
|
|
|
|
+ if (point.getLockTypeId() != null) {
|
|
|
|
|
+ IsJobTicketLock isJobTicketLock = new IsJobTicketLock();
|
|
|
|
|
+ isJobTicketLock.setTicketId(ticketId);
|
|
|
|
|
+ isJobTicketLock.setLockStatus("0");
|
|
|
|
|
+ isJobTicketLocks.add(isJobTicketLock);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (point.getLocksetTypeId() != null) {
|
|
|
|
|
+ IsJobTicketLockset isJobTicketLockset = new IsJobTicketLockset();
|
|
|
|
|
+ isJobTicketLockset.setJobTicketId(ticketId);
|
|
|
|
|
+ isJobTicketLockset.setLocksetStatus("0");
|
|
|
|
|
+ isJobTicketLockset.setLocksetTypeId(point.getLocksetTypeId());
|
|
|
|
|
+ isJobTicketLocksets.add(isJobTicketLockset);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // 开始批量新增
|
|
|
|
|
+ iIsJobTicketLockService.saveBatch(isJobTicketLocks);
|
|
|
|
|
+ iIsJobTicketLocksetService.saveBatch(isJobTicketLocksets);
|
|
|
|
|
+ return true;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 修改作业票
|
|
* 修改作业票
|
|
|
*
|
|
*
|