TbReptCngsSect.java 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package com.its.op.entity.its.ifsc;
  2. import com.its.op.global.CodeManager;
  3. import com.its.op.dto.its.ifsc.TbReptCngsSectDto;
  4. import io.swagger.annotations.ApiModel;
  5. import io.swagger.annotations.ApiModelProperty;
  6. import lombok.*;
  7. import javax.persistence.*;
  8. import java.io.Serializable;
  9. /**
  10. * 반복 정체 구간 Entity Class
  11. */
  12. @Getter
  13. @NoArgsConstructor//(access = AccessLevel.PROTECTED)
  14. @Builder
  15. @AllArgsConstructor
  16. @ApiModel("반복 정체 구간")
  17. @Entity
  18. @Table(name = "TB_REPT_CNGS_SECT")
  19. @IdClass(TbReptCngsSectKey.class)
  20. public class TbReptCngsSect implements Serializable {
  21. private static final long serialVersionUID = 1L;
  22. @ApiModelProperty("정보제공구간 ID") // N NUMBER(10)
  23. @Id
  24. @Column(name = "IFSC_ID", nullable = false, columnDefinition = "NUMBER", length = 10)
  25. private Long ifscId;
  26. @ApiModelProperty("통계 년월") // N VARCHAR(6)
  27. @Id
  28. @Column(name = "STAT_YM", nullable = false, length = 6)
  29. private String statYm;
  30. @ApiModelProperty("요일 유형 코드") // N VARCHAR(7)
  31. @Id
  32. @Column(name = "DAY_TYPE_CD", nullable = false, length = 7)
  33. private String dayTypeCd;
  34. @ApiModelProperty("혼잡 시작 시분") // N VARCHAR(4)
  35. @Id
  36. @Column(name = "CNFS_STRT_HM", nullable = false, length = 4)
  37. private String cnfsStrtHm;
  38. @ApiModelProperty("혼잡 종료 시분") // Y VARCHAR(4)
  39. @Column(name = "CNFS_END_HM", length = 4)
  40. private String cnfsEndHm;
  41. @ApiModelProperty("평균 속도") // Y NUMBER(3)
  42. @Column(name = "AVRG_SPED", columnDefinition = "NUMBER", length = 3)
  43. private Integer avrgSped;
  44. @ApiModelProperty("평균 통행 시간") // Y NUMBER(6)
  45. @Column(name = "AVRG_TRVL_HH", columnDefinition = "NUMBER", length = 6)
  46. private Integer avrgTrvlHh;
  47. @ApiModelProperty("확정 여부") // Y CHAR(1)
  48. @Column(name = "DCSN_YN", columnDefinition = "CHAR", length = 1)
  49. private String dcsnYn;
  50. @ApiModelProperty("생성 일자") // Y VARCHAR(8)
  51. @Column(name = "CRTN_YMD", length = 8)
  52. private String crtnYmd;
  53. @ApiModelProperty("반복 정체 구간 원본 코드") // Y VARCHAR(7)
  54. @Column(name = "REPT_CNGS_SECT_ORGN_CD", length = 7)
  55. private String reptCngsSectOrgnCd;
  56. @OneToOne
  57. @JoinColumn(insertable=false, updatable=false, name="IFSC_ID", referencedColumnName = "IFSC_ID")
  58. TbIfsc ifsc;
  59. public TbReptCngsSectDto toDto() {
  60. TbReptCngsSectDto dto = TbReptCngsSectDto.builder()
  61. .ifscId(this.ifscId)
  62. .statYm(this.statYm)
  63. .dayTypeCd(this.dayTypeCd)
  64. .cnfsStrtHm(this.cnfsStrtHm)
  65. .cnfsEndHm(this.cnfsEndHm)
  66. .avrgSped(this.avrgSped)
  67. .avrgTrvlHh(this.avrgTrvlHh)
  68. .dcsnYn(this.dcsnYn)
  69. .crtnYmd(this.crtnYmd)
  70. .reptCngsSectOrgnCd(this.reptCngsSectOrgnCd)
  71. .build();
  72. if (this.ifsc != null) {
  73. dto.setIfscNm(this.ifsc.getIfscNm());
  74. dto.setStrtNm(this.ifsc.getStrtNm());
  75. dto.setEndNm(this.ifsc.getEndNm());
  76. }
  77. dto.setDayTypeDesc(CodeManager.getCodeDesc(CodeManager.DAY_TYPE_CD, dto.getDayTypeCd()));
  78. dto.setReptCngsSectOrgnDesc(CodeManager.getCodeDesc(CodeManager.REPT_CNGS_CD, dto.getReptCngsSectOrgnCd()));
  79. return dto;
  80. }
  81. public void cancelCnfm() {
  82. this.dayTypeCd = "N";
  83. }
  84. public void cnfm() {
  85. this.dcsnYn = "Y";
  86. }
  87. public TbReptCngsSect(Long ifscId, String statYm, String dayTypeCd, String cnfsStrtHm) {
  88. this.ifscId = ifscId;
  89. this.statYm = statYm;
  90. this.dayTypeCd = dayTypeCd;
  91. this.cnfsStrtHm = cnfsStrtHm;
  92. }
  93. public void updateInfo(TbReptCngsSectDto.TbReptCngsSectUpdReq req) {
  94. this.cnfsEndHm = req.getCnfsEndHm();
  95. this.avrgSped = req.getAvrgSped();
  96. this.avrgTrvlHh = req.getAvrgTrvlHh();
  97. this.dcsnYn = req.getDcsnYn();
  98. this.crtnYmd = req.getCrtnYmd();
  99. this.reptCngsSectOrgnCd = req.getReptCngsSectOrgnCd();
  100. }
  101. }