UtisRseStateDto.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.its.api.utis.model.dto;
  2. import com.fasterxml.jackson.annotation.JsonProperty;
  3. import com.its.api.utils.ItsUtils;
  4. import com.its.api.utis.model.entity.Rsemst;
  5. import io.swagger.annotations.ApiModel;
  6. import io.swagger.annotations.ApiModelProperty;
  7. import lombok.*;
  8. import java.time.format.DateTimeFormatter;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. @Data
  12. @Builder
  13. @NoArgsConstructor
  14. @AllArgsConstructor
  15. @ApiModel("UtisRseStateDto(RSE 시설물 상태 정보)")
  16. public class UtisRseStateDto {
  17. @ApiModelProperty("시설물유형(RSE)")
  18. @JsonProperty("type")
  19. private String type;
  20. @ApiModelProperty("전체")
  21. @JsonProperty("total")
  22. private int total;
  23. @ApiModelProperty("유선정상")
  24. @JsonProperty("normal")
  25. private int normal;
  26. @ApiModelProperty("유선장애")
  27. @JsonProperty("error")
  28. private int error;
  29. @ApiModelProperty("RSE 개별 상태 정보")
  30. @JsonProperty("lists")
  31. List<RseCommSttsDto> lists = new ArrayList<>();
  32. @Getter
  33. @Setter
  34. @ToString
  35. @ApiModel("RseCommSttsDto(RSE 개별 상태 정보)")
  36. public static class RseCommSttsDto {
  37. @ApiModelProperty("RSE ID")
  38. @JsonProperty("rse_id")
  39. private String rseId;
  40. @ApiModelProperty("설치위치")
  41. @JsonProperty("location")
  42. private String location;
  43. @ApiModelProperty("장애일시")
  44. @JsonProperty("coll_dt")
  45. private String collDt;
  46. @ApiModelProperty("통신상태")
  47. @JsonProperty("comm_cd")
  48. private String commCd;
  49. @ApiModelProperty("장애일시")
  50. @JsonProperty("comm_desc")
  51. private String commDesc;
  52. @Builder
  53. public RseCommSttsDto(String rseId, String location, String collDt, String commCd, String commDesc) {
  54. this.rseId = rseId;
  55. this.location = location;
  56. this.collDt = collDt;
  57. this.commCd = commCd;
  58. this.commDesc = commDesc;
  59. }
  60. }
  61. public static RseCommSttsDto toSttsDto(Rsemst rse) {
  62. RseCommSttsDto stts = RseCommSttsDto.builder()
  63. .rseId(rse.getRseid())
  64. .location(rse.getLocation())
  65. .commCd("0")
  66. .build();
  67. if (rse.getState() != null) {
  68. String collDt = DateTimeFormatter.ofPattern("yyyyMMddHHmmss").format(rse.getState().getColldt());
  69. stts.setCollDt(collDt);
  70. stts.setCommCd(ItsUtils.getRseCommStts(stts.getCollDt()));
  71. }
  72. if (("0").equals(stts.getCommCd())) {
  73. stts.setCommDesc("이상");
  74. }
  75. else {
  76. stts.setCommDesc("정상");
  77. }
  78. return stts;
  79. }
  80. }