From 83a0fbdad90da36dc847f71d0bbc98c92e2545c9 Mon Sep 17 00:00:00 2001 From: thkim Date: Fri, 11 Jul 2025 19:03:23 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EC=84=A4?= =?UTF-8?q?=EB=AC=B8=20=EC=83=9D=EC=84=B1=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 85 ++++ list.txt | 24 +- pom.xml | 68 ++- src/main/java/sgis/com/util/CryptoUtil.java | 3 - src/main/java/sgis/com/util/StringUtil.java | 1 - .../controller/AdminSurveyPageController.java | 49 +- .../controller/QuestionController.java | 19 +- .../controller/QuestionOptionController.java | 19 +- .../controller/SurveyController.java | 23 +- .../surveysystem/dto/SurveyCreateRequest.java | 6 +- .../surveysystem/mapper/QuestionMapper.java | 11 +- .../mapper/QuestionOptionMapper.java | 10 +- .../surveysystem/mapper/SurveyMapper.java | 24 +- .../service/QuestionOptionService.java | 6 +- .../surveysystem/service/QuestionService.java | 6 +- .../surveysystem/service/SurveyService.java | 4 +- .../mapper/sgis/app/AppMainMapper.xml | 1 + .../sgis/surveysystem/QuestionMapper.xml | 16 +- .../surveysystem/QuestionOptionMapper.xml | 15 +- .../mapper/sgis/surveysystem/SurveyMapper.xml | 11 +- .../springmvc/egov-com-servlet.xml | 60 ++- .../WEB-INF/jsp/sgis/app/proj/inputForm.jsp | 1 + .../sgis/map/mapInformation/boreholeLog.jsp | 2 +- .../sgis/map/mapInformation/sichudanNew.jsp | 2 +- .../webapp/WEB-INF/jsp/sgis/map/mapMain.jsp | 2 +- .../jsp/sgis/surveysystem/createQuestion.jsp | 441 ++++++++++++++++++ .../surveysystem/createQuestionOption.jsp | 428 +++++++++++++++++ .../jsp/sgis/surveysystem/createSurvey.jsp | 24 +- .../WEB-INF/jsp/tiles/attribute/adm.top.jsp | 6 + .../lib/jackson-datatype-jsr310-2.12.5.jar | Bin 0 -> 120362 bytes .../mapper/sgis/app/AppMainMapper.xml | 1 + .../sgis/surveysystem/QuestionMapper.xml | 16 +- .../surveysystem/QuestionOptionMapper.xml | 15 +- .../mapper/sgis/surveysystem/SurveyMapper.xml | 11 +- target/classes/sgis/com/util/CryptoUtil.class | Bin 4108 -> 4108 bytes target/classes/sgis/com/util/StringUtil.class | Bin 17105 -> 17105 bytes .../AdminSurveyPageController.class | Bin 768 -> 1636 bytes .../controller/QuestionController.class | Bin 6807 -> 6822 bytes .../controller/QuestionOptionController.class | Bin 5595 -> 5604 bytes .../controller/SurveyController.class | Bin 5860 -> 6377 bytes .../dto/SurveyCreateRequest.class | Bin 1493 -> 1390 bytes .../surveysystem/mapper/QuestionMapper.class | Bin 672 -> 601 bytes .../mapper/QuestionOptionMapper.class | Bin 726 -> 655 bytes .../surveysystem/mapper/SurveyMapper.class | Bin 819 -> 748 bytes .../service/QuestionOptionService.class | Bin 4205 -> 4233 bytes .../service/QuestionService.class | Bin 4264 -> 4292 bytes .../surveysystem/service/SurveyService.class | Bin 4429 -> 4457 bytes .../maven/smart_ground/sgis/pom.properties | 2 +- .../META-INF/maven/smart_ground/sgis/pom.xml | 68 ++- 49 files changed, 1263 insertions(+), 217 deletions(-) create mode 100644 .gitignore create mode 100644 src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createQuestion.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createQuestionOption.jsp create mode 100644 src/main/webapp/WEB-INF/lib/jackson-datatype-jsr310-2.12.5.jar diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d99b068 --- /dev/null +++ b/.gitignore @@ -0,0 +1,85 @@ +/target +.DS_Store +._.DS_Store +**/.DS_Store +**/._.DS_Store + + +HELP.md +.gradle +build/ +!gradle/wrapper/gradle-wrapper.jar +!**/src/main/**/build/ +!**/src/test/**/build/ + +### STS ### +.apt_generated +.classpath +.factorypath +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +.svn + +# ---> Java +# Compiled class file +#*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + + +### VS Code ### +.vscode/ +.vs/ + + +# Added by thkim diff --git a/list.txt b/list.txt index 7397f9d..eb81ed7 100644 --- a/list.txt +++ b/list.txt @@ -1,17 +1,7 @@ -src\main\webapp\WEB-INF\jsp\sgis\com\common\header.jsp -src\main\webapp\WEB-INF\jsp\tiles\attribute\portal.top.jsp -src\main\webapp\WEB-INF\jsp\sgis\com\common\head.jsp -src\main\webapp\WEB-INF\jsp\sgis\com\board\boardList.jsp -src\main\resources\egovframework\mapper\sgis\board\PostMapper.xml -src\main\webapp\WEB-INF\jsp\sgis\com\board\boardView.jsp -src\main\webapp\WEB-INF\jsp\sgis\com\board\boardWrite.jsp -src\main\resources\egovframework\mapper\sgis\board\MemberMapper.xml -src\main\webapp\com\js\main.map.js -src\main\webapp\WEB-INF\jsp\sgis\map\mapMain.jsp -src\main\webapp\WEB-INF\jsp\tiles\attribute\app.submenu.jsp -src\main\webapp\WEB-INF\jsp\sgis\map\mapInformation\sichudanNew.jsp -src\main\webapp\com\css\cross-section.css -src\main\webapp\com\js\cross-section.js -src\main\resources\egovframework\mapper\sgis\map\MapMainMapper.xml -src\main\webapp\WEB-INF\jsp\sgis\map\mapInformation\boreholeLog.jsp -src\main\webapp\WEB-INF\jsp\sgis\surveysystem\createSurvey.jsp \ No newline at end of file +src\main\webapp\WEB-INF\jsp\sgis\surveysystem\createSurvey.jsp +src\main\webapp\WEB-INF\jsp\tiles\attribute\adm.top.jsp +src\main\webapp\WEB-INF\jsp\sgis\surveysystem\createQuestion.jsp +src\main\resources\egovframework\mapper\sgis\surveysystem\SurveyMapper.xml +src\main\resources\egovframework\mapper\sgis\surveysystem\QuestionMapper.xml +src\main\webapp\WEB-INF\jsp\sgis\surveysystem\createQuestionOption.jsp +src\main\webapp\WEB-INF\jsp\sgis\map\mapMain.jsp \ No newline at end of file diff --git a/pom.xml b/pom.xml index 588afd9..0a2441e 100644 --- a/pom.xml +++ b/pom.xml @@ -25,36 +25,26 @@ - - mvn2 - http://repo1.maven.org/maven2/ - - true - - - true - - - - egovframe - http://www.egovframe.go.kr/maven/ - - true - - - false - - - - egovframe2 - http://maven.egovframe.kr:8080/maven/ - - true - - - false - - + + mvn2s + https://repo1.maven.org/maven2/ + + true + + + true + + + + egovframe + https://maven.egovframe.go.kr/maven/ + + true + + + false + + osgeo OSGeo Release Repository @@ -299,22 +289,22 @@ com.fasterxml.jackson.core jackson-core - 2.12.5 + 2.12.4 com.fasterxml.jackson.core jackson-databind - 2.12.5 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.12.5 + 2.12.4 com.fasterxml.jackson.core jackson-annotations - 2.12.5 + 2.12.4 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.4 com.googlecode.json-simple @@ -480,7 +470,7 @@ install ${basedir}/target - sht_webapp + smart_ground diff --git a/src/main/java/sgis/com/util/CryptoUtil.java b/src/main/java/sgis/com/util/CryptoUtil.java index 28bfb76..c1fb2ce 100644 --- a/src/main/java/sgis/com/util/CryptoUtil.java +++ b/src/main/java/sgis/com/util/CryptoUtil.java @@ -1,7 +1,5 @@ package sgis.com.util; -import java.net.URLDecoder; -import java.net.URLEncoder; import java.nio.ByteBuffer; import java.security.AlgorithmParameters; import java.security.MessageDigest; @@ -15,7 +13,6 @@ import javax.crypto.spec.PBEKeySpec; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; -import org.junit.Test; /** * @FileName : CryptoUtil.java diff --git a/src/main/java/sgis/com/util/StringUtil.java b/src/main/java/sgis/com/util/StringUtil.java index 9d01662..f186fb9 100644 --- a/src/main/java/sgis/com/util/StringUtil.java +++ b/src/main/java/sgis/com/util/StringUtil.java @@ -4,7 +4,6 @@ import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.Date; -import org.junit.Test; /** * @FileName : StringUtil.java diff --git a/src/main/java/sgis/surveysystem/controller/AdminSurveyPageController.java b/src/main/java/sgis/surveysystem/controller/AdminSurveyPageController.java index ddb90a5..5e14b37 100644 --- a/src/main/java/sgis/surveysystem/controller/AdminSurveyPageController.java +++ b/src/main/java/sgis/surveysystem/controller/AdminSurveyPageController.java @@ -3,10 +3,14 @@ package sgis.surveysystem.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.ui.Model; // Model 객체 사용을 위해 추가 +import java.util.UUID; /** * 관리자 설문 페이지를 위한 컨트롤러. * JSP 뷰 파일을 반환합니다. + * 모든 요청은 .do 확장자로 끝납니다. */ @Controller // 뷰 이름을 반환하는 컨트롤러임을 명시 @RequestMapping("/admin/survey") // 이 컨트롤러의 기본 URL 경로 @@ -14,15 +18,50 @@ public class AdminSurveyPageController { /** * 설문 생성 폼 페이지를 표시합니다. - * 웹 브라우저에서 http://localhost:8080/your-app-context/admin/survey/create 로 접근 시 이 메서드가 호출됩니다. - * (your-app-context는 웹 애플리케이션의 컨텍스트 경로입니다. 예: /sgis) + * 웹 브라우저에서 `/admin/survey/createSurveyForm.do` 로 접근 시 이 메서드가 호출됩니다. * * @return JSP 파일의 논리적 경로 (ViewResolver에 의해 실제 경로로 변환됨) */ - @GetMapping("/create.do") + @GetMapping("/createSurveyForm.do") // GET 요청 처리, .do 확장자 추가 public String showCreateSurveyForm() { // ViewResolver 설정에 따라 다음 경로의 JSP 파일을 찾게 됩니다: - // /WEB-INF/jsp/ + sgis/surveysystem/createSurvey + .jsp + // /WEB-INF/jsp/sgis/surveysystem/createSurvey.jsp return "sgis/surveysystem/createSurvey"; } -} \ No newline at end of file + + /** + * 특정 설문에 대한 문항 생성 폼 페이지를 표시합니다. + * 웹 브라우저에서 `/admin/survey/{surveyId}/createQuestionForm.do` 로 접근 시 이 메서드가 호출됩니다. + * 이 페이지에서는 특정 설문에 속하는 문항을 생성할 수 있습니다. + * + * @param surveyId 문항을 생성할 설문의 고유 ID + * @param model Spring Model 객체 (뷰로 데이터를 전달하기 위해 사용) + * @return JSP 파일의 논리적 경로 (ViewResolver에 의해 실제 경로로 변환됨) + */ + @GetMapping("/{surveyId}/createQuestionForm.do") // GET 요청 처리, .do 확장자 추가 + public String showCreateQuestionForm(@PathVariable UUID surveyId, Model model) { + // surveyId를 Model에 추가하여 JSP에서 ${surveyId}로 접근할 수 있도록 합니다. + model.addAttribute("surveyId", surveyId); + // ViewResolver 설정에 따라 다음 경로의 JSP 파일을 찾게 됩니다: + // /WEB-INF/jsp/sgis/surveysystem/createQuestion.jsp + return "sgis/surveysystem/createQuestion"; + } + + /** + * 특정 문항에 대한 선택지 생성 폼 페이지를 표시합니다. + * 웹 브라우저에서 `/admin/survey/question/{questionId}/createOptionForm.do` 로 접근 시 이 메서드가 호출됩니다. + * 이 페이지에서는 특정 문항에 속하는 선택지를 생성할 수 있습니다. + * + * @param questionId 선택지를 생성할 문항의 고유 ID + * @param model Spring Model 객체 (뷰로 데이터를 전달하기 위해 사용) + * @return JSP 파일의 논리적 경로 (ViewResolver에 의해 실제 경로로 변환됨) + */ + @GetMapping("/question/{questionId}/createOptionForm.do") // GET 요청 처리, .do 확장자 추가 + public String showCreateQuestionOptionForm(@PathVariable UUID questionId, Model model) { + // questionId를 Model에 추가하여 JSP에서 ${questionId}로 접근할 수 있도록 합니다. + model.addAttribute("questionId", questionId); + // ViewResolver 설정에 따라 다음 경로의 JSP 파일을 찾게 됩니다: + // /WEB-INF/jsp/sgis/surveysystem/createQuestionOption.jsp + return "sgis/surveysystem/createQuestionOption"; + } +} diff --git a/src/main/java/sgis/surveysystem/controller/QuestionController.java b/src/main/java/sgis/surveysystem/controller/QuestionController.java index 2591acb..64ce19a 100644 --- a/src/main/java/sgis/surveysystem/controller/QuestionController.java +++ b/src/main/java/sgis/surveysystem/controller/QuestionController.java @@ -19,6 +19,7 @@ import java.util.stream.Collectors; /** * 설문 문항(Question) 관련 HTTP 요청을 처리하는 REST 컨트롤러. * 문항 생성, 조회, 수정, 삭제 등의 API 엔드포인트를 제공합니다. + * 모든 요청은 .do 확장자로 끝나며, GET과 POST 메서드만 사용합니다. */ @RestController @RequestMapping("/api/questions") @@ -34,7 +35,7 @@ public class QuestionController { * @param request Question 생성 요청 DTO * @return 생성된 문항 정보를 담은 응답 (HTTP 201 Created) */ - @PostMapping + @PostMapping("/createQuestion.do") // POST 요청 처리, .do 확장자 추가 public ResponseEntity createQuestion(@RequestBody QuestionCreateRequest request) { QuestionResponse createdQuestion = QuestionResponse.from( questionService.createQuestion( @@ -55,7 +56,7 @@ public class QuestionController { * @param surveyId 문항 목록을 조회할 설문 ID * @return 해당 설문의 모든 문항 정보를 담은 응답 리스트 (HTTP 200 OK) */ - @GetMapping("/by-survey/{surveyId}") + @GetMapping("/by-survey/{surveyId}/getQuestions.do") // GET 요청 처리, .do 확장자 추가 public ResponseEntity> getQuestionsBySurveyId(@PathVariable UUID surveyId) { List questions = questionService.getQuestionsBySurveyId(surveyId).stream() .map(question -> { @@ -81,7 +82,7 @@ public class QuestionController { * @return 조회된 문항 정보를 담은 응답 (HTTP 200 OK) * 문항이 없을 경우 HTTP 404 Not Found 반환 */ - @GetMapping("/{questionId}") + @GetMapping("/{questionId}/getQuestion.do") // GET 요청 처리, .do 확장자 추가 public ResponseEntity getQuestionById(@PathVariable UUID questionId) { try { QuestionResponse question = QuestionResponse.from(questionService.getQuestionById(questionId)); @@ -99,14 +100,15 @@ public class QuestionController { } /** - * 문항 정보를 업데이트합니다. (HTTP PUT) + * 문항 정보를 업데이트합니다. (HTTP POST) + * PUT 요청 대신 POST를 사용하며, URL 경로에 update 액션을 명시합니다. * * @param questionId 업데이트할 문항의 고유 ID * @param request Question 업데이트 요청 DTO * @return 업데이트된 문항 정보를 담은 응답 (HTTP 200 OK) * 문항이 없을 경우 HTTP 404 Not Found 반환 */ - @PutMapping("/{questionId}") + @PostMapping("/{questionId}/updateQuestion.do") // POST 요청으로 업데이트 처리, .do 확장자 추가 public ResponseEntity updateQuestion(@PathVariable UUID questionId, @RequestBody QuestionUpdateRequest request) { try { QuestionResponse updatedQuestion = QuestionResponse.from( @@ -125,13 +127,14 @@ public class QuestionController { } /** - * 특정 ID의 문항을 삭제합니다. (HTTP DELETE) + * 특정 ID의 문항을 삭제합니다. (HTTP POST) + * DELETE 요청 대신 POST를 사용하며, URL 경로에 delete 액션을 명시합니다. * * @param questionId 삭제할 문항의 고유 ID * @return 응답 본문 없이 HTTP 204 No Content 반환 * 문항이 없을 경우 HTTP 404 Not Found 반환 */ - @DeleteMapping("/{questionId}") + @PostMapping("/{questionId}/deleteQuestion.do") // POST 요청으로 삭제 처리, .do 확장자 추가 public ResponseEntity deleteQuestion(@PathVariable UUID questionId) { try { questionService.deleteQuestion(questionId); @@ -140,4 +143,4 @@ public class QuestionController { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/controller/QuestionOptionController.java b/src/main/java/sgis/surveysystem/controller/QuestionOptionController.java index a439146..d35e106 100644 --- a/src/main/java/sgis/surveysystem/controller/QuestionOptionController.java +++ b/src/main/java/sgis/surveysystem/controller/QuestionOptionController.java @@ -17,6 +17,7 @@ import java.util.stream.Collectors; /** * 객관식 문항 선택지(QuestionOption) 관련 HTTP 요청을 처리하는 REST 컨트롤러. * 선택지 생성, 조회, 수정, 삭제 등의 API 엔드포인트를 제공합니다. + * 모든 요청은 .do 확장자로 끝나며, GET과 POST 메서드만 사용합니다. */ @RestController @RequestMapping("/api/question-options") @@ -31,7 +32,7 @@ public class QuestionOptionController { * @param request QuestionOption 생성 요청 DTO * @return 생성된 선택지 정보를 담은 응답 (HTTP 201 Created) */ - @PostMapping + @PostMapping("/createQuestionOption.do") // POST 요청 처리, .do 확장자 추가 public ResponseEntity createQuestionOption(@RequestBody QuestionOptionCreateRequest request) { QuestionOptionResponse createdOption = QuestionOptionResponse.from( questionOptionService.createQuestionOption( @@ -49,7 +50,7 @@ public class QuestionOptionController { * @param questionId 선택지 목록을 조회할 문항 ID * @return 해당 문항의 모든 선택지 정보를 담은 응답 리스트 (HTTP 200 OK) */ - @GetMapping("/by-question/{questionId}") + @GetMapping("/by-question/{questionId}/getOptions.do") // GET 요청 처리, .do 확장자 추가 public ResponseEntity> getOptionsByQuestionId(@PathVariable UUID questionId) { List options = questionOptionService.getOptionsByQuestionId(questionId).stream() .map(QuestionOptionResponse::from) @@ -64,7 +65,7 @@ public class QuestionOptionController { * @return 조회된 선택지 정보를 담은 응답 (HTTP 200 OK) * 선택지가 없을 경우 HTTP 404 Not Found 반환 */ - @GetMapping("/{optionId}") + @GetMapping("/{optionId}/getOption.do") // GET 요청 처리, .do 확장자 추가 public ResponseEntity getQuestionOptionById(@PathVariable UUID optionId) { try { QuestionOptionResponse option = QuestionOptionResponse.from(questionOptionService.getQuestionOptionById(optionId)); @@ -75,14 +76,15 @@ public class QuestionOptionController { } /** - * 선택지 정보를 업데이트합니다. (HTTP PUT) + * 선택지 정보를 업데이트합니다. (HTTP POST) + * PUT 요청 대신 POST를 사용하며, URL 경로에 update 액션을 명시합니다. * * @param optionId 업데이트할 선택지의 고유 ID * @param request QuestionOption 업데이트 요청 DTO * @return 업데이트된 선택지 정보를 담은 응답 (HTTP 200 OK) * 선택지가 없을 경우 HTTP 404 Not Found 반환 */ - @PutMapping("/{optionId}") + @PostMapping("/{optionId}/updateOption.do") // POST 요청으로 업데이트 처리, .do 확장자 추가 public ResponseEntity updateQuestionOption(@PathVariable UUID optionId, @RequestBody QuestionOptionUpdateRequest request) { try { QuestionOptionResponse updatedOption = QuestionOptionResponse.from( @@ -99,13 +101,14 @@ public class QuestionOptionController { } /** - * 특정 ID의 선택지를 삭제합니다. (HTTP DELETE) + * 특정 ID의 선택지를 삭제합니다. (HTTP POST) + * DELETE 요청 대신 POST를 사용하며, URL 경로에 delete 액션을 명시합니다. * * @param optionId 삭제할 선택지의 고유 ID * @return 응답 본문 없이 HTTP 204 No Content 반환 * 선택지가 없을 경우 HTTP 404 Not Found 반환 */ - @DeleteMapping("/{optionId}") + @PostMapping("/{optionId}/deleteOption.do") // POST 요청으로 삭제 처리, .do 확장자 추가 public ResponseEntity deleteQuestionOption(@PathVariable UUID optionId) { try { questionOptionService.deleteQuestionOption(optionId); @@ -114,4 +117,4 @@ public class QuestionOptionController { return new ResponseEntity<>(HttpStatus.NOT_FOUND); } } -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/controller/SurveyController.java b/src/main/java/sgis/surveysystem/controller/SurveyController.java index b8e13d9..4ac19a7 100644 --- a/src/main/java/sgis/surveysystem/controller/SurveyController.java +++ b/src/main/java/sgis/surveysystem/controller/SurveyController.java @@ -9,6 +9,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; @@ -33,19 +35,26 @@ public class SurveyController { * @param request Survey 생성 요청 DTO * @return 생성된 설문 정보를 담은 응답 (HTTP 201 Created) */ - @PostMapping("/createSurvey.do") // POST 요청 처리, .do 확장자 추가 + @PostMapping("/createSurvey.do") public ResponseEntity createSurvey(@RequestBody SurveyCreateRequest request) { - // 서비스 계층의 createSurvey 메서드를 호출하여 설문을 생성합니다. - // DTO의 정보를 서비스 메서드의 파라미터로 전달합니다. + + LocalDateTime startDate = null; + if (request.getStartDate() != null && !request.getStartDate().isEmpty()) { + startDate = LocalDateTime.parse(request.getStartDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")); + } + LocalDateTime endDate = null; + if (request.getEndDate() != null && !request.getEndDate().isEmpty()) { + endDate = LocalDateTime.parse(request.getEndDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")); + } + SurveyResponse createdSurvey = SurveyResponse.from( surveyService.createSurvey( request.getSurveyTitle(), - request.getSurveyDescription(), // 수정: surveydescription() -> getSurveyDescription() - request.getStartDate(), - request.getEndDate() + request.getSurveyDescription(), + startDate, // 파싱된 LocalDateTime 객체 전달 + endDate // 파싱된 LocalDateTime 객체 전달 ) ); - // 생성 성공 시 201 Created 상태 코드와 함께 생성된 설문 정보를 반환합니다. return new ResponseEntity<>(createdSurvey, HttpStatus.CREATED); } diff --git a/src/main/java/sgis/surveysystem/dto/SurveyCreateRequest.java b/src/main/java/sgis/surveysystem/dto/SurveyCreateRequest.java index ab7ca9b..cee5504 100644 --- a/src/main/java/sgis/surveysystem/dto/SurveyCreateRequest.java +++ b/src/main/java/sgis/surveysystem/dto/SurveyCreateRequest.java @@ -18,6 +18,8 @@ import java.util.UUID; public class SurveyCreateRequest { private String surveyTitle; private String surveyDescription; - private LocalDateTime startDate; - private LocalDateTime endDate; + //private LocalDateTime startDate; + //private LocalDateTime endDate; + private String startDate; + private String endDate; } diff --git a/src/main/java/sgis/surveysystem/mapper/QuestionMapper.java b/src/main/java/sgis/surveysystem/mapper/QuestionMapper.java index 3d32e6a..2aadd27 100644 --- a/src/main/java/sgis/surveysystem/mapper/QuestionMapper.java +++ b/src/main/java/sgis/surveysystem/mapper/QuestionMapper.java @@ -2,16 +2,21 @@ package sgis.surveysystem.mapper; import sgis.surveysystem.domain.Question; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Optional; +import java.util.Optional; // Optional은 더 이상 findQuestionById의 반환 타입으로 사용하지 않음 import java.util.UUID; @Mapper public interface QuestionMapper { void insertQuestion(Question question); + List findQuestionsBySurveyId(UUID surveyId); - Optional findQuestionById(UUID questionId); + + Question findQuestionById(UUID questionId); + void updateQuestion(Question question); + void deleteQuestion(UUID questionId); -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/mapper/QuestionOptionMapper.java b/src/main/java/sgis/surveysystem/mapper/QuestionOptionMapper.java index 8f418d2..e3d3a40 100644 --- a/src/main/java/sgis/surveysystem/mapper/QuestionOptionMapper.java +++ b/src/main/java/sgis/surveysystem/mapper/QuestionOptionMapper.java @@ -2,16 +2,20 @@ package sgis.surveysystem.mapper; import sgis.surveysystem.domain.QuestionOption; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; // @Param 사용 시 필요 import java.util.List; -import java.util.Optional; +import java.util.Optional; // Optional은 더 이상 findQuestionOptionById의 반환 타입으로 사용하지 않음 import java.util.UUID; @Mapper public interface QuestionOptionMapper { void insertQuestionOption(QuestionOption option); + List findOptionsByQuestionId(UUID questionId); - Optional findQuestionOptionById(UUID optionId); + QuestionOption findQuestionOptionById(UUID optionId); + void updateQuestionOption(QuestionOption option); + void deleteQuestionOption(UUID optionId); -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/mapper/SurveyMapper.java b/src/main/java/sgis/surveysystem/mapper/SurveyMapper.java index 5a530ed..d38db6a 100644 --- a/src/main/java/sgis/surveysystem/mapper/SurveyMapper.java +++ b/src/main/java/sgis/surveysystem/mapper/SurveyMapper.java @@ -5,15 +5,21 @@ import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; -import java.util.Optional; +import java.util.Optional; // Optional은 더 이상 findSurveyById의 반환 타입으로 사용하지 않음 import java.util.UUID; -@Mapper +@Mapper // MyBatis Mapper 임을 선언 public interface SurveyMapper { - void insertSurvey(Survey survey); - List findAllSurveys(); - Optional findSurveyById(UUID surveyId); - void updateSurvey(Survey survey); - void deleteSurvey(UUID surveyId); - void updateSurveyStatus(@Param("surveyId") UUID surveyId, @Param("isActive") Boolean isActive); -} \ No newline at end of file + void insertSurvey(Survey survey); // insert + + List findAllSurveys(); // select All + + // findSurveyById 메서드의 반환 타입을 Optional에서 Survey로 변경 + Survey findSurveyById(UUID surveyId); // select by ID (Optional 대신 직접 Survey 반환) + + void updateSurvey(Survey survey); // update + + void deleteSurvey(UUID surveyId); // delete by ID + + void updateSurveyStatus(@Param("surveyId") UUID surveyId, @Param("isActive") Boolean isActive); // 특정 필드 업데이트 +} diff --git a/src/main/java/sgis/surveysystem/service/QuestionOptionService.java b/src/main/java/sgis/surveysystem/service/QuestionOptionService.java index 903d7dd..b07be2b 100644 --- a/src/main/java/sgis/surveysystem/service/QuestionOptionService.java +++ b/src/main/java/sgis/surveysystem/service/QuestionOptionService.java @@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.NoSuchElementException; +import java.util.Optional; // Optional 클래스 임포트 import java.util.UUID; /** @@ -71,7 +72,8 @@ public class QuestionOptionService { */ @Transactional(readOnly = true) public QuestionOption getQuestionOptionById(UUID optionId) { - return questionOptionMapper.findQuestionOptionById(optionId) // Mapper를 통해 ID로 선택지 조회 + // Mapper에서 직접 QuestionOption 객체를 반환하도록 변경했으므로, Optional.ofNullable()을 사용합니다. + return Optional.ofNullable(questionOptionMapper.findQuestionOptionById(optionId)) .orElseThrow(() -> new NoSuchElementException("Question Option not found with ID: " + optionId)); // 없을 경우 예외 발생 } @@ -109,4 +111,4 @@ public class QuestionOptionService { getQuestionOptionById(optionId); // 삭제할 선택지가 존재하는지 먼저 확인합니다. questionOptionMapper.deleteQuestionOption(optionId); // Mapper를 통해 선택지 삭제 } -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/service/QuestionService.java b/src/main/java/sgis/surveysystem/service/QuestionService.java index 9890d2d..d5bafce 100644 --- a/src/main/java/sgis/surveysystem/service/QuestionService.java +++ b/src/main/java/sgis/surveysystem/service/QuestionService.java @@ -8,6 +8,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.NoSuchElementException; +import java.util.Optional; // Optional 클래스 임포트 import java.util.UUID; /** @@ -74,7 +75,8 @@ public class QuestionService { */ @Transactional(readOnly = true) public Question getQuestionById(UUID questionId) { - return questionMapper.findQuestionById(questionId) // Mapper를 통해 ID로 문항 조회 + // Mapper에서 직접 Question 객체를 반환하도록 변경했으므로, Optional.ofNullable()을 사용합니다. + return Optional.ofNullable(questionMapper.findQuestionById(questionId)) .orElseThrow(() -> new NoSuchElementException("Question not found with ID: " + questionId)); // 없을 경우 예외 발생 } @@ -116,4 +118,4 @@ public class QuestionService { getQuestionById(questionId); // 삭제할 문항이 존재하는지 먼저 확인합니다. questionMapper.deleteQuestion(questionId); // Mapper를 통해 문항 삭제 } -} \ No newline at end of file +} diff --git a/src/main/java/sgis/surveysystem/service/SurveyService.java b/src/main/java/sgis/surveysystem/service/SurveyService.java index 972f8c1..1ee6894 100644 --- a/src/main/java/sgis/surveysystem/service/SurveyService.java +++ b/src/main/java/sgis/surveysystem/service/SurveyService.java @@ -9,6 +9,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; import java.util.NoSuchElementException; +import java.util.Optional; // Optional 클래스 임포트 import java.util.UUID; /** @@ -70,7 +71,8 @@ public class SurveyService { */ @Transactional(readOnly = true) public Survey getSurveyById(UUID surveyId) { - return surveyMapper.findSurveyById(surveyId) // Mapper를 통해 ID로 설문 조회 + // Mapper에서 직접 Survey 객체를 반환하도록 변경했으므로, Optional.ofNullable()을 사용합니다. + return Optional.ofNullable(surveyMapper.findSurveyById(surveyId)) .orElseThrow(() -> new NoSuchElementException("Survey not found with ID: " + surveyId)); // 없을 경우 예외 발생 } diff --git a/src/main/resources/egovframework/mapper/sgis/app/AppMainMapper.xml b/src/main/resources/egovframework/mapper/sgis/app/AppMainMapper.xml index 9650682..107bdf8 100644 --- a/src/main/resources/egovframework/mapper/sgis/app/AppMainMapper.xml +++ b/src/main/resources/egovframework/mapper/sgis/app/AppMainMapper.xml @@ -141,6 +141,7 @@ diff --git a/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml b/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml index f5ce90d..9b3dbb8 100644 --- a/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml +++ b/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml @@ -21,8 +21,8 @@ question_order, is_required ) VALUES ( - #{questionId, jdbcType=OTHER}, - #{surveyId, jdbcType=OTHER}, + CAST(#{questionId, jdbcType=OTHER} AS uuid), + CAST(#{surveyId, jdbcType=OTHER} AS uuid), #{questionText}, #{questionType}, #{questionOrder}, @@ -30,7 +30,6 @@ ) - - - UPDATE tb_questions SET @@ -65,12 +62,11 @@ question_type = #{questionType}, question_order = #{questionOrder}, is_required = #{isRequired} - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) - DELETE FROM tb_questions - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) \ No newline at end of file diff --git a/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml b/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml index bd134c1..b8ad464 100644 --- a/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml +++ b/src/main/resources/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml @@ -9,6 +9,7 @@ + INSERT INTO tb_question_options ( option_id, @@ -16,8 +17,8 @@ option_text, option_order ) VALUES ( - #{optionId, jdbcType=OTHER}, - #{questionId, jdbcType=OTHER}, + CAST(#{optionId, jdbcType=OTHER} AS uuid), + CAST(#{questionId, jdbcType=OTHER} AS uuid), #{optionText}, #{optionOrder} ) @@ -30,7 +31,7 @@ option_text, option_order FROM tb_question_options - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) ORDER BY option_order ASC @@ -41,7 +42,7 @@ option_text, option_order FROM tb_question_options - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) @@ -49,11 +50,11 @@ SET option_text = #{optionText}, option_order = #{optionOrder} - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) DELETE FROM tb_question_options - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) - \ No newline at end of file + diff --git a/src/main/resources/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml b/src/main/resources/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml index f6e962a..eb1ae21 100644 --- a/src/main/resources/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml +++ b/src/main/resources/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml @@ -24,7 +24,8 @@ start_date, end_date ) VALUES ( - #{surveyId, jdbcType=OTHER}, #{surveyTitle}, + CAST(#{surveyId, jdbcType=OTHER} AS uuid), + #{surveyTitle}, #{surveyDescription}, #{createdAt}, #{updatedAt}, @@ -58,7 +59,7 @@ start_date, end_date FROM tb_surveys - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) @@ -70,7 +71,7 @@ is_active = #{isActive}, start_date = #{startDate}, end_date = #{endDate} - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) @@ -78,11 +79,11 @@ SET is_active = #{isActive}, updated_at = NOW() - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) DELETE FROM tb_surveys - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml b/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml index 05f1d58..0a87cd6 100644 --- a/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml +++ b/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml @@ -4,19 +4,21 @@ xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task" + xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd - http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd"> + http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> - - + + - + @@ -39,18 +41,17 @@ - - + + - - - - + + + @@ -58,6 +59,41 @@ - + + + + + + + + + - \ No newline at end of file + + + + + + + + + + + + + + + + + + + application/json;charset=UTF-8 + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/sgis/app/proj/inputForm.jsp b/src/main/webapp/WEB-INF/jsp/sgis/app/proj/inputForm.jsp index f0d883c..8b19728 100644 --- a/src/main/webapp/WEB-INF/jsp/sgis/app/proj/inputForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/sgis/app/proj/inputForm.jsp @@ -216,6 +216,7 @@ function selectComboList(class_name, data, selected_data){ } function go_save(){ + debugger; var upload = $("#fileUpload1").data("kendoUpload"); var upCnt = upload.getFiles().length diff --git a/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/boreholeLog.jsp b/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/boreholeLog.jsp index a8752ea..b6cb3a8 100644 --- a/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/boreholeLog.jsp +++ b/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/boreholeLog.jsp @@ -888,7 +888,7 @@
- 지반주상도 + 시추주상도
diff --git a/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/sichudanNew.jsp b/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/sichudanNew.jsp index d16cb2b..34e8712 100644 --- a/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/sichudanNew.jsp +++ b/src/main/webapp/WEB-INF/jsp/sgis/map/mapInformation/sichudanNew.jsp @@ -186,7 +186,7 @@
  • 이동마우스 왼쪽 드래그, 확대L-Shift + 마우스 왼쪽 드래그
  • 시료를 채취한 부분으로 실내시험 결과를 확인 할 수 있습니다.
  • -
  • 지반주상도 정보를 확인 하실 수 있습니다.
  • +
  • 시추주상도 정보를 확인 하실 수 있습니다.
  • 지반단면도에 대한 XML 데이터를 보실 수 있습니다.
diff --git a/src/main/webapp/WEB-INF/jsp/sgis/map/mapMain.jsp b/src/main/webapp/WEB-INF/jsp/sgis/map/mapMain.jsp index 80f6008..b1afa10 100644 --- a/src/main/webapp/WEB-INF/jsp/sgis/map/mapMain.jsp +++ b/src/main/webapp/WEB-INF/jsp/sgis/map/mapMain.jsp @@ -381,7 +381,7 @@
  • 지반단면도 - 지반주상도 + 시추주상도 + + diff --git a/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createQuestionOption.jsp b/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createQuestionOption.jsp new file mode 100644 index 0000000..3b52bc8 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createQuestionOption.jsp @@ -0,0 +1,428 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> + + + + + + 문항 선택지 생성 (관리자) + + + +
    +

    문항 ID: <%= request.getAttribute("questionId") %>

    +

    이 문항에 대한 선택지들을 생성합니다.

    +
    +
    + +
    +

    기존 선택지 목록

    +
    +

    로딩 중...

    +
    +
    + +
    +

    새 선택지 생성

    +
    + + "> + +
    + + +
    +
    + + +
    + + + +
    + ← 이전 페이지로 돌아가기 +
    + + + + diff --git a/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createSurvey.jsp b/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createSurvey.jsp index cbeaa32..17a3064 100644 --- a/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createSurvey.jsp +++ b/src/main/webapp/WEB-INF/jsp/sgis/surveysystem/createSurvey.jsp @@ -1,6 +1,3 @@ -설문 생성을 위한 관리자용 HTML 파일을 수정해 드릴게요. AJAX 요청 URL이 XXX.do 형식에 맞도록 업데이트했습니다. - -createSurvey.jsp 수정 내용 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> @@ -114,11 +111,16 @@ createSurvey.jsp 수정 내용
    - +
    - +
    @@ -151,13 +153,11 @@ createSurvey.jsp 수정 내용 endDate: document.getElementById('endDate').value ? document.getElementById('endDate').value + ':00' : null // 초까지 포함하도록 포맷팅 }; - // eGovFrame 환경에서 컨텍스트 경로를 동적으로 가져오는 방법 (JSP 파일일 경우) - // HTML 파일에서는 직접 경로를 지정하거나, 웹 서버 설정에 따라 /api/surveys로 직접 접근 가능 + // 컨텍스트 경로를 동적으로 가져오는 방법 (JSP 파일일 경우) const contextPath = "<%= request.getContextPath() %>"; // JSP일 경우에만 작동 // SurveyController의 @RequestMapping("/api/surveys")와 @PostMapping("/createSurvey.do")를 결합 const apiUrl = (typeof contextPath !== 'undefined' && contextPath !== null && contextPath !== '') ? contextPath + '/api/surveys/createSurvey.do' : '/api/surveys/createSurvey.do'; - try { const response = await fetch(apiUrl, { method: 'POST', @@ -173,6 +173,14 @@ createSurvey.jsp 수정 내용 messageDiv.classList.add('success'); messageDiv.style.display = 'block'; this.reset(); // 폼 필드 초기화 + + // 설문 생성 성공 후 createQuestion.jsp로 이동 + // AdminSurveyPageController의 /admin/survey/{surveyId}/createQuestionForm.do 경로로 이동 + const redirectUrl = (typeof contextPath !== 'undefined' && contextPath !== null && contextPath !== '') ? + contextPath + '/admin/survey/' + result.surveyId + '/createQuestionForm.do' : + '/admin/survey/' + result.surveyId + '/createQuestionForm.do'; + window.location.href = redirectUrl; // 페이지 리다이렉트 + } else { // HTTP 상태 코드가 200-299 범위를 벗어난 경우 (실패) const errorText = await response.text(); // 오류 메시지를 텍스트로 가져옴 messageDiv.textContent = '설문 생성 실패: ' + (errorText || '알 수 없는 오류'); diff --git a/src/main/webapp/WEB-INF/jsp/tiles/attribute/adm.top.jsp b/src/main/webapp/WEB-INF/jsp/tiles/attribute/adm.top.jsp index 96a15ed..c85eff1 100644 --- a/src/main/webapp/WEB-INF/jsp/tiles/attribute/adm.top.jsp +++ b/src/main/webapp/WEB-INF/jsp/tiles/attribute/adm.top.jsp @@ -20,6 +20,9 @@ function goUserInfo(){ function goApiInfo(){ location.href = ''; } +function goSurveySystem(){ + location.href = ''; +}
    diff --git a/src/main/webapp/WEB-INF/lib/jackson-datatype-jsr310-2.12.5.jar b/src/main/webapp/WEB-INF/lib/jackson-datatype-jsr310-2.12.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..1a42b3aa7b8970fe552961b7b9ea4ffa05d1588a GIT binary patch literal 120362 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

    cdr>yRH#8|e)R^QMX2+N*I4BGG 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�smE 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 diff --git a/target/classes/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml b/target/classes/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml index f5ce90d..9b3dbb8 100644 --- a/target/classes/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml +++ b/target/classes/egovframework/mapper/sgis/surveysystem/QuestionMapper.xml @@ -21,8 +21,8 @@ question_order, is_required ) VALUES ( - #{questionId, jdbcType=OTHER}, - #{surveyId, jdbcType=OTHER}, + CAST(#{questionId, jdbcType=OTHER} AS uuid), + CAST(#{surveyId, jdbcType=OTHER} AS uuid), #{questionText}, #{questionType}, #{questionOrder}, @@ -30,7 +30,6 @@ ) - - - UPDATE tb_questions SET @@ -65,12 +62,11 @@ question_type = #{questionType}, question_order = #{questionOrder}, is_required = #{isRequired} - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) - DELETE FROM tb_questions - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) \ No newline at end of file diff --git a/target/classes/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml b/target/classes/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml index bd134c1..b8ad464 100644 --- a/target/classes/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml +++ b/target/classes/egovframework/mapper/sgis/surveysystem/QuestionOptionMapper.xml @@ -9,6 +9,7 @@ + INSERT INTO tb_question_options ( option_id, @@ -16,8 +17,8 @@ option_text, option_order ) VALUES ( - #{optionId, jdbcType=OTHER}, - #{questionId, jdbcType=OTHER}, + CAST(#{optionId, jdbcType=OTHER} AS uuid), + CAST(#{questionId, jdbcType=OTHER} AS uuid), #{optionText}, #{optionOrder} ) @@ -30,7 +31,7 @@ option_text, option_order FROM tb_question_options - WHERE question_id = #{questionId, jdbcType=OTHER} + WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) ORDER BY option_order ASC @@ -41,7 +42,7 @@ option_text, option_order FROM tb_question_options - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) @@ -49,11 +50,11 @@ SET option_text = #{optionText}, option_order = #{optionOrder} - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) DELETE FROM tb_question_options - WHERE option_id = #{optionId, jdbcType=OTHER} + WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) - \ No newline at end of file + diff --git a/target/classes/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml b/target/classes/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml index f6e962a..eb1ae21 100644 --- a/target/classes/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml +++ b/target/classes/egovframework/mapper/sgis/surveysystem/SurveyMapper.xml @@ -24,7 +24,8 @@ start_date, end_date ) VALUES ( - #{surveyId, jdbcType=OTHER}, #{surveyTitle}, + CAST(#{surveyId, jdbcType=OTHER} AS uuid), + #{surveyTitle}, #{surveyDescription}, #{createdAt}, #{updatedAt}, @@ -58,7 +59,7 @@ start_date, end_date FROM tb_surveys - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) @@ -70,7 +71,7 @@ is_active = #{isActive}, start_date = #{startDate}, end_date = #{endDate} - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) @@ -78,11 +79,11 @@ SET is_active = #{isActive}, updated_at = NOW() - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) DELETE FROM tb_surveys - WHERE survey_id = #{surveyId, jdbcType=OTHER} + WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) \ No newline at end of file diff --git a/target/classes/sgis/com/util/CryptoUtil.class b/target/classes/sgis/com/util/CryptoUtil.class index 9255e0417ab7eeb645c3701b8414712434792ad1..7e8b434bd7a56e1da97cdc92efa7d57829eac35b 100644 GIT binary patch delta 195 zcmWNKKT85}9L7Jlh;W^8f*pdyb>iaG;&8JXgks>SWQ8T+AEdz>9F)v5F{~d5-V(il z=HM1LUxnby>B}=b%kz0Y%2xJYMc1t0N*|eLL~%%x=3Lq(6YTZ1ktafd7)4IF2>qi| z?b4HB4TCyy8YH+TMN^<#f$k{LqRKrtJkXX5d1OilMVD`S{L*L3fE`ca!SFSAEQSdt k&sZ{acp=M-9IxVhqs%)V3jvpM^}(DK8@~8K1@q(2f1Ye700000 delta 195 zcmWNK&r8Ap9K}Doh_IF{NHIc2lt`y89`*(@NQOEi@aV|)ciYgKu=uLrb>qgy5gQ0@q)t}K0W?;=bt`n25cBcJIz+i4|#CV k`6R`JGrqXQCC`)s-`wy+jTx`ZWy+JpXTdK^g3wKPd(Pn}ga7~l diff --git a/target/classes/sgis/com/util/StringUtil.class b/target/classes/sgis/com/util/StringUtil.class index 47eb6864dea4a173dca79c2d14023e2cf8ebac3d..c44162ace41c618c53ae25309b013d091204e7e0 100644 GIT binary patch delta 1934 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 delta 118 zcmaFD)4;}c>ff$?3=9k=4AL99(ijD~^plHH6H8L{Qt~+%L>U?6Cd)HRumzVEm8Dir zW@g#M$TWEyixwmA?|CI&GuDb64Oq=kTd2_P*AR3jA4 Jz*x*61pr~)6fFP% diff --git a/target/classes/sgis/surveysystem/controller/QuestionController.class b/target/classes/sgis/surveysystem/controller/QuestionController.class index 192bdc9155a57ae0a72379e99f29eb4c710c9183..b5cce64b96a7f6d27ffc237fe52615bcb6e5eb69 100644 GIT binary patch delta 2508 zcmZuyX?Rmb6g`u)eM$Oa+7M`=wP{PiW@{)?5P>2Tmm(CGfFfuOG%8prG-&|=gByx~ zT1Q0@+;;_Amb8HTF76w+gS(>s@V}pU=Djp6;FoVEZ?=2yIrrR|jWv(gIQIR!=S2Xc z@Mo99Zz;-dk2bf(1l-~It+8k#c5YiNo>TB)_%{vlZY(9VPHen>A2TfHEEB@Cvvtk0pA|MV2p)DI*m+hGDq8z#8JI zN*zA<<$9~%9z>OfkbtkFtGr`_M&ovb?G)&rYPqxo8d{}ti@=(03wLP{xyu$piZ(0@Z z7hYV!J*bV#4dPrKQ*oX^xy;uF$Wv_j#SzTXFjL@!h0*qCxGk}uIXrDaJfY(PTqt8U zpY1eReJ`!KE4+1q$ROdjTVjVxBCt*X1q=5Z!=a$1eSO2+giv!oDkhouZov(=}cKqn95CQMe(ApL^9W6!&w&Fw$ z+jhabqNn;A+KpFojj_Yf@N! zFRD1dhU1%4SZ9FSgFA@r7-$W_Pzut(XC!MoHg+SqsgnVMJfDRvbfS{xhlBlv4E-X4 zp2G~y#YkLC=yOQJB?NydcSlLbJcEc)21$_&5fMCK5TRo{9yIb+%N-Aq5-Uf!co>gl z$l>i{EFltY!Fyf|$oh^UR?Zf6)v z>2?_gGU@XVYJGqlo6w}x)Qe)*IlOB_c9EhliJk?J% z-T#BU=Qz>OyOlq{n-iv5s&eq0$pF4AMJ zyVOGjOP)nthH2Zc(t^rut#J$SLVCS_RdD=PUsb$)Tva3^>9SBYZ_2-%E`W)2I*F`K zW-{w|6;0v$G#O)fHH~MnsQUMtZZl!lQtaD9UoBJvN$ zQ|vVLE=^kSo{?NPzuxEg1DZ4MwGZ(T$AdV3fJ}agZ}6@0^&Nh~&-jIF>XrBvzvB-K F{tuVf=7azM delta 2504 zcmZ`)ZFrN_8NSb(q;EdnG-;9+DutAO(IgE)C{$=Elrpv27LkG$M2u@-)ly26)>U9} zQ#Jvova?N5QPfRk^Me8n1^mK&JNMx}b(<4)PRIPSfBWI3yU&|6&863VoHy?|?>WzN z-}iGrCr>QCZ?W^$PtLpupb`HbcZM~&R@++QH(*1N6Q!7;qf8(o$Nh8UZsE2Wn2B=v zU#-?&idhCKFk9AIA~mH58mPo<0nfHXYVAlOnd;v$*fTbiP(i8;RHH_wEK#1SGcXVJ z@~9>32%|wqL?Coy`tXqe7Y!~Q~=j;J_ z-r8(kEHF>D>GSLkG-0WZOJujL-m(nMa?I9fZ^Uu~typnl!WPmTw$b>&NJ5}gzO9#9 z1(tNmwYGqKK@Z3Uc8@EJs|;L@wE|VL#O0Tp?IjiKuwF-xK=DoS(Rgem)jtsH>`$f) zY``^gzddB>#YUO2Z*g4f!e(sIalM@5sIc6CxLodNcYF~E9eo0`fx}MRhOg=Ps({zTI}jh-7F(AZ?jPJ{;C9?0T}CMK zbptx=PQ-Ahfqf_!a2FJ;qtA&0_@<7#1Y!rrW7P)kR+5x)&zd1s(&VbKsp@w08R*5m za@?qM-J>E(1K-AX~brbG0a6g)fuX|0;mP^;H?_TYs#U4-vc~GFfUa4R0Xbx@A zaaf>I9&uO7QTGw?#EBWjH9~95SEuZ%kyKZFXoxhLop>6vbUZWV$bn*ag<1=$N0oZi zDVdHNcoI>8sQiyLC|~p3t~KSuU9vhckVqw_BZhI>zy!_+`0G2T3%!1Q$7-Te#(Lhs z3$)ZBZ?fuTh5wv@r9QMlz&;S)eq&#}W`PqwMo`C31m@DSemPW9>{e@c`XF$RKsA8` zxcYw4>-fEn-^oqBd6qxmk8-c?y!E%r=`6b3?Ju4EXD3hm#lS0AG+qx zoZM8Gj|Y~eikxg50_geEb+>ns|3 z8;)biDYP8pb`2}}tb>EkdRP&Houx1kVc-S?5arELk6CQ~AQqr4&25$0JXnQx&X^Ia z@dY9Y^4O)gj3EVEvV*}~{Hoy!xcOVm)hjtVH$f!PHBF$KAF~8BGjJ$JV9jYo($55FrVvt zIsZlm`%Q9ZaIk<|j#_s^G=p!M{LEq<$9GTR&@mw=zPvwh$G_TzcJ|mr5`9u|e+QVn*VI^SH z6p%{&kmFg7=QxgKFg}^a{O+hKeYf&)p){44%j8)*%r~94ld*=$C`ogt2xEjc8|DAn zPJ$oef8ZET+=?pfDo`hyS0|cNhiK^U6I7ytvC=0gl!b?~@?^DOPsX#%CkkAX$umFo z8Rll+PT77B!>PUv=1eo0C3aTT{B!m9rQy%B^qE@iW5e#}>H#+ET?K{@=9vU@Oal3u zssa-9x-95cyhwnm1-r;nVey1d;iYh70={s=1on<|Ni!{1r2G$*7v%Be^LVI_x}MbK z#D6PjUQJzyx!A8TgsN?8M0Eu(q#qS_1?NAV?uwuN->yijp3mC9iYXY5Nmmkl8;iM$ zS5Z5b@V$v8YvE^{1tyQ-`>J|_y^wSH}y~PPke|ADE}WV C4cQ+6 diff --git a/target/classes/sgis/surveysystem/controller/QuestionOptionController.class b/target/classes/sgis/surveysystem/controller/QuestionOptionController.class index 95c39a22d7b003ed3d52cd7220cbd833e7e426f1..1710e56f8c7bf9ba6a6ee2980f2347bd79759478 100644 GIT binary patch delta 1828 zcmZuxSx{S582(Of$W6ipl0euYEg=L*LW)I7#g-~afkG%!P@sze(n1RaNkD7Gv}&a; zt>SU7OWmz?VNsSkQ_G{iI^&Boj-Bzv7e}9*aYo1g+@uLeAI`n^ob#Xm|CayUpIpDX zjNkuz^%{UG%+DM3nypDw{*lQ5L$-HdBH#}PIwk|5@NjUfeOx>%27}zB88W9UNP^A? zE3#x{GF0*#NtHF@gu)lvK zP-}!8O$zQpGyhI@=I=wBj8=x!jlROLKN(%P zPewNn>hq=h(Zet3>kWN4B;z1M9^Yli)rAxs#u5Iv-mUL~UqL?xc!iN0 z#`Z2>gApD)ER;CO+mk)))Z%pVMdr*~pK)@0kj#ynYQ$5>lQ9!@vY1~_NwJ7Eo2d4T zf-@*#*v{9a41S53X?vz|L%PAhNMJ)cJ7yJ}$BPW~k_w8WkvvK3YSo{0%zMd@btJB;9bV;a}=h*PI?wXre_HqbwZC)s!&D=OOOr+vf#!Yw7W&5 zjgV@!xRa(-0lTo9DrZr69rjQvMtycSB{9&h2K7j$w*cHgBMSJQ1mH&66oAiBr~q6V z1H5+?Eeu!D39RCP1}o@Y#RD2#$G$dqWCeo)wxq(&q`L}II0ZF?Vke5|+fHEPaEZ!I zw51rrFyXM%nd3M?MMvnYkTSY5N-K<-FM&UJ3;dDs%>>R88bP2SM&Lmqvs(aF#a=*o z84t}-a*(EGJQ4$MA)$c11fhvmn_)qV3cOrhFNgy#z@sW~@nf2fs5)B+*<<8|2B#^7 z4y;3_w2Yeh@woa=#L*|(}|Y5bK(3)MEet5#;3SKD@I!R3}0XlIsXAL Cb2^*= delta 1748 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 q;bYA?CuNu~O delta 1955 zcmah}*;`a)9DdIXGlv-t0~|JG5hRuw7$67<#iRlkibY~6QqvJeKnaK$C@ULrDcZ|V zF)OvjR@xTcPu( zzvr(4D8mmE&U%aPfP#1pHrSm=M6!w`vC~o%zXB^2xVrqo=Apr1|NfSqV6Ql1NvTLg zs)jU~Oju0T_yZk-Jp;j>{yureDh(OPRG`TPLEm7o#uxO9kSjAi5m_4UkvS)G8~ZwC z#)%x{smK-G5k)q)g8goBA!3F2!(|h*5j*Vp@Tw>fsWy+b5Jh6MtyQ^KoVI!Gr6^Nz zpZLY*wyr_B_{&xnS&Rw|Yq3t0+i!?1>N;^u{j)L$wHm7Nhyva1soU!t_7x8WdwPrO zdIG`9DAb`rMLoIRp3%^Vt>Q|g$NCtW#m&efM^hBq@PvxTMW!Ro+Kwkhm806R9Z#v) zp&(Vk9<@0Tq`O+j1WY5A=e;LK?-bs|q;QnzgwV;yE zEJX6@K?L$SD}V+sVo`_$#**PiDoU`PD>BXF@c=gPix;5^53(y#x#J;(9_Dch4OGKr z4yG;Gh$y~YjBetH-UcOr&4^>{0J9c(gv2_HEpvEO!8}@kIkZ|Zi*0l8S#S+?bp^BV zORQD{YZ6ILXzjXaB$8 z96$_rsdDKvoJi0|i9rgS9u{~|D(aQ+q^_a%Nes>4xpD3Q^^3y`Vaz%&0^3BxRz{nk zquJ0i--xF#>X}YiUgB=~lL8VV(^2I-gOw6fU}3$#jkAK>S4 zdkDBIL@~P&P08aZdLl(%$z&Qj>6<=o>qjmI4Bll%4NDezmxOtPKC8lUvd!d*6I8&; zJ*EQI1qJ-30%Oa{chXQGBz?A|zLt@Hf&S=j(07{d?Zqps7 zA}3goFm)b}{87VtqvT0#zAK(oV-1gN?BRjH`y7r{ z)*=z^tUie5@mRi7Z1qmgxV+#wAZBWW#;pX4--%8ZTV{50$n0bZ?RCnmW1Uu;Za(dT z_OkZ_8{bS?lh%p}HqfH8ohG1-O}Yu(%q@0`6>sMjcZwD7<`%ofif`i%HP4z~k~bEM z^!69n_)aGam!g|S^mdw&iDpCCRrcy`K8{lqhhK$p?&afjisJCAGS2;c9JeSAPX*)9 z?9%%GO#H;d>oBd{nb^bQtawJomB~`qqhe#Q_iO>jd%i%&+bu1y(pcLd9;8)E!`;kq aLNbHQ59adEZpPf@|C@$g;E8#@r~d%AE8txK literal 1493 zcma)6U2hUm5IvVqp(}-2YN7a1tqO~}FMU$uORG;r6CoshT;K+81B>onn)F|3A~Es7 zAK;HN&fHz0g>AAgcXsd2IdkUBWdHpA^&7x3+Ige|TESQaPB8Z`mMevd9Q`m+iI+MUFfki6Zcs4LxZ@jVN9E^cwc zs?~%4nq!(}Slz-c6a|_#M5<}a_mkV zp&5ZEWL%b-s@nuM2HVdUsM;?UsM)p50vp0AhVeK=Ee)?nh7*%nWFA-;mI LWvAb_8K3ff$?3=9k=3?du3Tp5L}HGHxX%M$fVOEPoxLqk1XtTiXkXVjd0it(;G j0}CSqF9RC`h~{J92kK&C5CD^c3_?Jfje(Itn1KNR_1X|; delta 107 zcmeBYy~fIQ>ff$?3=9k=45AykTp1bFCO((t@h>RJ%+E{Av1Vil1oAmye4B}Rnv8an tyBP23Gcs@jbulsUvM@66F|aW(0BL>(0kD`Lm=t0V2GVQ{j0_?S3;-^86#M`H diff --git a/target/classes/sgis/surveysystem/mapper/SurveyMapper.class b/target/classes/sgis/surveysystem/mapper/SurveyMapper.class index c3a9783fff74e21ccaf1acd6f85d141d9947352c..341248c0d394d54e373a968566f45ce1c68709d0 100644 GIT binary patch delta 123 zcmdnY_J)<~)W2Q(7#J8#7^Ek1eGxX+@X1OnOVlqd$;{CY4fS-f)|?opxVexqkI{#L zg^_`mfsFw~^D*#)X#oa721W)UpaJ4cK!z|7ixe}6BA8+fObp^cX(k2<21y{z29%Ow GU;qG?bP_TE delta 195 zcmaFEx|xmZ)W2Q(7#J8#7-S}LeF;$0@X1OnOVlqd$;{CY4fS-f)76j7#a8&*ccdqG(Up?m=VHA;ZBOEO3SX*QsgGy?+woZT1NQ)4S55@<7g@3?Aqi-g}GnAy5$vx-Jch5QB{qFape71uBw!Zoaz&^ZL;$>a3 zn}c;MDEqqN{%9;1mOCeucx1BG$DNSfgSIIs2V*T92G}o65ld^fvvqx)c0#~7&awtW8y9CYhU(ID z9JXaI(-VsX<-n16Q1baBdQ7q}2D_NRl+tyPgJtW*Gqr98wSY~*@1nfyDixrrR!dN$YY`mOuQw?rVRN*GtDD$+tMfn)5Sy}>3y-#oc5RdQ# VPYE$o#WTF17cJ3~sTRD3;UBv)z=!|< delta 823 zcmYjOTTc^F5dKb)ZFhUxg$4>Xf)HAyE!YP%K`G+piHjjfB33T4K*5%>1-3;{wB7|p zMGsy;eew@TVv0gSNPN;KUrjXe5BT68Fir~ua&pe>eDm$hd^2<9f6A0^|JF7D9KqWa zMK_n6XK)Th^uhLI*hoa;dfQm$Jw4qt$WSR7r4suVqQ&YtE+8cSnu8Uc3cAs2Mh}A{ zs!eKvWFis^><~FFp-d8rQ+{7(0p}2F#F(sCis5Fa*X3PoM zdMM`+=0&abxAy@(eOZ`J`Yb6Fg)XkV@#E>AcEZM6b!sc*TWNM zVwz!u4KrRbctpxtB)(fEyWwt)$48Q5W-Kw3?!e*;U-Wn&qY4~eIN*a5ez;JLQq-WF z@CqEJ6A&}D`P?8e8-&e%Jk(P4sr4Htnlx;9bxfkGxU&}&Byz0FY2 zLaCc^f;{KeuV}342GJT(W+jKaKv*PbeT;R-J~oCXE{L)owdB zXhJr)Tdb1$1459{MPJ>pp$GZsMIkM;m@pUm;6cAo)rKG~al6!6DwWZazg22m(Pa}> z2;8e;loIR6LtMJ=UBuGLL9_+ QiPu=hehcld5N{y=2Uho@MgRZ+ diff --git a/target/classes/sgis/surveysystem/service/QuestionService.class b/target/classes/sgis/surveysystem/service/QuestionService.class index 8fcf46e66babf3efa8142bf61ba727d56efab008..2325a2dc4591b28a45ce7581badb6e2acfe9bbb2 100644 GIT binary patch delta 834 zcmY+BSxi$=5Qe{7r0u=EP!>^XR6t0CmV#@7LZY~!n5dvcgG8m!0+m{XQd~e#ao_d0 zuehRbl9+;+sENi06JLEZ@x^C-^vO7_Bxr8VnL9K8%s>B`XL%p;(mwqje*-LH*oH-; zNOdL`jVx)fRc+HqYYB$^wb4MNJJ=CkvA^1HuoIt+MvaVJz8+s`v^y9o-MA;7_JvHE zXx1<~S~f&OAzxD{pi!u18LrI#VC5zOTGSU?g(J}~XtIlTwb;HjHEdGPHV4btV-ixg z>|SfPNhe+EvprzlXA)(p{S3x2N7WDACC+h^ z6P#4(M!7hrP0nyu)fojzeGIBz!*5kwwQ)s#H|8c?zG;`$Pe*py6s_d|k$V@VoB@SNJVQ3|XHs(mKfS{;sS1xC5h3spBZ@uuv zHKqUMn@|?9Fe1T!rSu5FUeeg7hMhUnqxAgKATHJE9%Zlk>U3$D>X)-R;1epK)lEBkmZ-Vw@V~+@ut10#}oGtoTqo}0-MAdGS5Y^o8?@RV+#6) bJo7E?a-SiIWC-E`k9b11ojiGgr|5qGueqdG delta 896 zcmZ9K*-sNu6vltkLZ_XMr4XP>B8q}AQz~NAppdw)5e$-O&_u1YU=fP81w}+~-`DFd zA}$X;;#OP|W1>&~5$cowgD=KIAxg~T-jlO@=R4m$^QGi@iT~^G_aA{pJkxP#Sn6Q5 z^;S{ zryAVbefv$C+2Lh5ohC8$${lhYG>Oxte!8QsZj%H(s?oDaJEDd>WyMD|0`1|Ra8*Y* z-d5F=O2p!AtGZ(yk!ZrrG4jt2`9n>>OPQb`dZ zikZ(`s;FRrL@kL_Q^P{lKW!v?xgb`kIlg5BO*rI(fc=`f;5&9Y2)<`8q-ps?!KkDh ztdZM?Q|@{U8ib;rwc-^{Kv~Cn@uUf*Y!EFPF{#t=O6;@L=wcV!!8GmL-;ytOc4ZnX zlqRIU`2s6D9AuLJ$mVCDyKu2bCJi%9Cd#FS0{H`qh%$>-=18uTHc=Q;OL7_qWaX2T z^+GwWDR+W$QrQ6qFC;isO-cy5@zXO!P3~VcxqsCpNKR=z{th|z7%4mWhB~|Q4W=~q zO?GxkCFH4mzcnBWoy66UorzEXKyUL0`kM3l#~85FoJezKj0^vyPv9Fe6OD_=;$mj% rOKcTu2+L)$O>(ZtF{SG**~}g8GsHuQvi8#7i_N)dv$QY0@&o9B^ReFJ z7H_SBqX^r!T6@!asn)h22%?Gc*`$ey&nCY3;FF1efa#h`g3;`pefB>E`7|XsNF+MVeaeNk%`B{ zk+`j>uW#)M_l6te;Y4@i&Pb2lnbu2;h0eXi^;%=Crze-c&tg9ZCN3L>^7dMMNr#86 z9I{C1v62nTzP9M+u)-I$!=33^Z#Zoi^m9>1Esk+q``w3J-&vgClpb|&Q)l#ZckQCH zii%nFUFl>j(Y-Mfi%0Eb3B!7^Srg1MlFJ%Zl)p<_hz$kWOtM_C_?{nh%nX%exoB~T zpY$DbxpRmS{mhKGuJDJ!RUPuwIj?bD+nyJJ-xdD)zz5btK5m*QZd;sYu++sZov;E6 z?kKF5M8ZyPiicAvJ7qAYsMX`13O(%cx(x0r7Uj3EtxK!wa8i$(0P_e^MgtYBpqh_Z z&Pq9HlvR_AI+|If_pMP$e z^T8?f6hBULdA5_Td|YeZOb&7mKg;ak7k10rl+~~DZkOjbc`S*(A$I=cFaG8q`7&Q3 R{*@+8P+20siHAwt{{v4i&mI5( delta 1025 zcmZ9KSx*yD6vuzl>Xc5$vWZBeVgLbK5j4iQ2bIJ?+!BpSVgf~qR%@wjf(zh^xS)95 z_kG_G1c5|-@j(+4<0tUd#Q5L`FrF?#VuP=miV=nX71sbQ0kwoCL#4HVX3~yWH-$!$)2w7H)*9!71*2gLniGU zR!{9^V~%M|Rj16URvX9FBx90xQq4Cq6FTV%*PK?BhHHE$-6m&I8oDe+I3Z7W~AOT(0FKagrkW% z4>WS})mMA=#3UYTn5Ds>uWot3TVL<1xA9zKn(B5;6KOBiFSB=6E>`lelg~J&lZ=~m zJWOT=ITT2Cro=*u$Yr*~#mrLQ#+}p_sS0ON?K&*-K)Sn+63-xB3!WjiK|lTvI9|yw z3o9i$g#=15C}V=Gt7JDJdX&|yk)43xqE?J(gxDp~F1hbglOSuc+tW{-(h_HvHdu&k zM#1Nba@dScr5y6gu1b7tA&qK*^pPn;&ta=L+a_Kr#f_f@1k}F7jLa~hz%zxl5jn+V z$yZoxG4p6reTms^GV7R}RZY@7LwQ#=QMf5Y4V8Ey&@;- zbc2wFpOc zJ<^HPI4mQI)h4P8#tNC1WQ6Zn3~Zj{!p)mFOh@@Jo#iPf1~}#J=S)B62DmgjpeS@% z1Ul?-43{NZxWc9gwuP&*mdkrhUQ#q}}$v$?3HE diff --git a/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.properties b/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.properties index e945115..a70f38a 100644 --- a/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.properties +++ b/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.properties @@ -1,5 +1,5 @@ #Generated by Maven Integration for Eclipse -#Sun Jul 06 01:28:23 KST 2025 +#Fri Jul 11 19:00:12 KST 2025 version=1.0.0 groupId=smart_ground m2e.projectName=sgis diff --git a/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.xml b/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.xml index 588afd9..0a2441e 100644 --- a/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.xml +++ b/target/m2e-wtp/web-resources/META-INF/maven/smart_ground/sgis/pom.xml @@ -25,36 +25,26 @@ - - mvn2 - http://repo1.maven.org/maven2/ - - true - - - true - - - - egovframe - http://www.egovframe.go.kr/maven/ - - true - - - false - - - - egovframe2 - http://maven.egovframe.kr:8080/maven/ - - true - - - false - - + + mvn2s + https://repo1.maven.org/maven2/ + + true + + + true + + + + egovframe + https://maven.egovframe.go.kr/maven/ + + true + + + false + + osgeo OSGeo Release Repository @@ -299,22 +289,22 @@ com.fasterxml.jackson.core jackson-core - 2.12.5 + 2.12.4 com.fasterxml.jackson.core jackson-databind - 2.12.5 - - - com.fasterxml.jackson.datatype - jackson-datatype-jsr310 - 2.12.5 + 2.12.4 com.fasterxml.jackson.core jackson-annotations - 2.12.5 + 2.12.4 + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + 2.12.4 com.googlecode.json-simple @@ -480,7 +470,7 @@ install ${basedir}/target - sht_webapp + smart_ground