| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- package com.its.op.entity.its.scrs;
- import com.its.op.dto.its.scrs.TbScIxrCmraMngmDto;
- import com.its.op.dto.its.scrs.TbScIxrCmraSttsDto;
- import com.its.op.global.CmmnCdManager;
- import com.its.utils.ItsUtils;
- import io.swagger.annotations.ApiModel;
- import io.swagger.annotations.ApiModelProperty;
- import lombok.AllArgsConstructor;
- import lombok.Builder;
- import lombok.Getter;
- import lombok.NoArgsConstructor;
- import org.hibernate.annotations.NotFound;
- import org.hibernate.annotations.NotFoundAction;
- import javax.persistence.*;
- import java.io.Serializable;
- /**
- * 카메라 관리 Entity Class
- */
- @Getter
- @NoArgsConstructor//(access = AccessLevel.PROTECTED)
- @Builder
- @AllArgsConstructor
- @ApiModel("카메라 관리")
- @Entity
- @Table(name = "TB_SC_IXR_CMRA_MNGM")
- @IdClass(TbScIxrCmraMngmKey.class)
- public class TbScIxrCmraMngm implements Serializable {
- private static final long serialVersionUID = 1L;
- @ApiModelProperty("교차로 ID") // N VARCHAR2(10)
- @Id
- @Column(name = "IXR_ID", nullable = false, length = 10)
- private String ixrId;
- @ApiModelProperty("카메라 ID") // N VARCHAR2(10)
- @Id
- @Column(name = "CMRA_ID", nullable = false, length = 10)
- private String cmraId;
- @ApiModelProperty("방향 구분 코드") // N NUMBER(1)
- @Id
- @Column(name = "DRCT_DVSN_CD", nullable = false, columnDefinition = "NUMBER", length = 1)
- private Integer drctDvsnCd;
- @ApiModelProperty("설치 위치") // Y VARCHAR2(40)
- @Column(name = "ISTL_LCTN", length = 40)
- private String istlLctn;
- @ApiModelProperty("카메라 IP") // Y VARCHAR2(16)
- @Column(name = "CMRA_IP", length = 16)
- private String cmraIp;
- @ApiModelProperty("카메라 PORT") // Y VARCHAR2(4)
- @Column(name = "CMRA_PORT", length = 4)
- private String cmraPort;
- @ApiModelProperty("사용 유무") // Y NUMBER(1)
- @Column(name = "USE_EN", columnDefinition = "NUMBER", length = 1)
- private Integer useEn;
- @ApiModelProperty("카메라 로그인 ID") // Y VARCHAR2(16)
- @Column(name = "CMRA_LOGN_ID", length = 16)
- private String cmraLognId;
- @ApiModelProperty("카메라 로그인 비밀번호") // Y VARCHAR2(16)
- @Column(name = "CMRA_LOGN_PW", length = 16)
- private String cmraLognPw;
- @ApiModelProperty("카메라 HTTP PORT") // Y NUMBER(2)
- @Column(name = "CMRA_HTTP_PORT", columnDefinition = "NUMBER", length = 2)
- private Integer cmraHttpPort;
- @ApiModelProperty("스트림 URL") // Y VARCHAR2(32)
- @Column(name = "STRE_URL", length = 32)
- private String streUrl;
- @ApiModelProperty("카메라 URL") // Y VARCHAR2(100)
- @Column(name = "CMRA_URL", length = 100)
- private String cmraUrl;
- @ApiModelProperty("카메라 유형") // Y NUMBER(1)
- @Column(name = "CMRA_TYPE", columnDefinition = "NUMBER", length = 1)
- private Integer cmraType;
- @ApiModelProperty("카메라 X 좌표") // Y VARCHAR2(20)
- @Column(name = "CMRA_X_CRDN", length = 20)
- private String cmraXCrdn;
- @ApiModelProperty("카메라 Y 좌표") // Y VARCHAR2(20)
- @Column(name = "CMRA_Y_CRDN", length = 20)
- private String cmraYCrdn;
- @ApiModelProperty("카메라 각도") // Y NUMBER(3)
- @Column(name = "CMRA_ANGL", columnDefinition = "NUMBER", length = 3)
- private Integer cmraAngl;
- @ApiModelProperty("홈페이지 표출 유무") // Y NUMBER(1)
- @Column(name = "HMPG_DSPL_EN", columnDefinition = "NUMBER", length = 1)
- private Integer hmpgDsplEn;
- @ApiModelProperty("버스 전용 차로 유무") // Y NUMBER(1)
- @Column(name = "BUS_DVRS_LANE_EN", columnDefinition = "NUMBER", length = 1)
- private Integer busDvrsLaneEn;
- @ApiModelProperty("서비스 분석 유무") // Y NUMBER(1)
- @Column(name = "SRVC_ANLY_EN", columnDefinition = "NUMBER", length = 1)
- private Integer srvcAnlyEn;
- @ApiModelProperty("차선수") // Y NUMBER(3)
- @Column(name = "LANE_CNT", columnDefinition = "NUMBER", length = 2)
- private Integer laneCnt;
- @ApiModelProperty("WEB RTC 서버 아이피") // Y VARCHAR2(20)
- @Column(name = "WEB_RTC_SVR_IP", length = 20)
- private String webRtcSvrIp;
- @ApiModelProperty("WEB RTC 서버 포트") // Y NUMBER(5)
- @Column(name = "WEB_RTC_SVR_PORT", columnDefinition = "NUMBER", length = 5)
- private Integer webRtcSvrPort;
- @ApiModelProperty("WEB RTC ID") // Y VARCHAR2(56)
- @Column(name = "WEB_RTC_ID", length = 56)
- private String webRtcId;
- @ApiModelProperty("RTC 서버 아이피") // Y VARCHAR2(20)
- @Column(name = "RTC_SVR_IP", length = 20)
- private String rtcSvrIp;
- @ApiModelProperty("RTC 서버 포트") // Y NUMBER(5)
- @Column(name = "RTC_SVR_PORT", columnDefinition = "NUMBER", length = 5)
- private Integer rtcSvrPort;
- @ApiModelProperty("RTC ID") // Y VARCHAR2(56)
- @Column(name = "RTC_ID", length = 56)
- private String rtcId;
- @OneToOne
- @JoinColumns({
- @JoinColumn(insertable=false, updatable=false, name = "IXR_ID", referencedColumnName = "IXR_ID"),
- @JoinColumn(insertable=false, updatable=false, name = "CMRA_ID", referencedColumnName = "CMRA_ID"),
- @JoinColumn(insertable=false, updatable=false, name = "DRCT_DVSN_CD", referencedColumnName = "DRCT_DVSN_CD")
- })
- @NotFound(action = NotFoundAction.IGNORE)
- private TbScIxrCmraStts state;
- public void setDelete(boolean delete) {
- if (delete) {
- this.useEn = 0;
- } else {
- this.useEn = 1;
- }
- }
- public String getCmncSttsCd() {
- String result = "CMS1";
- if (this.state != null) {
- if (this.state.getCmraStts() == 1)
- result = "CMS0";
- } else {
- result = "CMS1";
- }
- return result;
- }
- public TbScIxrCmraStts getState() {
- if (this.state == null) {
- TbScIxrCmraStts state = TbScIxrCmraStts.builder()
- .ixrId(this.ixrId)
- .cmraId(this.cmraId)
- .drctDvsnCd(this.drctDvsnCd)
- .clctDt(CmmnCdManager.CMNC_STTS_ERROR_DT)
- .cmraStts(1)
- .build();
- this.state = state;
- }
- return this.state;
- }
- public TbScIxrCmraMngmDto toDto() {
- return TbScIxrCmraMngmDto.builder()
- .ixrId(this.ixrId)
- .cmraId(this.cmraId)
- .drctDvsnCd(this.drctDvsnCd)
- .istlLctn(this.istlLctn)
- .cmraIp(this.cmraIp)
- .cmraPort(this.cmraPort)
- .useEn(this.useEn)
- .cmraLognId(this.cmraLognId)
- .cmraLognPw(this.cmraLognPw)
- .cmraHttpPort(this.cmraHttpPort)
- .streUrl(this.streUrl)
- .cmraUrl(this.cmraUrl)
- .cmraType(this.cmraType)
- // .cmraXCrdn(this.cmraYCrdn)
- // .cmraYCrdn(this.cmraXCrdn)
- .cmraXCrdn(this.cmraXCrdn)
- .cmraYCrdn(this.cmraYCrdn)
- .cmraAngl(this.cmraAngl)
- .hmpgDsplEn(this.hmpgDsplEn)
- .busDvrsLaneEn(this.busDvrsLaneEn)
- .srvcAnlyEn(this.srvcAnlyEn)
- .laneCnt(this.laneCnt)
- .webRtcSvrIp(this.webRtcSvrIp)
- .webRtcSvrPort(this.webRtcSvrPort)
- .webRtcId(this.webRtcId)
- .rtcSvrIp(this.rtcSvrIp)
- .rtcSvrPort(this.rtcSvrPort)
- .rtcId(this.rtcId)
- .build();
- }
- public TbScIxrCmraSttsDto toSttsDto() {
- TbScIxrCmraSttsDto dto = TbScIxrCmraSttsDto.builder()
- .ixrId(this.ixrId)
- .cmraId(this.cmraId)
- .drctDvsnCd(this.drctDvsnCd)
- .istlLctn(this.istlLctn)
- .updtDt(CmmnCdManager.CMNC_STTS_ERROR_DT)
- .cmncSttsCd(CmmnCdManager.CMNC_STTS_ERROR)
- .build();
- if (this.state != null) {
- dto.setUpdtDt(this.state.getClctDt());
- dto.setCmraStts(this.state.getCmraStts());
- if (1 == this.state.getCmraStts()) {
- dto.setCmncSttsCd(CmmnCdManager.CMNC_STTS_NORMAL);
- }
- }
- dto.setMissSttsYn(ItsUtils.getMissSttsYn(dto.getUpdtDt()));
- if (("Y").equals(dto.getMissSttsYn())) {
- // 기준시각 보다 크기 때문에 상태정보를 통신두절로 설정
- dto.setCmncSttsCd(CmmnCdManager.CMNC_STTS_ERROR);
- }
- dto.setCmncSttsDesc(CmmnCdManager.getCodeDescShort(CmmnCdManager.CMNC_STTS_CD, dto.getCmncSttsCd()));
- return dto;
- }
- public TbScIxrCmraMngm(String ixrId, String cmraId, Integer drctDvsnCd) {
- this.ixrId = ixrId;
- this.cmraId = cmraId;
- this.drctDvsnCd = drctDvsnCd;
- }
- public void updateInfo(TbScIxrCmraMngmDto.TbScIxrCmraMngmUpdReq req) {
- this.istlLctn = req.getIstlLctn();
- this.cmraIp = req.getCmraIp();
- this.cmraPort = req.getCmraPort();
- this.useEn = req.getUseEn();
- this.cmraLognId = req.getCmraLognId();
- this.cmraLognPw = req.getCmraLognPw();
- this.cmraHttpPort = req.getCmraHttpPort();
- this.streUrl = req.getStreUrl();
- this.cmraUrl = req.getCmraUrl();
- this.cmraType = req.getCmraType();
- this.cmraXCrdn = req.getCmraXCrdn();
- this.cmraYCrdn = req.getCmraYCrdn();
- this.cmraAngl = req.getCmraAngl();
- this.hmpgDsplEn = req.getHmpgDsplEn();
- this.busDvrsLaneEn = req.getBusDvrsLaneEn();
- this.srvcAnlyEn = req.getSrvcAnlyEn();
- this.laneCnt = req.getLaneCnt();
- this.webRtcSvrIp = req.getWebRtcSvrIp();
- this.webRtcSvrPort = req.getWebRtcSvrPort();
- this.webRtcId = req.getWebRtcId();
- this.rtcSvrIp = req.getRtcSvrIp();
- this.rtcSvrPort = req.getRtcSvrPort();
- this.rtcId = req.getRtcId();
- }
- }
|