|
|
@@ -6,6 +6,7 @@ import com.its.op.dao.repository.its.vms.TbVmsDsplPrstRepository;
|
|
|
import com.its.op.dao.repository.its.vms.TbVmsDsplSchRepository;
|
|
|
import com.its.op.dto.its.code.TbCmmnCdDto;
|
|
|
import com.its.op.dto.its.common.*;
|
|
|
+import com.its.op.dto.its.facility.TbFcltSttsAlrmStupDto;
|
|
|
import com.its.op.dto.its.vms.TbVmsCtlrDto;
|
|
|
import com.its.op.dto.its.vms.TbVmsCtlrSttsDto;
|
|
|
import com.its.op.dto.its.vms.TbVmsDsplSchInf;
|
|
|
@@ -14,6 +15,7 @@ import com.its.op.entity.its.vms.TbVmsCtlr;
|
|
|
import com.its.op.entity.its.vms.TbVmsDsplPrst;
|
|
|
import com.its.op.global.CodeManager;
|
|
|
import com.its.op.service.its.code.TbCmmnCdService;
|
|
|
+import com.its.op.service.its.facility.TbFcltSttsAlrmStupService;
|
|
|
import com.its.utils.ItsUtils;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -29,11 +31,13 @@ import java.util.concurrent.atomic.AtomicInteger;
|
|
|
@Service
|
|
|
public class TbVmsCtlrService {
|
|
|
|
|
|
+ private final TbFcltSttsAlrmStupService alarmService;
|
|
|
private final TbVmsCtlrRepository repo;
|
|
|
private final TbVmsCtlrSttsHsRepository sttsHsRepo;
|
|
|
private final TbCmmnCdService cmmnCdService;
|
|
|
private final TbVmsDsplSchRepository dsplSchRepo;
|
|
|
private final TbVmsDsplPrstRepository dsplPrstRepo;
|
|
|
+ private String fcltType = "VMS";
|
|
|
|
|
|
// 데이터 1건 조회, 없으면 exception
|
|
|
private TbVmsCtlr requireOne(Long id) throws NoSuchElementException {
|
|
|
@@ -74,16 +78,30 @@ public class TbVmsCtlrService {
|
|
|
});
|
|
|
return result;
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
* 삭제되지 않은 전체 VMS 상태정보 목록 조회
|
|
|
* @return
|
|
|
*/
|
|
|
@Transactional(readOnly = true)
|
|
|
public List<TbVmsCtlrSttsDto> findAllStts() {
|
|
|
+ Map<String, TbFcltSttsAlrmStupDto> alarmMap = this.alarmService.loadAlarmSetup("VMS");
|
|
|
Map<Long, TbVmsCtlrSttsDto> result = new HashMap<>();
|
|
|
List<TbVmsCtlr> data = this.repo.findAllList();
|
|
|
data.forEach(obj -> {
|
|
|
+ if (!CodeManager.CMNC_STTS_NORMAL.equals(obj.getCmncSttsCd())) {
|
|
|
+ TbFcltSttsAlrmStupDto alarm = alarmMap.get(obj.getVmsCtlrId());
|
|
|
+ if (alarm != null && "Y".equals(alarm.getUseYn())) {
|
|
|
+ if ("N".equals(alarm.getCmncStts())) {
|
|
|
+ obj.getState().setCmncSttsCd(CodeManager.CMNC_STTS_NORMAL);
|
|
|
+ if ("N".equals(alarm.getDoorStts())) {
|
|
|
+ obj.getState().setCboxDoorSttsCd("CDS0");
|
|
|
+ }
|
|
|
+ if ("N".equals(alarm.getModlStts())) {
|
|
|
+ obj.getState().setModlSttsCd("MOS0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
result.put(obj.getVmsCtlrNmbr(), obj.toSttsDto());
|
|
|
});
|
|
|
|
|
|
@@ -207,7 +225,6 @@ public class TbVmsCtlrService {
|
|
|
*/
|
|
|
@Transactional(readOnly = true)
|
|
|
public List<TbVmsCtlrDto.TbVmsType> findAllVmsType() {
|
|
|
-
|
|
|
List<TbVmsCtlrDto.TbVmsType> result = new ArrayList<>();
|
|
|
List<TbCmmnCdDto> data = this.cmmnCdService.findAllByCmmnClsfCd(CodeManager.VMS_TYPE_CD);
|
|
|
if (data != null) {
|
|
|
@@ -225,7 +242,7 @@ public class TbVmsCtlrService {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SttsCommErrDto> findAllListCommError() {
|
|
|
-
|
|
|
+ Map<String, TbFcltSttsAlrmStupDto> alarmMap = this.alarmService.loadAlarmSetup(this.fcltType);
|
|
|
Map<String, SttsCommErrDto> result = new HashMap<>();
|
|
|
List<TbVmsCtlr> data = this.repo.findAllList();
|
|
|
List<SttsHsErrCntInf> errList = this.sttsHsRepo.findAllCommErrorCount(ItsUtils.getFromToday());
|
|
|
@@ -234,6 +251,10 @@ public class TbVmsCtlrService {
|
|
|
data.forEach(obj -> {
|
|
|
TbVmsCtlrSttsDto dto = obj.toSttsDto();
|
|
|
if (!CodeManager.CMNC_STTS_NORMAL.equals(dto.getCmncSttsCd())) {
|
|
|
+ TbFcltSttsAlrmStupDto alarm = alarmMap.get(obj.getVmsCtlrId());
|
|
|
+ if (alarm != null && "Y".equals(alarm.getUseYn()) && "N".equals(alarm.getCmncStts())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
SttsCommErrDto commErrorDto = new SttsCommErrDto();
|
|
|
commErrorDto.setCtlrNmbr(String.valueOf(dto.getVmsCtlrNmbr()));
|
|
|
commErrorDto.setCtlrId(dto.getVmsCtlrId());
|
|
|
@@ -263,8 +284,7 @@ public class TbVmsCtlrService {
|
|
|
* @param
|
|
|
*/
|
|
|
public FcltSttsListDto findAllSttsListTotal(boolean total) {
|
|
|
-
|
|
|
- String fcltType = "VMS";
|
|
|
+ Map<String, TbFcltSttsAlrmStupDto> alarmMap = this.alarmService.loadAlarmSetup(this.fcltType);
|
|
|
FcltSttsListDto result = new FcltSttsListDto();
|
|
|
|
|
|
AtomicInteger error = new AtomicInteger(0);
|
|
|
@@ -279,10 +299,21 @@ public class TbVmsCtlrService {
|
|
|
List<FcltSttsDto> sttsDtoList = new ArrayList<>();
|
|
|
List<TbVmsCtlr> ctlrList = this.repo.findAllList();
|
|
|
ctlrList.forEach(obj -> {
|
|
|
+ TbFcltSttsAlrmStupDto alarm = alarmMap.get(obj.getVmsCtlrId());
|
|
|
+ if (alarm != null && "Y".equals(alarm.getUseYn()) && "N".equals(alarm.getCmncStts())) {
|
|
|
+ obj.getState().setCmncSttsCd(CodeManager.CMNC_STTS_NORMAL);
|
|
|
+ if ("N".equals(alarm.getDoorStts())) {
|
|
|
+ obj.getState().setCboxDoorSttsCd("CDS0");
|
|
|
+ }
|
|
|
+ if ("N".equals(alarm.getModlStts())) {
|
|
|
+ obj.getState().setModlSttsCd("MOS0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
TbVmsCtlrSttsDto dto = obj.toSttsDto();
|
|
|
if (total) {
|
|
|
FcltSttsDto stts = FcltSttsDto.builder()
|
|
|
- .fcltType(fcltType)
|
|
|
+ .fcltType(this.fcltType)
|
|
|
.fcltNmbr(String.valueOf(obj.getVmsCtlrNmbr()))
|
|
|
.fcltId(obj.getVmsCtlrId())
|
|
|
.fcltNm(obj.getVmsNm())
|
|
|
@@ -297,6 +328,7 @@ public class TbVmsCtlrService {
|
|
|
|
|
|
sttsDtoList.add(stts);
|
|
|
}
|
|
|
+
|
|
|
if (CodeManager.CMNC_STTS_NORMAL.equals(dto.getCmncSttsCd())) {
|
|
|
normal.getAndIncrement();
|
|
|
if (("CDS1").equals(dto.getCboxDoorSttsCd())) {
|
|
|
@@ -324,8 +356,8 @@ public class TbVmsCtlrService {
|
|
|
});
|
|
|
|
|
|
FcltSttsSummaryDto summaryDto = FcltSttsSummaryDto.builder()
|
|
|
- .fcltType(fcltType)
|
|
|
- .fcltNm(fcltType)
|
|
|
+ .fcltType(this.fcltType)
|
|
|
+ .fcltNm(this.fcltType)
|
|
|
.totalCnt(ctlrList.size())
|
|
|
.normalCnt(normal.get())
|
|
|
.errorCnt(error.get())
|