TbAtrdController.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. package com.its.op.controller.database;
  2. import com.its.op.model.dto.AtrdDto;
  3. import com.its.op.model.dto.AtrdRoadRltnDto;
  4. import com.its.op.model.dto.RoadIfscRltnDto;
  5. import com.its.op.model.entity.Atrd;
  6. import com.its.op.model.entity.AtrdRoadRltn;
  7. import com.its.op.service.database.TbAtrdService;
  8. import io.swagger.annotations.Api;
  9. import io.swagger.annotations.ApiOperation;
  10. import lombok.RequiredArgsConstructor;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.springframework.http.HttpStatus;
  13. import org.springframework.http.ResponseEntity;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.validation.Valid;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. @Slf4j
  19. @RequiredArgsConstructor
  20. @RestController
  21. @RequestMapping("/api/database/tb-atrd")
  22. @Api(tags = "09.기초데이터관리-05.간선도로관리", description="간선도로관리")
  23. public class TbAtrdController {
  24. private final TbAtrdService service;
  25. @ApiOperation(value = "전체조회(TB_ATRD)", response = AtrdDto.AtrdInfo.class)
  26. @GetMapping(value = "", produces = {"application/json; charset=utf8"})
  27. public ResponseEntity<List<AtrdDto.AtrdInfo>> findAll() {
  28. List<Atrd> data = this.service.findAll();
  29. List<AtrdDto.AtrdInfo> result = new ArrayList<>();
  30. for (Atrd obj: data) {
  31. result.add(new AtrdDto.AtrdInfo(obj));
  32. }
  33. return new ResponseEntity<>(result, HttpStatus.OK);
  34. }
  35. @ApiOperation(value = "개별조회(TB_ATRD)", response = AtrdDto.AtrdInfo.class)
  36. @GetMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  37. public ResponseEntity<AtrdDto.AtrdInfo> findById(@PathVariable final String id) {
  38. Atrd obj = this.service.findById(id);
  39. if (obj != null) {
  40. return new ResponseEntity<>(new AtrdDto.AtrdInfo(obj), HttpStatus.OK);
  41. }
  42. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  43. }
  44. @ApiOperation(value = "구간명변경(TB_ATRD)", response = AtrdDto.AtrdInfo.class)
  45. @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  46. public ResponseEntity<AtrdDto.AtrdInfo> updateNameById(@PathVariable final String id, @RequestBody final AtrdDto.AtrdNameUpdateReq req) {
  47. Atrd obj = this.service.updateNameById(id, req);
  48. if (obj != null) {
  49. return new ResponseEntity<>(new AtrdDto.AtrdInfo(obj), HttpStatus.OK);
  50. }
  51. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  52. }
  53. @ApiOperation(value = "간선도로구간개별구성정보조회(TB_ATRD_ROAD_RLTN)", response = RoadIfscRltnDto.RoadIfscRltnUpdateReq.class)
  54. @GetMapping(value = "/road-rltn/{id}", produces = {"application/json; charset=utf8"})
  55. public ResponseEntity<List<AtrdRoadRltnDto.AtrdRoadRltnInfo>> findLinkRltnById(@PathVariable final String id) {
  56. List<AtrdRoadRltn> objs = this.service.findRltnById(id);
  57. if (objs != null) {
  58. List<AtrdRoadRltnDto.AtrdRoadRltnInfo> result = new ArrayList<>();
  59. for (AtrdRoadRltn obj : objs) {
  60. result.add(new AtrdRoadRltnDto.AtrdRoadRltnInfo(obj));
  61. }
  62. return new ResponseEntity<>(result, HttpStatus.OK);
  63. }
  64. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  65. }
  66. // 간선도로정보 + 도로구성정보
  67. @ApiOperation(value = "간선도로구간개별구성정보변경/생성(TB_ATRD_ROAD_RLTN)", response = AtrdDto.AtrdInfo.class)
  68. @PostMapping(value = "/road-rltn/{id}", produces = {"application/json; charset=utf8"})
  69. public ResponseEntity<List<AtrdRoadRltnDto.AtrdRoadRltnUpdateReq>> updateRltn(
  70. @PathVariable final String id,
  71. @RequestBody final List<AtrdRoadRltnDto.AtrdRoadRltnUpdateReq> req) {
  72. List<AtrdRoadRltnDto.AtrdRoadRltnUpdateReq> obj = this.service.updateRltn(id, req);
  73. if (obj != null) {
  74. return new ResponseEntity<>(obj, HttpStatus.OK);
  75. }
  76. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  77. }
  78. // 간선도로정보 생성-업데이트
  79. @ApiOperation(value = "간선도로정보변경/생성(TB_ATRD)", response = AtrdDto.AtrdInfo.class)
  80. @PostMapping(value = "", produces = {"application/json; charset=utf8"})
  81. public ResponseEntity<AtrdDto.AtrdInfo> mergeInfo(@RequestBody @Valid final AtrdDto.AtrdUpdateReq req) {
  82. log.error("{}", req);
  83. Atrd obj = this.service.mergeInfo(req);
  84. if (obj != null) {
  85. return new ResponseEntity<>(new AtrdDto.AtrdInfo(obj), HttpStatus.OK);
  86. }
  87. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  88. }
  89. }