| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.its.op.service.vms;
- import com.its.op.model.dto.vms.TbVmsSymbIfscDto;
- import com.its.op.model.dto.vms.TbVmsSymbLibDto;
- import com.its.op.model.dto.vms.TbVmsSymbLibIfscVMP1Dto;
- import com.its.op.model.entity.vms.TbVmsSymbLib;
- import com.its.op.repository.vms.TbVmsFormObjectRepository;
- import com.its.op.repository.vms.TbVmsSymbLibRepository;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.stereotype.Service;
- import javax.transaction.Transactional;
- import java.util.ArrayList;
- import java.util.ConcurrentModificationException;
- import java.util.List;
- @Slf4j
- @Service
- public class TbVmsSymbLibServiceVMP1 extends TbVmsSymbLibService {
- private final TbVmsSymbIfscService ifscService;
- public TbVmsSymbLibServiceVMP1(TbVmsSymbLibRepository repo, TbVmsFormObjectRepository formObjectRepository, TbVmsSymbIfscService ifscService) {
- super("VMP1", repo, formObjectRepository);
- this.ifscService = ifscService;
- }
- public Short getNewSymbolId() {
- return getNewSymbolId((short) 7000, (short) 7999);
- }
- public TbVmsSymbLibIfscVMP1Dto findAllById(Short id) {
- TbVmsSymbLib lib = requireOne(id);
- List<TbVmsSymbIfscDto> list = ifscService.findDataById(id);
- return TbVmsSymbLibIfscVMP1Dto.toDto(lib.toDto(), list);
- }
- @Transactional
- public TbVmsSymbLibDto deleteDataById(Short id) {
- int usageCount = findUsageCountBySymbolId(id);
- if (usageCount > 0) {
- throw new ConcurrentModificationException("사용중인 심볼 라이브러리 입니다. 삭제할 수 없습니다: " + id);
- }
- this.ifscService.deleteDataById(id);
- return deleteById(id);
- }
- @Transactional
- public TbVmsSymbLibIfscVMP1Dto mergeSymbIfscInfo(TbVmsSymbLibIfscVMP1Dto.TbVmsSymbLibIfscVMP1UpdReq req) {
- // 셀 데이터를 전체 삭제
- this.ifscService.deleteDataById(req.getSymbLibNmbr());
- // 심볼 정보 저장
- TbVmsSymbLibDto libDto = mergeInfo(req.toLibReq());
- // 셀 정보 저장
- List<TbVmsSymbIfscDto> cells = new ArrayList<>();
- for (TbVmsSymbIfscDto ifscDto : req.getCells()) {
- TbVmsSymbIfscDto.TbVmsSymbIfscUpdReq ifscReq = new TbVmsSymbIfscDto.TbVmsSymbIfscUpdReq(
- req.getSymbLibNmbr(), ifscDto.getCellId(), ifscDto.getPosx(), ifscDto.getPosy(), ifscDto.getVmsIfscId()
- );
- cells.add(this.ifscService.mergeInfo(ifscReq));
- }
- return TbVmsSymbLibIfscVMP1Dto.toDto(libDto, cells);
- }
- }
|