TbRoadController.java 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package com.its.op.controller.database;
  2. import com.its.op.model.dto.database.RoadDto;
  3. import com.its.op.model.dto.database.RoadIfscRltnDto;
  4. import com.its.op.model.entity.database.Road;
  5. import com.its.op.model.entity.database.RoadIfscRltn;
  6. import com.its.op.service.database.TbRoadService;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import lombok.RequiredArgsConstructor;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.http.HttpStatus;
  12. import org.springframework.http.ResponseEntity;
  13. import org.springframework.web.bind.annotation.*;
  14. import java.util.ArrayList;
  15. import java.util.List;
  16. @Slf4j
  17. @RequiredArgsConstructor
  18. @RestController
  19. @RequestMapping("/api/database/road")
  20. @Api(tags = "09.기초데이터관리-04.도로")//, description="도로")
  21. public class TbRoadController {
  22. private final TbRoadService service;
  23. @ApiOperation(value = "전체조회(TB_ROAD)", response = RoadDto.RoadInfo.class)
  24. @GetMapping(value = "", produces = {"application/json; charset=utf8"})
  25. public ResponseEntity<List<RoadDto.RoadInfo>> findAll() {
  26. List<Road> data = this.service.findAll();
  27. List<RoadDto.RoadInfo> result = new ArrayList<>();
  28. for (Road obj: data) {
  29. result.add(new RoadDto.RoadInfo(obj));
  30. }
  31. return new ResponseEntity<>(result, HttpStatus.OK);
  32. }
  33. @ApiOperation(value = "개별조회(TB_ROAD)", response = RoadDto.RoadInfo.class)
  34. @GetMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  35. public ResponseEntity<RoadDto.RoadInfo> findById(@PathVariable final Long id) {
  36. Road obj = this.service.findById(id);
  37. if (obj != null) {
  38. return new ResponseEntity<>(new RoadDto.RoadInfo(obj), HttpStatus.OK);
  39. }
  40. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  41. }
  42. @ApiOperation(value = "구간명변경(TB_ROAD)", response = RoadDto.RoadInfo.class)
  43. @PutMapping(value = "/{id}", produces = {"application/json; charset=utf8"})
  44. public ResponseEntity<RoadDto.RoadInfo> updateNameById(@PathVariable final Long id, @RequestBody final RoadDto.RoadNameUpdateReq req) {
  45. Road obj = this.service.updateNameById(id, req);
  46. if (obj != null) {
  47. return new ResponseEntity<>(new RoadDto.RoadInfo(obj), HttpStatus.OK);
  48. }
  49. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  50. }
  51. @ApiOperation(value = "개별구성정보조회(TB_ROAD_IFSC_RLTN)", response = RoadIfscRltnDto.RoadIfscRltnUpdateReq.class)
  52. @GetMapping(value = "/rltn/{id}", produces = {"application/json; charset=utf8"})
  53. public ResponseEntity<List<RoadIfscRltnDto.RoadIfscRltnInfo>> findLinkRltnById(@PathVariable final Long id) {
  54. List<RoadIfscRltn> objs = this.service.findLinkRltnById(id);
  55. if (objs != null) {
  56. List<RoadIfscRltnDto.RoadIfscRltnInfo> result = new ArrayList<>();
  57. for (RoadIfscRltn obj : objs) {
  58. result.add(new RoadIfscRltnDto.RoadIfscRltnInfo(obj));
  59. }
  60. return new ResponseEntity<>(result, HttpStatus.OK);
  61. }
  62. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  63. }
  64. @ApiOperation(value = "개별구성정보변경/생성(TB_ROAD_IFSC_RLTN)", response = RoadDto.RoadInfo.class)
  65. @PutMapping(value = "/rltn/{id}", produces = {"application/json; charset=utf8"})
  66. public ResponseEntity<List<RoadIfscRltnDto.RoadIfscRltnUpdateReq>> updateRltn(
  67. @PathVariable final Long id,
  68. @RequestBody final List<RoadIfscRltnDto.RoadIfscRltnUpdateReq> req) {
  69. List<RoadIfscRltnDto.RoadIfscRltnUpdateReq> obj = this.service.updateRltn(id, req);
  70. if (obj != null) {
  71. return new ResponseEntity<>(obj, HttpStatus.OK);
  72. }
  73. return new ResponseEntity<>(null, HttpStatus.NOT_FOUND);//NO_CONTENT);
  74. }
  75. }