|
@@ -1,13 +1,18 @@
|
|
package com.its.api.its.service.vms;
|
|
package com.its.api.its.service.vms;
|
|
|
|
|
|
|
|
+import com.its.api.its.model.dto.vms.TbVmsCtrlHsDto;
|
|
import com.its.api.its.model.dto.vms.VmsControlDto;
|
|
import com.its.api.its.model.dto.vms.VmsControlDto;
|
|
import com.its.api.its.repository.vms.TbVmsCtlrRepository;
|
|
import com.its.api.its.repository.vms.TbVmsCtlrRepository;
|
|
|
|
+import com.its.api.its.repository.vms.TbVmsCtrlHsRepository;
|
|
import com.its.api.xnetudp.protocol.CENTER_COMM_DEFINE;
|
|
import com.its.api.xnetudp.protocol.CENTER_COMM_DEFINE;
|
|
import com.its.api.xnetudp.service.VmsServerRequestSender;
|
|
import com.its.api.xnetudp.service.VmsServerRequestSender;
|
|
|
|
+import com.its.utils.ItsUtils;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import javax.transaction.Transactional;
|
|
|
|
+
|
|
@Slf4j
|
|
@Slf4j
|
|
@RequiredArgsConstructor
|
|
@RequiredArgsConstructor
|
|
@Service
|
|
@Service
|
|
@@ -15,6 +20,21 @@ public class VmsControlService {
|
|
|
|
|
|
private final VmsServerRequestSender vmsServerRequestSender;
|
|
private final VmsServerRequestSender vmsServerRequestSender;
|
|
private final TbVmsCtlrRepository repo;
|
|
private final TbVmsCtlrRepository repo;
|
|
|
|
+ private final TbVmsCtrlHsRepository repoCtrlHs;
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * VMS 제어 이력 저장
|
|
|
|
+ * @param dto
|
|
|
|
+ */
|
|
|
|
+ @Transactional
|
|
|
|
+ public void saveCtrlHs(TbVmsCtrlHsDto dto) {
|
|
|
|
+ try {
|
|
|
|
+ //TbVmsCtrlHs entity = dto.toEntity();
|
|
|
|
+ this.repoCtrlHs.insertHs(dto.getCtlDt(), dto.getVmsCtlrNmbr(), dto.getCtlType(), dto.getCtlVal(), dto.getCtlResult(), dto.getUserId());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("{}", e.getMessage());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* VMS 제어기 리셋
|
|
* VMS 제어기 리셋
|
|
@@ -25,6 +45,14 @@ public class VmsControlService {
|
|
public VmsControlDto.VmsControlRes controlReset(Long id, VmsControlDto.VmsControlReq req) {
|
|
public VmsControlDto.VmsControlRes controlReset(Long id, VmsControlDto.VmsControlReq req) {
|
|
log.error("controlReset: {}, {}", id, req);
|
|
log.error("controlReset: {}, {}", id, req);
|
|
boolean isSendMsg = this.vmsServerRequestSender.requestReset(id, req);
|
|
boolean isSendMsg = this.vmsServerRequestSender.requestReset(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType("V03")
|
|
|
|
+ .ctlVal("Reset")
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
if (isSendMsg) {
|
|
if (isSendMsg) {
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
}
|
|
}
|
|
@@ -39,6 +67,14 @@ public class VmsControlService {
|
|
*/
|
|
*/
|
|
public VmsControlDto.VmsControlRes controlPower(Long id, VmsControlDto.VmsControlReq req) {
|
|
public VmsControlDto.VmsControlRes controlPower(Long id, VmsControlDto.VmsControlReq req) {
|
|
boolean isSendMsg = this.vmsServerRequestSender.requestPowerControl(id, req);
|
|
boolean isSendMsg = this.vmsServerRequestSender.requestPowerControl(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType(req.getValue() == 0 ? "V01" : "V02")
|
|
|
|
+ .ctlVal(req.getValue() == 0 ? "On" : "Off")
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
if (isSendMsg) {
|
|
if (isSendMsg) {
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
}
|
|
}
|
|
@@ -53,6 +89,14 @@ public class VmsControlService {
|
|
*/
|
|
*/
|
|
public VmsControlDto.VmsControlRes controlLuminance(Long id, VmsControlDto.VmsControlReq req) {
|
|
public VmsControlDto.VmsControlRes controlLuminance(Long id, VmsControlDto.VmsControlReq req) {
|
|
boolean isSendMsg = this.vmsServerRequestSender.controlLuminance(id, req);
|
|
boolean isSendMsg = this.vmsServerRequestSender.controlLuminance(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType("V07")
|
|
|
|
+ .ctlVal(String.valueOf(req.getValue()))
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
if (isSendMsg) {
|
|
if (isSendMsg) {
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
}
|
|
}
|
|
@@ -65,14 +109,89 @@ public class VmsControlService {
|
|
* @param req
|
|
* @param req
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
|
|
+ @Transactional
|
|
public VmsControlDto.VmsControlRes controlParam(Long id, VmsControlDto.VmsControlParamReq req) {
|
|
public VmsControlDto.VmsControlRes controlParam(Long id, VmsControlDto.VmsControlParamReq req) {
|
|
|
|
+ try {
|
|
|
|
+ this.repo.updateParam(id, req.getSchMsgTime(), req.getModuleTemp(), req.getFanTemp(), req.getHeaterTemp(), req.getModuleFail());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("{}", e.getMessage());
|
|
|
|
+ return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
|
|
+ }
|
|
|
|
+
|
|
boolean isSendMsg = this.vmsServerRequestSender.controlParam(id, req);
|
|
boolean isSendMsg = this.vmsServerRequestSender.controlParam(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType("V04")
|
|
|
|
+ .ctlVal(String.format("%d.%d,%d,%d,%d,%d,%d", req.getSchMsgTime(), req.getModuleTemp(), req.getFanTemp(), req.getHeaterTemp(), req.getModuleFail(), req.getRetryCount(), req.getTimeOut()))
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
|
|
+ if (isSendMsg) {
|
|
|
|
+ return new VmsControlDto.VmsControlRes(0, "success");
|
|
|
|
+ }
|
|
|
|
+ return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * VMS 전광판 ON/OFF 시각 설정
|
|
|
|
+ * @param id
|
|
|
|
+ * @param req
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Transactional
|
|
|
|
+ public VmsControlDto.VmsControlRes controlOnOffTime(Long id, VmsControlDto.VmsControlOnOffTimeReq req) {
|
|
|
|
+ try {
|
|
|
|
+ this.repo.updateOnOffTime(id, req.getOnTime(), req.getOffTime());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("{}", e.getMessage());
|
|
|
|
+ return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ boolean isSendMsg = this.vmsServerRequestSender.controlOnOffTime(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType("V05")
|
|
|
|
+ .ctlVal(String.format("%s %s", req.getOnTime(), req.getOffTime()))
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
if (isSendMsg) {
|
|
if (isSendMsg) {
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
return new VmsControlDto.VmsControlRes(0, "success");
|
|
}
|
|
}
|
|
return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * VMS 제어기 운영모드 설정
|
|
|
|
+ * @param id
|
|
|
|
+ * @param req
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Transactional
|
|
|
|
+ public VmsControlDto.VmsControlRes controlOprMode(Long id, VmsControlDto.VmsControlOprModeReq req) {
|
|
|
|
+ try {
|
|
|
|
+ this.repo.updateOprMode(id, req.getOprMode());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ log.error("{}", e.getMessage());
|
|
|
|
+ return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ boolean isSendMsg = this.vmsServerRequestSender.controlOprMode(id, req);
|
|
|
|
+ saveCtrlHs(TbVmsCtrlHsDto.builder()
|
|
|
|
+ .ctlDt(ItsUtils.getSysTime())
|
|
|
|
+ .vmsCtlrNmbr(id)
|
|
|
|
+ .ctlType("V06")
|
|
|
|
+ .ctlVal(req.getOprMode())
|
|
|
|
+ .ctlResult(isSendMsg ? 1 : 0)
|
|
|
|
+ .userId(req.getUserId())
|
|
|
|
+ .build());
|
|
|
|
+ if (isSendMsg) {
|
|
|
|
+ return new VmsControlDto.VmsControlRes(0, "success");
|
|
|
|
+ }
|
|
|
|
+ return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* VMS 제어기 이미지 심볼 리로드
|
|
* VMS 제어기 이미지 심볼 리로드
|
|
@@ -121,5 +240,4 @@ public class VmsControlService {
|
|
}
|
|
}
|
|
return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
return new VmsControlDto.VmsControlRes(9, "VMS 서버로 제어 명령 전송 중 알수 없는 오류가 발생 하였습니다.");
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|