RegionCenter.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.sig.todp.server.dto;
  2. import com.sig.todp.server.cluster.dto.RegionCenterInfo;
  3. import lombok.AllArgsConstructor;
  4. import lombok.Builder;
  5. import lombok.Data;
  6. import lombok.NoArgsConstructor;
  7. import lombok.extern.slf4j.Slf4j;
  8. import java.io.Serializable;
  9. import java.text.SimpleDateFormat;
  10. import java.util.Date;
  11. import java.util.HashMap;
  12. @Slf4j
  13. @Data
  14. @Builder
  15. @NoArgsConstructor//(access = AccessLevel.PROTECTED)
  16. @AllArgsConstructor
  17. public class RegionCenter implements Serializable {
  18. private static final long serialVersionUID = 1L;
  19. /*
  20. * Region Center properties
  21. */
  22. private int clusterId; // 서버 ID
  23. private int realClusterId; // 실제 운영중인 서버 ID
  24. private int idx;
  25. private boolean isDeleted;
  26. private String regionCd; /* 지역 코드 */
  27. private String regionNm; /* 지역 명 */
  28. private String ipAddress; /* IP Address */
  29. private String loginId; /* 지역센터 아이디 */
  30. private String loginPswd; /* 지역센터 비밀번호 */
  31. private String fileUpdDt; /* 파일 수정일자 */
  32. private boolean simulateFlag; /* 시뮬레이터 여부 */
  33. private int regionId; /* 지역 ID */
  34. private boolean extYn; /* 민간연계여부(N;연계안함,Y:연계) */
  35. private boolean realtimeYn; /* 실시간정보 연계여부(N;연계안함,Y:연계) */
  36. private boolean dbaseYn; /* TOD기반정보 연계여부(N;연계안함,Y:연계) */
  37. private boolean commHistYn; /* TB_COMM_HIST 저장여부(N;저장안함,Y:저장) */
  38. private int minIntNo;
  39. private int maxIntNo;
  40. private int intCount;
  41. private long lastCommMilliSeconds;
  42. private long lastTodRunTime;
  43. // 센터에 속한 교차로 정보 목록
  44. @Builder.Default
  45. private HashMap<Integer, TTodInt> intMap = new HashMap<>();
  46. public String getLogKey() {
  47. return this.regionCd;
  48. }
  49. public void update(RegionCenter dto) {
  50. this.regionNm = dto.getRegionNm();
  51. this.ipAddress = dto.getIpAddress();
  52. this.loginId = dto.getLoginId();
  53. this.loginPswd = dto.getLoginPswd();
  54. this.fileUpdDt = dto.getFileUpdDt();
  55. this.regionId = dto.getRegionId();
  56. this.simulateFlag = dto.isSimulateFlag();
  57. this.extYn = dto.isExtYn();
  58. this.realtimeYn = dto.isRealtimeYn();
  59. this.dbaseYn = dto.isDbaseYn();
  60. this.commHistYn = dto.isCommHistYn();
  61. this.minIntNo = dto.getMinIntNo();
  62. this.maxIntNo = dto.getMaxIntNo();
  63. this.intCount = dto.getIntCount();
  64. this.lastTodRunTime = dto.getLastTodRunTime();
  65. }
  66. public String getLastTodRunTimeStr() {
  67. Date date = new Date(this.lastTodRunTime);
  68. SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  69. return dateFormat.format(date);
  70. }
  71. public void copyInfo(RegionCenterInfo info) {
  72. //this.clusterId = info.getClusterId(); // 서버 ID
  73. this.realClusterId = info.getRealClusterId(); // 실제 운영중인 서버 ID
  74. this.lastTodRunTime = info.getLastTodRunTime();
  75. this.lastCommMilliSeconds = info.getLastCommMilliSeconds();
  76. }
  77. public RegionCenterInfo cloneCopy() {
  78. return RegionCenterInfo.builder()
  79. .clusterId(this.clusterId)
  80. .realClusterId(this.realClusterId)
  81. .regionCd(this.regionCd)
  82. .regionId(this.regionId)
  83. .lastTodRunTime(this.lastTodRunTime)
  84. .lastCommMilliSeconds(this.lastCommMilliSeconds)
  85. .build();
  86. }
  87. }