feat: 스마트지반정보관리 입력 시스템 안정화

master
thkim 2025-12-03 19:49:11 +09:00
parent 4a2d51a2dd
commit c6eaab7a55
300 changed files with 931 additions and 881 deletions

View File

@ -1,10 +1,2 @@
src\main\webapp\WEB-INF\jsp\sgis\surveysystem\createSurvey.jsp src\main\resources\egovframework\mapper\sgis\app\AppMainMapper.xml
src\main\webapp\WEB-INF\jsp\tiles\attribute\adm.top.jsp src\main\webapp\WEB-INF\jsp\sgis\popup\cordinateSaupMap.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
src\main\webapp\WEB-INF\jsp\tiles\attribute\portal.top.jsp
src\main\webapp\WEB-INF\jsp\sgis\portal\portalMain.jsp
src\main\webapp\com\img\common\main\temp_dummy_main.png

72
pom.xml
View File

@ -52,6 +52,12 @@
<snapshots><enabled>false</enabled></snapshots> <snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases> <releases><enabled>true</enabled></releases>
</repository> </repository>
<!-- Adding GeoSolutions repository to find missing dependencies -->
<repository>
<id>geosolutions</id>
<name>geosolutions repository</name>
<url>https://maven.geosolutions.it/</url>
</repository>
<repository> <repository>
<id>osgeo-snapshot</id> <id>osgeo-snapshot</id>
<name>OSGeo Snapshot Repository</name> <name>OSGeo Snapshot Repository</name>
@ -204,7 +210,8 @@
<groupId>com.tmax.tibero</groupId> <groupId>com.tmax.tibero</groupId>
<artifactId>tibero-jdbc</artifactId> <artifactId>tibero-jdbc</artifactId>
<version>3.0</version> <version>3.0</version>
</dependency> --> </dependency>
-->
<!-- cubrid driver --> <!-- cubrid driver -->
<!-- <!--
@ -348,11 +355,6 @@
<artifactId>junit</artifactId> <artifactId>junit</artifactId>
<version>4.13.2</version> <version>4.13.2</version>
<scope>test</scope> <scope>test</scope>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>${geotools.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.geotools</groupId> <groupId>org.geotools</groupId>
@ -370,6 +372,38 @@
<version>${geotools.version}</version> <version>${geotools.version}</version>
</dependency> </dependency>
<!-- Adding missing it.geosolutions.jaiext.* dependencies -->
<dependency>
<groupId>it.geosolutions.jaiext.lookup</groupId>
<artifactId>jt-lookup</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.bandcombine</groupId>
<artifactId>jt-bandcombine</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.format</groupId>
<artifactId>jt-format</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.utilities</groupId>
<artifactId>jt-utilities</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.shadedrelief</groupId>
<artifactId>jt-shadedrelief</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.imagefunction</groupId>
<artifactId>jt-imagefunction</artifactId>
<version>1.1.24</version>
</dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
@ -465,6 +499,32 @@
<artifactId>jython-standalone</artifactId> <artifactId>jython-standalone</artifactId>
<version>2.7.1</version> <version>2.7.1</version>
</dependency> </dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>${geotools.version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-shapefile-28-SNAPSHOT.jar</systemPath>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-main</artifactId>
<version>${geotools.version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-main-28-SNAPSHOT.jar</systemPath>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -5,7 +5,7 @@ import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper; import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("admMainMapper") @Mapper("AdmMainMapper")
public interface AdmMainMapper { public interface AdmMainMapper {
List<?> selectUserList(HashMap<String,Object> params) throws Exception; List<?> selectUserList(HashMap<String,Object> params) throws Exception;

View File

@ -13,11 +13,11 @@ import sgis.adm.service.AdmMainService;
public class AdmMainServiceImpl implements AdmMainService { public class AdmMainServiceImpl implements AdmMainService {
@Autowired @Autowired
private AdmMainMapper AdmMainMapper; private AdmMainMapper admMainMapper;
@Override @Override
public List<?> selectUserList(HashMap<String,Object> params) throws Exception { public List<?> selectUserList(HashMap<String,Object> params) throws Exception {
return AdmMainMapper.selectUserList(params); return admMainMapper.selectUserList(params);
} }
} }

View File

@ -175,7 +175,7 @@ public class AppMainController extends BaseController {
//프로젝트 생성 (직접입력 저장) //프로젝트 생성 (직접입력 저장)
@RequestMapping(value = "/app/proj/insertProjectInfo.do") @RequestMapping(value = "/app/proj/insertProjectInfo.do")
@ResponseBody @ResponseBody
public String insertProjectInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject insertProjectInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
@ -245,7 +245,10 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}";
JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//프로젝트 상세조회 //프로젝트 상세조회
@ -272,7 +275,7 @@ public class AppMainController extends BaseController {
//프로젝트 지역파일 삭제 (직접입력 저장) //프로젝트 지역파일 삭제 (직접입력 저장)
@RequestMapping(value = "/app/proj/deleteProjectInfoFile.do") @RequestMapping(value = "/app/proj/deleteProjectInfoFile.do")
@ResponseBody @ResponseBody
public String deleteProjectInfoFile(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject deleteProjectInfoFile(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
@ -300,13 +303,15 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//프로젝트 삭제 //프로젝트 삭제
@RequestMapping(value = "/app/proj/deleteProj.do") @RequestMapping(value = "/app/proj/deleteProj.do")
@ResponseBody @ResponseBody
public String deleteProj(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject deleteProj(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
@ -328,15 +333,18 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//지역 검증 //지역 검증
@RequestMapping(value="/app/proj/areaValidation.do") @RequestMapping(value="/app/proj/areaValidation.do")
@ResponseBody @ResponseBody
public String areaValidation(@RequestParam HashMap<String,Object> dataParam, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ public JSONObject areaValidation(@RequestParam HashMap<String,Object> dataParam, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
ShapefileReader r = null; ShapefileReader r = null;
String retStr = ""; String retStr = "";
String message = "";
try { try {
//shapefileLoader //shapefileLoader
@ -356,6 +364,7 @@ public class AppMainController extends BaseController {
if (!decompressZip.unZip(filePath, zipFile, filePath, type, projectCode)) { if (!decompressZip.unZip(filePath, zipFile, filePath, type, projectCode)) {
System.out.println("압축 해제 실패"); System.out.println("압축 해제 실패");
message += "압축 해제 실패" + "\n";
} }
ShpFiles shpFile = new ShpFiles(shpFilePath+projectCode+".shp"); ShpFiles shpFile = new ShpFiles(shpFilePath+projectCode+".shp");
@ -380,8 +389,10 @@ public class AppMainController extends BaseController {
} catch (Exception e) { System.out.println("ERROR:"+e); } catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail"; retStr = "fail";
} }
JSONObject json = new JSONObject();
return "{\"result\":\""+retStr+"\"}"; json.put("result", retStr);
json.put("message", retStr);
return json;
}; };
//사업 생성 (직접입력) //사업 생성 (직접입력)
@ -410,7 +421,7 @@ public class AppMainController extends BaseController {
//사업 생성 저장 //사업 생성 저장
@RequestMapping(value = "/app/saup/insertSaupInfo.do") @RequestMapping(value = "/app/saup/insertSaupInfo.do")
@ResponseBody @ResponseBody
public String insertSaupInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception{ public JSONObject insertSaupInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
@ -502,7 +513,10 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}";
JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//사업목록 검색 //사업목록 검색
@ -575,7 +589,7 @@ public class AppMainController extends BaseController {
//사업 지역파일 삭제 (직접입력 저장) //사업 지역파일 삭제 (직접입력 저장)
@RequestMapping(value = "/app/saup/deleteSaupInfoFile.do") @RequestMapping(value = "/app/saup/deleteSaupInfoFile.do")
@ResponseBody @ResponseBody
public String deleteSaupInfoFile(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject deleteSaupInfoFile(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
@ -602,25 +616,29 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}";
JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//사업지역 검증 //사업지역 검증
@RequestMapping(value="/app/saup/areaValidation.do") @RequestMapping(value="/app/saup/areaValidation.do")
@ResponseBody @ResponseBody
public String saupAreaValidation(@RequestParam HashMap<String,Object> dataParam, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ public JSONObject saupAreaValidation(@RequestParam HashMap<String,Object> dataParam, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
String retStr = ""; String retStr = "";
try { try {
AppMainService.updateSaupArea(dataParam); AppMainService.updateSaupArea(dataParam);
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e); } catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
}; };
//사업 시추공정보(직접입력) //사업 시추공정보(직접입력)
@ -695,7 +713,7 @@ public class AppMainController extends BaseController {
//시추공정보 저장 //시추공정보 저장
@RequestMapping(value = "/app/saup/insertHoleInfo.do") @RequestMapping(value = "/app/saup/insertHoleInfo.do")
@ResponseBody @ResponseBody
public String insertHoleInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject insertHoleInfo(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
ComCodeVO codeVO = new ComCodeVO(); ComCodeVO codeVO = new ComCodeVO();
@ -812,7 +830,10 @@ public class AppMainController extends BaseController {
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}";
JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//사업 지형지질정보(직접입력) //사업 지형지질정보(직접입력)
@ -1018,7 +1039,7 @@ public class AppMainController extends BaseController {
//지층정보 저장 //지층정보 저장
@RequestMapping(value="/app/saup/insertLayerInfo.do", method=RequestMethod.POST) @RequestMapping(value="/app/saup/insertLayerInfo.do", method=RequestMethod.POST)
public @ResponseBody String insertLayerInfo(@RequestParam String CustomerInformationList, @RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ public @ResponseBody JSONObject insertLayerInfo(@RequestParam String CustomerInformationList, @RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
String retStr = ""; String retStr = "";
@ -1072,7 +1093,9 @@ public class AppMainController extends BaseController {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
}; };
@ -1111,7 +1134,7 @@ public class AppMainController extends BaseController {
//기본물성시험정보 저장 //기본물성시험정보 저장
@RequestMapping(value="/app/saup/insertSampleInfo.do", method=RequestMethod.POST) @RequestMapping(value="/app/saup/insertSampleInfo.do", method=RequestMethod.POST)
@ResponseBody @ResponseBody
public String insertSampleInfo(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ public JSONObject insertSampleInfo(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
String retStr = ""; String retStr = "";
@ -1199,13 +1222,15 @@ public class AppMainController extends BaseController {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
}; };
// 부정보 입력 전 주정보 저장여부 // 부정보 입력 전 주정보 저장여부
@RequestMapping(value="/app/com/confirmInfo.do", method=RequestMethod.POST) @RequestMapping(value="/app/com/confirmInfo.do", method=RequestMethod.POST)
@ResponseBody @ResponseBody
public String confirmInfo(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{ public JSONObject confirmInfo(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
String retStr = ""; String retStr = "";
boolean testInfoYn = false; boolean testInfoYn = false;
@ -1232,20 +1257,25 @@ public class AppMainController extends BaseController {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}"; JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
}; };
//엑셀업로드 내용 체크 //엑셀업로드 내용 체크
@RequestMapping(value="/app/saup/excelValidation.do") @RequestMapping(value="/app/saup/excelValidation.do")
@ResponseBody @ResponseBody
public String excelValidation(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{ public JSONObject excelValidation(@RequestParam HashMap<String,Object> params, HttpServletRequest request, ModelMap model) throws Exception{
String retStr = ""; String retStr = "";
try { try {
retStr = "success"; retStr = "success";
}catch(Exception e) { }catch(Exception e) {
retStr = "fail"; retStr = "fail";
} }
return "{\"result\":\""+retStr+"\"}";
JSONObject json = new JSONObject();
json.put("result", retStr);
return json;
} }
//사업 시험항목정보(직접입력) //사업 시험항목정보(직접입력)

View File

@ -193,6 +193,16 @@ public class BaseController {
String uri = request.getRequestURI(); String uri = request.getRequestURI();
String businessProcessCode = ""; String businessProcessCode = "";
String businessCode = null;
if( params.get("businessCode") != null ) {
businessCode = String.valueOf(params.get("businessCode"));
if( businessCode.trim().isEmpty() ) {
businessCode = null;
}
}
model.put("selectedUrl", uri); model.put("selectedUrl", uri);
if(!"new".equals(params.get("mode"))) { if(!"new".equals(params.get("mode"))) {
if(uri.contains("proj")) { if(uri.contains("proj")) {
@ -200,16 +210,19 @@ public class BaseController {
model.put("projectCode", params.get("projectCode")); model.put("projectCode", params.get("projectCode"));
}else { }else {
model.put("submenuGbn", "saup"); model.put("submenuGbn", "saup");
EgovMap saupDetailInfo = null;
EgovMap saupDetailInfo = AppMainService.selectAppSaupDetail(params); if( businessCode != null ) {
saupDetailInfo = AppMainService.selectAppSaupDetail(params);
businessProcessCode = (String) saupDetailInfo.get("businessProcessCode"); businessProcessCode = (String) saupDetailInfo.get("businessProcessCode");
businessProcessCode = StringUtil.nullToBlank(businessProcessCode); businessProcessCode = StringUtil.nullToBlank(businessProcessCode);
//시공정보 //시공정보
if(!businessProcessCode.isEmpty() && "2".equals((businessProcessCode).substring(0, 1)) ) { if(!businessProcessCode.isEmpty() && "2".equals((businessProcessCode).substring(0, 1)) ) {
EgovMap constItemsInfo = AppMainService.selectConstItemsInfo(params); EgovMap constItemsInfo = AppMainService.selectConstItemsInfo(params);
model.put("constItemsInfo", constItemsInfo); model.put("constItemsInfo", constItemsInfo);
} }
}
//TODO : 폴더 class에 필수값 데이터가있으면 check 붙이기 //TODO : 폴더 class에 필수값 데이터가있으면 check 붙이기
//시추공정보 //시추공정보

View File

@ -1,81 +1,82 @@
package sgis.com.web; package sgis.com.web;
import java.io.BufferedInputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream; // Apache Commons Compress 라이브러리 임포트
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
/** /**
* @FileName : DecompressZip.java * @FileName : DecompressZip.java
* @Date : 2022. 5. 18. * @Date : 2022. 5. 18.
* @Creator : ICTWAY KIM YOON SU * @Creator : ICTWAY KIM YOON SU
* @Discription : * @Discription : Apache Commons Compress ( )
*/ */
public class DecompressZip { public class DecompressZip {
/** /**
* == GOGO ==! *
* @param zipPath
* @param zipFileName
* @param zipUnzipPath
* @return * @return
* @throws Exception
*/ */
public boolean unZip(String zipPath, String zipFileName, String zipUnzipPath, String type , String projectCode) throws Exception { public boolean unZip(String zipPath, String zipFileName, String zipUnzipPath, String type , String projectCode) throws Exception {
System.out.println(" unZip() - zipPath : "+zipPath); //압축 파일 위치 System.out.println(" unZip() - zipPath : "+zipPath);
System.out.println(" unZip() - zipFileName : "+zipFileName); //압축파일 이름 System.out.println(" unZip() - zipFileName : "+zipFileName);
System.out.println(" unZip() - zipUnzipPath : "+zipUnzipPath); //압축이 해제될 위치 System.out.println(" unZip() - zipUnzipPath : "+zipUnzipPath);
//파일 압축 해제 성공 여부
boolean isChk = false; boolean isChk = false;
//압축 해재할 파일의 type(.zip or .tar) 제거 //압축 해제할 폴더 경로 설정
zipUnzipPath = zipUnzipPath + zipFileName.replace(type, ""); zipUnzipPath = zipUnzipPath + zipFileName.replace(type, "");
//zip 파일
File zipFile = new File(zipPath + zipFileName); File zipFile = new File(zipPath + zipFileName);
FileInputStream fis = null; FileInputStream fis = null;
ZipInputStream zis = null; ZipArchiveInputStream zis = null;
ZipEntry zipentry = null;
try { try {
// 폴더 생성
//zipFileName을 통해서 폴더 생성
if (makeFolder(zipUnzipPath)) { if (makeFolder(zipUnzipPath)) {
System.out.println(" --- 폴더 생성 프로세스 완료 "); System.out.println(" --- 폴더 생성 프로세스 완료 ");
} }
fis = new FileInputStream(zipFile); //파일 스트림 fis = new FileInputStream(zipFile);
zis = new ZipInputStream(fis, Charset.forName("EUC-KR")); //Zip 파일 스트림
//압축되어 있는 ZIP 파일의 목록 조회 // ZipArchiveInputStream 생성
while ((zipentry = zis.getNextEntry()) != null) { // 파라미터: (InputStream, 인코딩, useUnicodeExtraFields, allowStoredEntriesWithDataDescriptor)
// allowStoredEntriesWithDataDescriptor = true : 첫 번째 발생했던 에러(invalid entry size)를 해결하는 핵심 옵션입니다.
zis = new ZipArchiveInputStream(new BufferedInputStream(fis), "EUC-KR", true, true);
ZipArchiveEntry zipentry = null;
// 스트림 방식으로 압축 파일 순차 조회 (CEN 헤더 오류 회피)
while ((zipentry = zis.getNextZipEntry()) != null) {
String fileName = zipentry.getName(); String fileName = zipentry.getName();
String ext = fileName.substring(fileName.lastIndexOf(".") + 1);
// 파일명 및 확장자 처리
String ext = "";
if(fileName.lastIndexOf(".") != -1) {
ext = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName = projectCode + "." + ext; fileName = projectCode + "." + ext;
} else {
fileName = projectCode;
}
System.out.println("filename(zipentry.getName()) => " + fileName); System.out.println("filename(zipentry.getName()) => " + fileName);
File file = new File(zipUnzipPath, fileName); File file = new File(zipUnzipPath, fileName);
//entry가 디렉토리인지 파일인지 검색
if (zipentry.isDirectory()) { if (zipentry.isDirectory()) {
//entry가 디렉토리일 경우 폴더 생성
System.out.println(" --- zipentry가 디렉토리입니다."); System.out.println(" --- zipentry가 디렉토리입니다.");
file.mkdirs(); file.mkdirs();
} else { } else {
//entry가 파일일 경우 파일 생성
System.out.println(" --- zipentry가 파일입니다."); System.out.println(" --- zipentry가 파일입니다.");
try { try {
createFile(file, zis); createFile(file, zis);
} catch (Throwable e) { } catch (Throwable e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -85,103 +86,61 @@ public class DecompressZip {
isChk = true; isChk = true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
isChk = false; isChk = false;
} finally { } finally {
if (zis != null) { if (zis != null) {
try { try {
zis.close(); zis.close();
} catch (IOException e) { } catch (IOException e) {
throw e; // ignore
} }
} }
if (fis != null) { if (fis != null) {
try { try {
fis.close(); fis.close();
} catch (IOException e) { } catch (IOException e) {
throw e; // ignore
} }
} }
} }
return isChk; return isChk;
} }
/**
*
* @param folder
* @return
* @throws Exception
*/
private boolean makeFolder(String folder) throws Exception { private boolean makeFolder(String folder) throws Exception {
System.out.println(" makeFolder() - folder : "+folder); if (folder == null || folder.length() == 0) return false;
boolean result = false;
if (folder.length() < 0) {
result = false;
}
File file = new File(folder); File file = new File(folder);
//해당 디렉토리가 없을경우 디렉토리 생성
try {
//디렉토리 폴더 경로 체크
if (!file.exists()) { if (!file.exists()) {
file.mkdirs(); //폴더 생성 file.mkdirs();
System.out.println(" makeFolder() --------- 폴더 생성 완료 ---------");
} else { } else {
System.out.println(" makeFolder() --------- 이미 폴더가 존재함 ---------"); // 필요 시 기존 폴더 삭제 로직 추가 (재귀 삭제 필요)
file.delete(); //폴더 삭제 // 여기서는 기존 로직 유지
System.out.println(" makeFolder() --------- 기존 폴더를 삭제함 ---------"); file.delete();
file.mkdirs(); //폴더 생성 file.mkdirs();
System.out.println(" makeFolder() --------- 폴더 생성 완료 ---------");
} }
result = true; return true;
} catch (Exception e) {
throw e;
} }
return result; // ZipArchiveInputStream을 그대로 받아서 처리
} private void createFile(File file, ZipArchiveInputStream zis) throws Exception {
/**
*
* @param file
* @param zis
* @throws Exception
*/
private void createFile(File file, ZipInputStream zis) throws Exception {
System.out.println(" createFile() - file : "+file);
//디렉토리 확인
File parentDir = new File(file.getParent()); File parentDir = new File(file.getParent());
//디렉토리 폴더 경로 체크
if (!parentDir.exists()) { if (!parentDir.exists()) {
parentDir.mkdirs(); parentDir.mkdirs();
} }
FileOutputStream fos = null; //출력 스트림 FileOutputStream fos = null;
//파일 스트림 선언
try { try {
fos = new FileOutputStream(file); fos = new FileOutputStream(file);
byte[] buffer = new byte[256]; byte[] buffer = new byte[2048];
int size = 0; int size = 0;
//zip스트림으로부터 byte뽑아내기 // ZipArchiveInputStream은 ZipInputStream처럼 read()로 현재 엔트리의 데이터를 읽습니다.
while ((size = zis.read(buffer)) > 0) { while ((size = zis.read(buffer)) > 0) {
fos.write(buffer, 0, size); //스트림 작성 fos.write(buffer, 0, size);
} }
} catch (Exception e) { } catch (Exception e) {
throw e; throw e;
} finally { } finally {
if (fos != null) { if (fos != null) {
try { try {
@ -193,4 +152,3 @@ public class DecompressZip {
} }
} }
} }

View File

@ -103,10 +103,10 @@
A.PROJECT_CODE A.PROJECT_CODE
, A.PROJECT_NAME , A.PROJECT_NAME
, A.PROJECT_DESC , A.PROJECT_DESC
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val ) as PROJECT_HARBOR_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val LIMIT 1 ) as PROJECT_HARBOR_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val ) as PROJECT_ORDERING_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val LIMIT 1 ) as PROJECT_ORDERING_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val ) as PROJECT_AFFILIATED_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val LIMIT 1 ) as PROJECT_AFFILIATED_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val ) as PROJECT_EPSG_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val LIMIT 1 ) as PROJECT_EPSG_NAME
, TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE , TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE
, TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE , TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE
, (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.PROJECT_INPUT_ID) AS USER_NM , (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.PROJECT_INPUT_ID) AS USER_NM
@ -141,7 +141,6 @@
</if> </if>
<![CDATA[ <![CDATA[
ORDER BY A.PROJECT_CODE desc ORDER BY A.PROJECT_CODE desc
LIMIT 1
]]> ]]>
</select> </select>
@ -265,10 +264,10 @@
A.PROJECT_CODE A.PROJECT_CODE
, A.PROJECT_NAME , A.PROJECT_NAME
, A.PROJECT_DESC , A.PROJECT_DESC
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val ) as PROJECT_HARBOR_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val LIMIT 1) as PROJECT_HARBOR_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val ) as PROJECT_ORDERING_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val LIMIT 1) as PROJECT_ORDERING_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val ) as PROJECT_AFFILIATED_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val LIMIT 1) as PROJECT_AFFILIATED_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val ) as PROJECT_EPSG_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val LIMIT 1) as PROJECT_EPSG_NAME
, A.PROJECT_HARBOR_CODE , A.PROJECT_HARBOR_CODE
, A.PROJECT_ORDERING_CODE , A.PROJECT_ORDERING_CODE
, A.PROJECT_AFFILIATED_CODE , A.PROJECT_AFFILIATED_CODE
@ -276,13 +275,13 @@
, A.PROJECT_AREA_FILE , A.PROJECT_AREA_FILE
, TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE , TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE
, TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE , TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE
, (select user_nm from comtb_user01 B where B.user_id = A.project_input_id) as USER_NM , (select user_nm from comtb_user01 B where B.user_id = A.project_input_id LIMIT 1) as USER_NM
, A.PROJECT_AREA_FILE , A.PROJECT_AREA_FILE
, A.PROJECT_AREA_YN , A.PROJECT_AREA_YN
, ST_ASTEXT(ST_TRANSFORM(ST_SetSRID(A.PROJECT_AREA_GEOM, A.PROJECT_EPSG_CODE :: INTEGER),4326)) as PROJECT_AREA_GEOM , ST_ASTEXT(ST_TRANSFORM(ST_SetSRID(A.PROJECT_AREA_GEOM, A.PROJECT_EPSG_CODE :: INTEGER),4326)) as PROJECT_AREA_GEOM
, (select file_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file) as file_nm , (select file_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file LIMIT 1) as file_nm
, (select file_strg_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file) as file_strg_nm , (select file_strg_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file LIMIT 1) as file_strg_nm
, (select count(*) from APPTB_SAUP01 C where A.project_code = C.project_code) as saup_cnt , (select count(*) from APPTB_SAUP01 C where A.project_code = C.project_code LIMIT 1) as saup_cnt
FROM APPTB_PROJ01 A FROM APPTB_PROJ01 A
WHERE 1=1 WHERE 1=1
]]> ]]>
@ -579,11 +578,11 @@
SELECT SELECT
A.PROJECT_CODE A.PROJECT_CODE
, B.PROJECT_NAME , B.PROJECT_NAME
, (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val ) as PROJECT_HARBOR_NAME , (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val LIMIT 1) as PROJECT_HARBOR_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.BUSINESS_NAME , A.BUSINESS_NAME
, (select code_txt from comtb_code02 where cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = code_val ) as BUSINESS_PROCESS_NAME , (select code_txt from comtb_code02 where cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = code_val LIMIT 1) as BUSINESS_PROCESS_NAME
, (select user_nm from comtb_user01 where user_id = A.business_input_id) as INPUT_NAME , (select user_nm from comtb_user01 where user_id = A.business_input_id LIMIT 1) as INPUT_NAME
, to_char(A.SYS_REG_DT::DATE, 'yyyy-mm-dd') as INPUT_DATE , to_char(A.SYS_REG_DT::DATE, 'yyyy-mm-dd') as INPUT_DATE
FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE
WHERE 1=1 WHERE 1=1
@ -619,19 +618,19 @@
SELECT SELECT
A.PROJECT_CODE A.PROJECT_CODE
, B.PROJECT_NAME , B.PROJECT_NAME
, (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val ) as PROJECT_HARBOR_NAME , (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val LIMIT 1) as PROJECT_HARBOR_NAME
, A.BUSINESS_NAME , A.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.BUSINESS_PROCESS_CODE , A.BUSINESS_PROCESS_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = C.code_val ) as BUSINESS_PROCESS_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = C.code_val LIMIT 1) as BUSINESS_PROCESS_NAME
, A.BUSINESS_CLASS_CODE , A.BUSINESS_CLASS_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_code' AND A.BUSINESS_CLASS_CODE = C.code_val ) as BUSINESS_CLASS_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_code' AND A.BUSINESS_CLASS_CODE = C.code_val LIMIT 1) as BUSINESS_CLASS_NAME
, A.BUSINESS_CLASS_DETAIL_CODE , A.BUSINESS_CLASS_DETAIL_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_detail_code' AND A.BUSINESS_CLASS_DETAIL_CODE = C.code_val ) as BUSINESS_CLASS_DETAIL_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_detail_code' AND A.BUSINESS_CLASS_DETAIL_CODE = C.code_val LIMIT 1) as BUSINESS_CLASS_DETAIL_NAME
, A.BUSINESS_FACILITIES_FORM_CODE , A.BUSINESS_FACILITIES_FORM_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_facilities_form_code' AND A.BUSINESS_FACILITIES_FORM_CODE = C.code_val ) as BUSINESS_FACILITIES_FORM_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_facilities_form_code' AND A.BUSINESS_FACILITIES_FORM_CODE = C.code_val LIMIT 1) as BUSINESS_FACILITIES_FORM_NAME
, A.PROJECT_ORDERING_CODE , A.PROJECT_ORDERING_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'project_ordering_code' AND A.PROJECT_ORDERING_CODE = C.code_val ) as PROJECT_ORDERING_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'project_ordering_code' AND A.PROJECT_ORDERING_CODE = C.code_val LIMIT 1) as PROJECT_ORDERING_NAME
, TO_CHAR(A.BUSINESS_START_DATE,'YYYY-MM-DD') AS BUSINESS_START_DATE , TO_CHAR(A.BUSINESS_START_DATE,'YYYY-MM-DD') AS BUSINESS_START_DATE
, TO_CHAR(A.BUSINESS_END_DATE,'YYYY-MM-DD') AS BUSINESS_END_DATE , TO_CHAR(A.BUSINESS_END_DATE,'YYYY-MM-DD') AS BUSINESS_END_DATE
, A.BUSINESS_SECTION_EXTENSION , A.BUSINESS_SECTION_EXTENSION
@ -652,7 +651,7 @@
, A.BUSINESS_REPORT_SOURCE , A.BUSINESS_REPORT_SOURCE
, A.BUSINESS_REPORT_FILE , A.BUSINESS_REPORT_FILE
, A.BUSINESS_CONSTRUCTION_FILE , A.BUSINESS_CONSTRUCTION_FILE
, (select user_nm from comtb_user01 where user_id = A.BUSINESS_INPUT_ID) as USER_NM , (select user_nm from comtb_user01 where user_id = A.BUSINESS_INPUT_ID LIMIT 1) as USER_NM
, A.BUSINESS_ZIP_NO , A.BUSINESS_ZIP_NO
, A.BUSINESS_ADDRESS , A.BUSINESS_ADDRESS
, A.BUSINESS_ADDRESS_DETAIL , A.BUSINESS_ADDRESS_DETAIL
@ -662,12 +661,12 @@
, A.BUSINESS_AREA_SD_CODE , A.BUSINESS_AREA_SD_CODE
, A.BUSINESS_AREA_SGG_CODE , A.BUSINESS_AREA_SGG_CODE
, A.BUSINESS_AREA_EMD_CODE , A.BUSINESS_AREA_EMD_CODE
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND A.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND A.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND A.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND A.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND A.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND A.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, A.BUSINESS_AREA_FILE , A.BUSINESS_AREA_FILE
, (SELECT FILE_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE) AS FILE_NM , (SELECT FILE_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE LIMIT 1) AS FILE_NM
, (SELECT FILE_STRG_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE) AS FILE_STRG_NM , (SELECT FILE_STRG_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE LIMIT 1) AS FILE_STRG_NM
, A.BUSINESS_AREA_YN , A.BUSINESS_AREA_YN
FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE
WHERE 1=1 WHERE 1=1
@ -689,15 +688,15 @@
B.PROJECT_CODE B.PROJECT_CODE
, B.BUSINESS_NAME , B.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, (SELECT C.CODE_TXT FROM COMTB_CODE02 C WHERE C.CD_GRP = 'business_process_code' AND B.BUSINESS_PROCESS_CODE = C.CODE_VAL ) AS BUSINESS_PROCESS_NAME , (SELECT C.CODE_TXT FROM COMTB_CODE02 C WHERE C.CD_GRP = 'business_process_code' AND B.BUSINESS_PROCESS_CODE = C.CODE_VAL LIMIT 1) AS BUSINESS_PROCESS_NAME
, A.HOLE_CODE , A.HOLE_CODE
, A.HOLE_NAME , A.HOLE_NAME
, A.HOLE_COORDINATE , A.HOLE_COORDINATE
, A.HOLE_X , A.HOLE_X
, A.HOLE_Y , A.HOLE_Y
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, B.BUSINESS_ADDRESS_DETAIL , B.BUSINESS_ADDRESS_DETAIL
, A.HOLE_BORING_NAME , A.HOLE_BORING_NAME
, A.HOLE_PROSPECTER_NAME , A.HOLE_PROSPECTER_NAME
@ -712,7 +711,7 @@
, A.HOLE_BORING_MACHINE , A.HOLE_BORING_MACHINE
, A.HOLE_BORING_METHOD , A.HOLE_BORING_METHOD
, A.HOLE_BORING_DIRECTION , A.HOLE_BORING_DIRECTION
, (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.SYS_REG_ID) AS USER_NM , (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.SYS_REG_ID LIMIT 1) AS USER_NM
, TO_CHAR(A.SYS_REG_DT,'YYYY-MM-DD') AS SYS_REG_DT , TO_CHAR(A.SYS_REG_DT,'YYYY-MM-DD') AS SYS_REG_DT
, A.HOLE_REMARK , A.HOLE_REMARK
, ST_AsText(A.HOLE_POINT) AS HOLE_POINT , ST_AsText(A.HOLE_POINT) AS HOLE_POINT
@ -744,7 +743,7 @@
<![CDATA[ <![CDATA[
SELECT SELECT
B.PROJECT_CODE B.PROJECT_CODE
, (select project_name from apptb_proj01 c where c.project_code = b.project_code) as project_name , (select project_name from apptb_proj01 c where c.project_code = b.project_code LIMIT 1) as project_name
, B.BUSINESS_NAME , B.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.HOLE_CODE , A.HOLE_CODE
@ -757,11 +756,11 @@
, A.HOLE_BORING_TYPE , A.HOLE_BORING_TYPE
, A.HOLE_START_DATE , A.HOLE_START_DATE
, A.HOLE_END_DATE , A.HOLE_END_DATE
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, B.business_address_detail , B.business_address_detail
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) || ' ' || B.business_address_detail as business_address , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) || ' ' || B.business_address_detail as business_address
, A.HOLE_ELEVATION , A.HOLE_ELEVATION
, COALESCE(A.HOLE_WATER_LEVEL, '') AS HOLE_WATER_LEVEL , COALESCE(A.HOLE_WATER_LEVEL, '') AS HOLE_WATER_LEVEL
, A.HOLE_DRILLING_DEPTH , A.HOLE_DRILLING_DEPTH
@ -1002,7 +1001,7 @@ INSERT INTO APPTB_HOLE01
<!-- 지형지질정보 --> <!-- 지형지질정보 -->
<select id="selectTopoInfo" parameterType="map" resultType="egovMap"> <select id="selectTopoInfo" parameterType="map" resultType="egovMap">
<![CDATA[ <![CDATA[
select (select business_name from apptb_saup01 B where A.business_code = B.business_code) select (select business_name from apptb_saup01 B where A.business_code = B.business_code LIMIT 1)
, A.business_code , A.business_code
, A.tgeo_topography , A.tgeo_topography
, A.tgeo_geology , A.tgeo_geology

View File

@ -3,72 +3,72 @@
<mapper namespace="sgis.surveysystem.mapper.AnswerMapper"> <mapper namespace="sgis.surveysystem.mapper.AnswerMapper">
<resultMap id="answerResultMap" type="sgis.surveysystem.domain.Answer"> <resultMap id="answerResultMap" type="sgis.surveysystem.domain.Answer">
<id property="answerId" column="answer_id"/> <id property="answerId" column="ANSWER_ID" jdbcType="VARCHAR"/>
<result property="responseId" column="response_id"/> <result property="responseId" column="RESPONSE_ID" jdbcType="VARCHAR"/>
<result property="questionId" column="question_id"/> <result property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="answerText" column="answer_text"/> <result property="answerText" column="ANSWER_TEXT" jdbcType="CLOB"/>
<result property="selectedOptionId" column="selected_option_id"/> <result property="selectedOptionId" column="SELECTED_OPTION_ID" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<insert id="insertAnswer" parameterType="sgis.surveysystem.domain.Answer"> <insert id="insertAnswer" parameterType="sgis.surveysystem.domain.Answer">
INSERT INTO tb_answers ( INSERT INTO TBL_ANSWERS (
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
) VALUES ( ) VALUES (
#{answerId, jdbcType=OTHER}, #{answerId, jdbcType=VARCHAR},
#{responseId, jdbcType=OTHER}, #{responseId, jdbcType=VARCHAR},
#{questionId, jdbcType=OTHER}, #{questionId, jdbcType=VARCHAR},
#{answerText}, #{answerText, jdbcType=CLOB},
#{selectedOptionId, jdbcType=OTHER} #{selectedOptionId, jdbcType=VARCHAR}
) )
</insert> </insert>
<select id="findAnswerById" resultMap="answerResultMap"> <select id="findAnswerById" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<select id="findAnswersByResponseId" resultMap="answerResultMap"> <select id="findAnswersByResponseId" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE response_id = #{responseId, jdbcType=OTHER} WHERE RESPONSE_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<select id="findAnswersByQuestionId" resultMap="answerResultMap"> <select id="findAnswersByQuestionId" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE question_id = #{questionId, jdbcType=OTHER} WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateAnswer" parameterType="sgis.surveysystem.domain.Answer"> <update id="updateAnswer" parameterType="sgis.surveysystem.domain.Answer">
UPDATE tb_answers UPDATE TBL_ANSWERS
SET SET
answer_text = #{answerText}, ANSWER_TEXT = #{answerText, jdbcType=CLOB},
selected_option_id = #{selectedOptionId, jdbcType=OTHER} SELECTED_OPTION_ID = #{selectedOptionId, jdbcType=VARCHAR}
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{answerId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteAnswer"> <delete id="deleteAnswer" parameterType="java.util.UUID">
DELETE FROM tb_answers DELETE FROM TBL_ANSWERS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,48 +3,48 @@
<mapper namespace="sgis.surveysystem.mapper.AnswerSelectedOptionMapper"> <mapper namespace="sgis.surveysystem.mapper.AnswerSelectedOptionMapper">
<resultMap id="answerSelectedOptionResultMap" type="sgis.surveysystem.domain.AnswerSelectedOption"> <resultMap id="answerSelectedOptionResultMap" type="sgis.surveysystem.domain.AnswerSelectedOption">
<id property="answerId" column="answer_id"/> <id property="answerId" column="ANSWER_ID" jdbcType="VARCHAR"/>
<id property="optionId" column="option_id"/> <id property="optionId" column="OPTION_ID" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<insert id="insertAnswerSelectedOption" parameterType="sgis.surveysystem.domain.AnswerSelectedOption"> <insert id="insertAnswerSelectedOption" parameterType="sgis.surveysystem.domain.AnswerSelectedOption">
INSERT INTO tb_answer_selected_options ( INSERT INTO TBL_ANSWER_SELECTED_OPTIONS (
answer_id, ANSWER_ID,
option_id OPTION_ID
) VALUES ( ) VALUES (
#{answerId, jdbcType=OTHER}, #{answerId, jdbcType=VARCHAR},
#{optionId, jdbcType=OTHER} #{optionId, jdbcType=VARCHAR}
) )
</insert> </insert>
<insert id="insertMultipleAnswerSelectedOptions" parameterType="java.util.List"> <insert id="insertMultipleAnswerSelectedOptions" parameterType="java.util.List">
INSERT INTO tb_answer_selected_options ( INSERT INTO TBL_ANSWER_SELECTED_OPTIONS (
answer_id, ANSWER_ID,
option_id OPTION_ID
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.answerId, jdbcType=OTHER},
#{item.optionId, jdbcType=OTHER}
) )
<foreach collection="list" item="item" separator=" UNION ALL ">
SELECT
#{item.answerId, jdbcType=VARCHAR},
#{item.optionId, jdbcType=VARCHAR}
FROM dual
</foreach> </foreach>
</insert> </insert>
<select id="findOptionsByAnswerId" resultMap="answerSelectedOptionResultMap"> <select id="findOptionsByAnswerId" resultMap="answerSelectedOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
option_id OPTION_ID
FROM tb_answer_selected_options FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<delete id="deleteByAnswerId"> <delete id="deleteByAnswerId" parameterType="java.util.UUID">
DELETE FROM tb_answer_selected_options DELETE FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
<delete id="deleteAnswerSelectedOption"> <delete id="deleteAnswerSelectedOption" parameterType="map">
DELETE FROM tb_answer_selected_options DELETE FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{param1, jdbcType=OTHER} AND option_id = #{param2, jdbcType=OTHER} WHERE ANSWER_ID = #{param1, jdbcType=VARCHAR} AND OPTION_ID = #{param2, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,70 +3,70 @@
<mapper namespace="sgis.surveysystem.mapper.QuestionMapper"> <mapper namespace="sgis.surveysystem.mapper.QuestionMapper">
<resultMap id="questionResultMap" type="sgis.surveysystem.domain.Question"> <resultMap id="questionResultMap" type="sgis.surveysystem.domain.Question">
<id property="questionId" column="question_id"/> <id property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="surveyId" column="survey_id"/> <result property="surveyId" column="SURVEY_ID" jdbcType="VARCHAR"/>
<result property="questionText" column="question_text"/> <result property="questionText" column="QUESTION_TEXT" jdbcType="CLOB"/>
<result property="questionType" column="question_type"/> <result property="questionType" column="QUESTION_TYPE" jdbcType="VARCHAR"/>
<result property="questionOrder" column="question_order"/> <result property="questionOrder" column="QUESTION_ORDER" jdbcType="INTEGER"/>
<result property="isRequired" column="is_required"/> <result property="isRequired" column="IS_REQUIRED" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<!-- 문항 삽입 --> <!-- 문항 삽입 -->
<insert id="insertQuestion" parameterType="sgis.surveysystem.domain.Question"> <insert id="insertQuestion" parameterType="sgis.surveysystem.domain.Question">
INSERT INTO tb_questions ( INSERT INTO TBL_QUESTIONS (
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
) VALUES ( ) VALUES (
CAST(#{questionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{questionId, jdbcType=VARCHAR},
CAST(#{surveyId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{surveyId, jdbcType=VARCHAR},
#{questionText}, #{questionText, jdbcType=CLOB},
#{questionType}, #{questionType, jdbcType=VARCHAR},
#{questionOrder}, #{questionOrder, jdbcType=INTEGER},
#{isRequired} #{isRequired, jdbcType=INTEGER}
) )
</insert> </insert>
<select id="findQuestionsBySurveyId" resultMap="questionResultMap"> <select id="findQuestionsBySurveyId" resultMap="questionResultMap" parameterType="java.util.UUID">
SELECT SELECT
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
FROM tb_questions FROM TBL_QUESTIONS
WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) WHERE SURVEY_ID = #{_parameter, jdbcType=VARCHAR}
ORDER BY question_order ASC ORDER BY QUESTION_ORDER ASC
</select> </select>
<select id="findQuestionById" resultMap="questionResultMap"> <select id="findQuestionById" resultMap="questionResultMap" parameterType="java.util.UUID">
SELECT SELECT
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
FROM tb_questions FROM TBL_QUESTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateQuestion" parameterType="sgis.surveysystem.domain.Question"> <update id="updateQuestion" parameterType="sgis.surveysystem.domain.Question">
UPDATE tb_questions UPDATE TBL_QUESTIONS
SET SET
question_text = #{questionText}, QUESTION_TEXT = #{questionText, jdbcType=CLOB},
question_type = #{questionType}, QUESTION_TYPE = #{questionType, jdbcType=VARCHAR},
question_order = #{questionOrder}, QUESTION_ORDER = #{questionOrder, jdbcType=INTEGER},
is_required = #{isRequired} IS_REQUIRED = #{isRequired, jdbcType=INTEGER}
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{questionId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteQuestion"> <delete id="deleteQuestion" parameterType="java.util.UUID">
DELETE FROM tb_questions DELETE FROM TBL_QUESTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,58 +3,58 @@
<mapper namespace="sgis.surveysystem.mapper.QuestionOptionMapper"> <mapper namespace="sgis.surveysystem.mapper.QuestionOptionMapper">
<resultMap id="questionOptionResultMap" type="sgis.surveysystem.domain.QuestionOption"> <resultMap id="questionOptionResultMap" type="sgis.surveysystem.domain.QuestionOption">
<id property="optionId" column="option_id"/> <id property="optionId" column="OPTION_ID" jdbcType="VARCHAR"/>
<result property="questionId" column="question_id"/> <result property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="optionText" column="option_text"/> <result property="optionText" column="OPTION_TEXT" jdbcType="VARCHAR"/>
<result property="optionOrder" column="option_order"/> <result property="optionOrder" column="OPTION_ORDER" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<!-- 선택지 삽입 --> <!-- 선택지 삽입 -->
<insert id="insertQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption"> <insert id="insertQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption">
INSERT INTO tb_question_options ( INSERT INTO TBL_QUESTION_OPTIONS (
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
) VALUES ( ) VALUES (
CAST(#{optionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{optionId, jdbcType=VARCHAR},
CAST(#{questionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{questionId, jdbcType=VARCHAR},
#{optionText}, #{optionText, jdbcType=VARCHAR},
#{optionOrder} #{optionOrder, jdbcType=INTEGER}
) )
</insert> </insert>
<select id="findOptionsByQuestionId" resultMap="questionOptionResultMap"> <select id="findOptionsByQuestionId" resultMap="questionOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
FROM tb_question_options FROM TBL_QUESTION_OPTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
ORDER BY option_order ASC ORDER BY OPTION_ORDER ASC
</select> </select>
<select id="findQuestionOptionById" resultMap="questionOptionResultMap"> <select id="findQuestionOptionById" resultMap="questionOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
FROM tb_question_options FROM TBL_QUESTION_OPTIONS
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption"> <update id="updateQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption">
UPDATE tb_question_options UPDATE TBL_QUESTION_OPTIONS
SET SET
option_text = #{optionText}, OPTION_TEXT = #{optionText, jdbcType=VARCHAR},
option_order = #{optionOrder} OPTION_ORDER = #{optionOrder, jdbcType=INTEGER}
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{optionId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteQuestionOption"> <delete id="deleteQuestionOption" parameterType="java.util.UUID">
DELETE FROM tb_question_options DELETE FROM TBL_QUESTION_OPTIONS
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -216,7 +216,6 @@ function selectComboList(class_name, data, selected_data){
} }
function go_save(){ function go_save(){
debugger;
<c:if test="${empty fileInfo}"> <c:if test="${empty fileInfo}">
var upload = $("#fileUpload1").data("kendoUpload"); var upload = $("#fileUpload1").data("kendoUpload");
var upCnt = upload.getFiles().length var upCnt = upload.getFiles().length

View File

@ -219,7 +219,7 @@ function drawPolygon(){
function goSave(){ function goSave(){
let businessCode = '<c:out value="${params.businessCode}"/>'; let businessCode = '<c:out value="${params.businessCode}"/>';
debugger;
$.ajax({ $.ajax({
url: "<c:url value='/app/saup/areaValidation.do'/>", url: "<c:url value='/app/saup/areaValidation.do'/>",
type : "post", type : "post",

View File

@ -103,10 +103,10 @@
A.PROJECT_CODE A.PROJECT_CODE
, A.PROJECT_NAME , A.PROJECT_NAME
, A.PROJECT_DESC , A.PROJECT_DESC
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val ) as PROJECT_HARBOR_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val LIMIT 1 ) as PROJECT_HARBOR_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val ) as PROJECT_ORDERING_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val LIMIT 1 ) as PROJECT_ORDERING_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val ) as PROJECT_AFFILIATED_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val LIMIT 1 ) as PROJECT_AFFILIATED_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val ) as PROJECT_EPSG_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val LIMIT 1 ) as PROJECT_EPSG_NAME
, TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE , TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE
, TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE , TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE
, (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.PROJECT_INPUT_ID) AS USER_NM , (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.PROJECT_INPUT_ID) AS USER_NM
@ -141,7 +141,6 @@
</if> </if>
<![CDATA[ <![CDATA[
ORDER BY A.PROJECT_CODE desc ORDER BY A.PROJECT_CODE desc
LIMIT 1
]]> ]]>
</select> </select>
@ -265,10 +264,10 @@
A.PROJECT_CODE A.PROJECT_CODE
, A.PROJECT_NAME , A.PROJECT_NAME
, A.PROJECT_DESC , A.PROJECT_DESC
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val ) as PROJECT_HARBOR_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_harbor_code' AND A.PROJECT_HARBOR_CODE = B.code_val LIMIT 1) as PROJECT_HARBOR_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val ) as PROJECT_ORDERING_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_ordering_code' AND A.PROJECt_ORDERING_CODE = B.code_val LIMIT 1) as PROJECT_ORDERING_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val ) as PROJECT_AFFILIATED_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_affiliated_code' AND A.PROJECT_AFFILIATED_CODE = B.code_val LIMIT 1) as PROJECT_AFFILIATED_NAME
, (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val ) as PROJECT_EPSG_NAME , (select B.code_txt from comtb_code02 B where B.cd_grp = 'project_epsg_code' AND A.PROJECT_EPSG_CODE = B.code_val LIMIT 1) as PROJECT_EPSG_NAME
, A.PROJECT_HARBOR_CODE , A.PROJECT_HARBOR_CODE
, A.PROJECT_ORDERING_CODE , A.PROJECT_ORDERING_CODE
, A.PROJECT_AFFILIATED_CODE , A.PROJECT_AFFILIATED_CODE
@ -276,13 +275,13 @@
, A.PROJECT_AREA_FILE , A.PROJECT_AREA_FILE
, TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE , TO_CHAR(A.PROJECT_START_DATE,'YYYY-MM-DD') AS PROJECT_START_DATE
, TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE , TO_CHAR(A.PROJECT_END_DATE,'YYYY-MM-DD') AS PROJECT_END_DATE
, (select user_nm from comtb_user01 B where B.user_id = A.project_input_id) as USER_NM , (select user_nm from comtb_user01 B where B.user_id = A.project_input_id LIMIT 1) as USER_NM
, A.PROJECT_AREA_FILE , A.PROJECT_AREA_FILE
, A.PROJECT_AREA_YN , A.PROJECT_AREA_YN
, ST_ASTEXT(ST_TRANSFORM(ST_SetSRID(A.PROJECT_AREA_GEOM, A.PROJECT_EPSG_CODE :: INTEGER),4326)) as PROJECT_AREA_GEOM , ST_ASTEXT(ST_TRANSFORM(ST_SetSRID(A.PROJECT_AREA_GEOM, A.PROJECT_EPSG_CODE :: INTEGER),4326)) as PROJECT_AREA_GEOM
, (select file_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file) as file_nm , (select file_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file LIMIT 1) as file_nm
, (select file_strg_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file) as file_strg_nm , (select file_strg_nm from comtb_file01 B where cast(B.file_no as varchar) = A.project_area_file LIMIT 1) as file_strg_nm
, (select count(*) from APPTB_SAUP01 C where A.project_code = C.project_code) as saup_cnt , (select count(*) from APPTB_SAUP01 C where A.project_code = C.project_code LIMIT 1) as saup_cnt
FROM APPTB_PROJ01 A FROM APPTB_PROJ01 A
WHERE 1=1 WHERE 1=1
]]> ]]>
@ -579,11 +578,11 @@
SELECT SELECT
A.PROJECT_CODE A.PROJECT_CODE
, B.PROJECT_NAME , B.PROJECT_NAME
, (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val ) as PROJECT_HARBOR_NAME , (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val LIMIT 1) as PROJECT_HARBOR_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.BUSINESS_NAME , A.BUSINESS_NAME
, (select code_txt from comtb_code02 where cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = code_val ) as BUSINESS_PROCESS_NAME , (select code_txt from comtb_code02 where cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = code_val LIMIT 1) as BUSINESS_PROCESS_NAME
, (select user_nm from comtb_user01 where user_id = A.business_input_id) as INPUT_NAME , (select user_nm from comtb_user01 where user_id = A.business_input_id LIMIT 1) as INPUT_NAME
, to_char(A.SYS_REG_DT::DATE, 'yyyy-mm-dd') as INPUT_DATE , to_char(A.SYS_REG_DT::DATE, 'yyyy-mm-dd') as INPUT_DATE
FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE
WHERE 1=1 WHERE 1=1
@ -619,19 +618,19 @@
SELECT SELECT
A.PROJECT_CODE A.PROJECT_CODE
, B.PROJECT_NAME , B.PROJECT_NAME
, (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val ) as PROJECT_HARBOR_NAME , (select code_txt from comtb_code02 where cd_grp = 'project_harbor_code' AND B.PROJECT_HARBOR_CODE = code_val LIMIT 1) as PROJECT_HARBOR_NAME
, A.BUSINESS_NAME , A.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.BUSINESS_PROCESS_CODE , A.BUSINESS_PROCESS_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = C.code_val ) as BUSINESS_PROCESS_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_process_code' AND A.BUSINESS_PROCESS_CODE = C.code_val LIMIT 1) as BUSINESS_PROCESS_NAME
, A.BUSINESS_CLASS_CODE , A.BUSINESS_CLASS_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_code' AND A.BUSINESS_CLASS_CODE = C.code_val ) as BUSINESS_CLASS_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_code' AND A.BUSINESS_CLASS_CODE = C.code_val LIMIT 1) as BUSINESS_CLASS_NAME
, A.BUSINESS_CLASS_DETAIL_CODE , A.BUSINESS_CLASS_DETAIL_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_detail_code' AND A.BUSINESS_CLASS_DETAIL_CODE = C.code_val ) as BUSINESS_CLASS_DETAIL_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_class_detail_code' AND A.BUSINESS_CLASS_DETAIL_CODE = C.code_val LIMIT 1) as BUSINESS_CLASS_DETAIL_NAME
, A.BUSINESS_FACILITIES_FORM_CODE , A.BUSINESS_FACILITIES_FORM_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_facilities_form_code' AND A.BUSINESS_FACILITIES_FORM_CODE = C.code_val ) as BUSINESS_FACILITIES_FORM_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'business_facilities_form_code' AND A.BUSINESS_FACILITIES_FORM_CODE = C.code_val LIMIT 1) as BUSINESS_FACILITIES_FORM_NAME
, A.PROJECT_ORDERING_CODE , A.PROJECT_ORDERING_CODE
, (select C.code_txt from comtb_code02 C where C.cd_grp = 'project_ordering_code' AND A.PROJECT_ORDERING_CODE = C.code_val ) as PROJECT_ORDERING_NAME , (select C.code_txt from comtb_code02 C where C.cd_grp = 'project_ordering_code' AND A.PROJECT_ORDERING_CODE = C.code_val LIMIT 1) as PROJECT_ORDERING_NAME
, TO_CHAR(A.BUSINESS_START_DATE,'YYYY-MM-DD') AS BUSINESS_START_DATE , TO_CHAR(A.BUSINESS_START_DATE,'YYYY-MM-DD') AS BUSINESS_START_DATE
, TO_CHAR(A.BUSINESS_END_DATE,'YYYY-MM-DD') AS BUSINESS_END_DATE , TO_CHAR(A.BUSINESS_END_DATE,'YYYY-MM-DD') AS BUSINESS_END_DATE
, A.BUSINESS_SECTION_EXTENSION , A.BUSINESS_SECTION_EXTENSION
@ -652,7 +651,7 @@
, A.BUSINESS_REPORT_SOURCE , A.BUSINESS_REPORT_SOURCE
, A.BUSINESS_REPORT_FILE , A.BUSINESS_REPORT_FILE
, A.BUSINESS_CONSTRUCTION_FILE , A.BUSINESS_CONSTRUCTION_FILE
, (select user_nm from comtb_user01 where user_id = A.BUSINESS_INPUT_ID) as USER_NM , (select user_nm from comtb_user01 where user_id = A.BUSINESS_INPUT_ID LIMIT 1) as USER_NM
, A.BUSINESS_ZIP_NO , A.BUSINESS_ZIP_NO
, A.BUSINESS_ADDRESS , A.BUSINESS_ADDRESS
, A.BUSINESS_ADDRESS_DETAIL , A.BUSINESS_ADDRESS_DETAIL
@ -662,12 +661,12 @@
, A.BUSINESS_AREA_SD_CODE , A.BUSINESS_AREA_SD_CODE
, A.BUSINESS_AREA_SGG_CODE , A.BUSINESS_AREA_SGG_CODE
, A.BUSINESS_AREA_EMD_CODE , A.BUSINESS_AREA_EMD_CODE
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND A.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND A.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND A.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND A.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND A.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND A.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, A.BUSINESS_AREA_FILE , A.BUSINESS_AREA_FILE
, (SELECT FILE_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE) AS FILE_NM , (SELECT FILE_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE LIMIT 1) AS FILE_NM
, (SELECT FILE_STRG_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE) AS FILE_STRG_NM , (SELECT FILE_STRG_NM FROM COMTB_FILE01 WHERE CAST(FILE_NO AS VARCHAR) = A.BUSINESS_AREA_FILE LIMIT 1) AS FILE_STRG_NM
, A.BUSINESS_AREA_YN , A.BUSINESS_AREA_YN
FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE FROM APPTB_SAUP01 A LEFT OUTER JOIN APPTB_PROJ01 B ON A.PROJECT_CODE = B.PROJECT_CODE
WHERE 1=1 WHERE 1=1
@ -689,15 +688,15 @@
B.PROJECT_CODE B.PROJECT_CODE
, B.BUSINESS_NAME , B.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, (SELECT C.CODE_TXT FROM COMTB_CODE02 C WHERE C.CD_GRP = 'business_process_code' AND B.BUSINESS_PROCESS_CODE = C.CODE_VAL ) AS BUSINESS_PROCESS_NAME , (SELECT C.CODE_TXT FROM COMTB_CODE02 C WHERE C.CD_GRP = 'business_process_code' AND B.BUSINESS_PROCESS_CODE = C.CODE_VAL LIMIT 1) AS BUSINESS_PROCESS_NAME
, A.HOLE_CODE , A.HOLE_CODE
, A.HOLE_NAME , A.HOLE_NAME
, A.HOLE_COORDINATE , A.HOLE_COORDINATE
, A.HOLE_X , A.HOLE_X
, A.HOLE_Y , A.HOLE_Y
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, B.BUSINESS_ADDRESS_DETAIL , B.BUSINESS_ADDRESS_DETAIL
, A.HOLE_BORING_NAME , A.HOLE_BORING_NAME
, A.HOLE_PROSPECTER_NAME , A.HOLE_PROSPECTER_NAME
@ -712,7 +711,7 @@
, A.HOLE_BORING_MACHINE , A.HOLE_BORING_MACHINE
, A.HOLE_BORING_METHOD , A.HOLE_BORING_METHOD
, A.HOLE_BORING_DIRECTION , A.HOLE_BORING_DIRECTION
, (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.SYS_REG_ID) AS USER_NM , (SELECT USER_NM FROM COMTB_USER01 B WHERE B.USER_ID = A.SYS_REG_ID LIMIT 1) AS USER_NM
, TO_CHAR(A.SYS_REG_DT,'YYYY-MM-DD') AS SYS_REG_DT , TO_CHAR(A.SYS_REG_DT,'YYYY-MM-DD') AS SYS_REG_DT
, A.HOLE_REMARK , A.HOLE_REMARK
, ST_AsText(A.HOLE_POINT) AS HOLE_POINT , ST_AsText(A.HOLE_POINT) AS HOLE_POINT
@ -744,7 +743,7 @@
<![CDATA[ <![CDATA[
SELECT SELECT
B.PROJECT_CODE B.PROJECT_CODE
, (select project_name from apptb_proj01 c where c.project_code = b.project_code) as project_name , (select project_name from apptb_proj01 c where c.project_code = b.project_code LIMIT 1) as project_name
, B.BUSINESS_NAME , B.BUSINESS_NAME
, A.BUSINESS_CODE , A.BUSINESS_CODE
, A.HOLE_CODE , A.HOLE_CODE
@ -757,11 +756,11 @@
, A.HOLE_BORING_TYPE , A.HOLE_BORING_TYPE
, A.HOLE_START_DATE , A.HOLE_START_DATE
, A.HOLE_END_DATE , A.HOLE_END_DATE
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) SD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) SD_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) SGG_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) SGG_NAME
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) EMD_NAME , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) EMD_NAME
, B.business_address_detail , B.business_address_detail
, (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL) || ' ' || B.business_address_detail as business_address , (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sido_code' AND B.BUSINESS_AREA_SD_CODE = CODE_VAL LIMIT 1) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'sgg_code' AND B.BUSINESS_AREA_SGG_CODE = CODE_VAL LIMIT 1) || ' ' || (SELECT CODE_TXT FROM COMTB_CODE02 WHERE CD_GRP = 'emd_code' AND B.BUSINESS_AREA_EMD_CODE = CODE_VAL LIMIT 1) || ' ' || B.business_address_detail as business_address
, A.HOLE_ELEVATION , A.HOLE_ELEVATION
, COALESCE(A.HOLE_WATER_LEVEL, '') AS HOLE_WATER_LEVEL , COALESCE(A.HOLE_WATER_LEVEL, '') AS HOLE_WATER_LEVEL
, A.HOLE_DRILLING_DEPTH , A.HOLE_DRILLING_DEPTH
@ -1002,7 +1001,7 @@ INSERT INTO APPTB_HOLE01
<!-- 지형지질정보 --> <!-- 지형지질정보 -->
<select id="selectTopoInfo" parameterType="map" resultType="egovMap"> <select id="selectTopoInfo" parameterType="map" resultType="egovMap">
<![CDATA[ <![CDATA[
select (select business_name from apptb_saup01 B where A.business_code = B.business_code) select (select business_name from apptb_saup01 B where A.business_code = B.business_code LIMIT 1)
, A.business_code , A.business_code
, A.tgeo_topography , A.tgeo_topography
, A.tgeo_geology , A.tgeo_geology

View File

@ -3,72 +3,72 @@
<mapper namespace="sgis.surveysystem.mapper.AnswerMapper"> <mapper namespace="sgis.surveysystem.mapper.AnswerMapper">
<resultMap id="answerResultMap" type="sgis.surveysystem.domain.Answer"> <resultMap id="answerResultMap" type="sgis.surveysystem.domain.Answer">
<id property="answerId" column="answer_id"/> <id property="answerId" column="ANSWER_ID" jdbcType="VARCHAR"/>
<result property="responseId" column="response_id"/> <result property="responseId" column="RESPONSE_ID" jdbcType="VARCHAR"/>
<result property="questionId" column="question_id"/> <result property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="answerText" column="answer_text"/> <result property="answerText" column="ANSWER_TEXT" jdbcType="CLOB"/>
<result property="selectedOptionId" column="selected_option_id"/> <result property="selectedOptionId" column="SELECTED_OPTION_ID" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<insert id="insertAnswer" parameterType="sgis.surveysystem.domain.Answer"> <insert id="insertAnswer" parameterType="sgis.surveysystem.domain.Answer">
INSERT INTO tb_answers ( INSERT INTO TBL_ANSWERS (
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
) VALUES ( ) VALUES (
#{answerId, jdbcType=OTHER}, #{answerId, jdbcType=VARCHAR},
#{responseId, jdbcType=OTHER}, #{responseId, jdbcType=VARCHAR},
#{questionId, jdbcType=OTHER}, #{questionId, jdbcType=VARCHAR},
#{answerText}, #{answerText, jdbcType=CLOB},
#{selectedOptionId, jdbcType=OTHER} #{selectedOptionId, jdbcType=VARCHAR}
) )
</insert> </insert>
<select id="findAnswerById" resultMap="answerResultMap"> <select id="findAnswerById" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<select id="findAnswersByResponseId" resultMap="answerResultMap"> <select id="findAnswersByResponseId" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE response_id = #{responseId, jdbcType=OTHER} WHERE RESPONSE_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<select id="findAnswersByQuestionId" resultMap="answerResultMap"> <select id="findAnswersByQuestionId" resultMap="answerResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
response_id, RESPONSE_ID,
question_id, QUESTION_ID,
answer_text, ANSWER_TEXT,
selected_option_id SELECTED_OPTION_ID
FROM tb_answers FROM TBL_ANSWERS
WHERE question_id = #{questionId, jdbcType=OTHER} WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateAnswer" parameterType="sgis.surveysystem.domain.Answer"> <update id="updateAnswer" parameterType="sgis.surveysystem.domain.Answer">
UPDATE tb_answers UPDATE TBL_ANSWERS
SET SET
answer_text = #{answerText}, ANSWER_TEXT = #{answerText, jdbcType=CLOB},
selected_option_id = #{selectedOptionId, jdbcType=OTHER} SELECTED_OPTION_ID = #{selectedOptionId, jdbcType=VARCHAR}
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{answerId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteAnswer"> <delete id="deleteAnswer" parameterType="java.util.UUID">
DELETE FROM tb_answers DELETE FROM TBL_ANSWERS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,48 +3,48 @@
<mapper namespace="sgis.surveysystem.mapper.AnswerSelectedOptionMapper"> <mapper namespace="sgis.surveysystem.mapper.AnswerSelectedOptionMapper">
<resultMap id="answerSelectedOptionResultMap" type="sgis.surveysystem.domain.AnswerSelectedOption"> <resultMap id="answerSelectedOptionResultMap" type="sgis.surveysystem.domain.AnswerSelectedOption">
<id property="answerId" column="answer_id"/> <id property="answerId" column="ANSWER_ID" jdbcType="VARCHAR"/>
<id property="optionId" column="option_id"/> <id property="optionId" column="OPTION_ID" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<insert id="insertAnswerSelectedOption" parameterType="sgis.surveysystem.domain.AnswerSelectedOption"> <insert id="insertAnswerSelectedOption" parameterType="sgis.surveysystem.domain.AnswerSelectedOption">
INSERT INTO tb_answer_selected_options ( INSERT INTO TBL_ANSWER_SELECTED_OPTIONS (
answer_id, ANSWER_ID,
option_id OPTION_ID
) VALUES ( ) VALUES (
#{answerId, jdbcType=OTHER}, #{answerId, jdbcType=VARCHAR},
#{optionId, jdbcType=OTHER} #{optionId, jdbcType=VARCHAR}
) )
</insert> </insert>
<insert id="insertMultipleAnswerSelectedOptions" parameterType="java.util.List"> <insert id="insertMultipleAnswerSelectedOptions" parameterType="java.util.List">
INSERT INTO tb_answer_selected_options ( INSERT INTO TBL_ANSWER_SELECTED_OPTIONS (
answer_id, ANSWER_ID,
option_id OPTION_ID
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.answerId, jdbcType=OTHER},
#{item.optionId, jdbcType=OTHER}
) )
<foreach collection="list" item="item" separator=" UNION ALL ">
SELECT
#{item.answerId, jdbcType=VARCHAR},
#{item.optionId, jdbcType=VARCHAR}
FROM dual
</foreach> </foreach>
</insert> </insert>
<select id="findOptionsByAnswerId" resultMap="answerSelectedOptionResultMap"> <select id="findOptionsByAnswerId" resultMap="answerSelectedOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
answer_id, ANSWER_ID,
option_id OPTION_ID
FROM tb_answer_selected_options FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<delete id="deleteByAnswerId"> <delete id="deleteByAnswerId" parameterType="java.util.UUID">
DELETE FROM tb_answer_selected_options DELETE FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{answerId, jdbcType=OTHER} WHERE ANSWER_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
<delete id="deleteAnswerSelectedOption"> <delete id="deleteAnswerSelectedOption" parameterType="map">
DELETE FROM tb_answer_selected_options DELETE FROM TBL_ANSWER_SELECTED_OPTIONS
WHERE answer_id = #{param1, jdbcType=OTHER} AND option_id = #{param2, jdbcType=OTHER} WHERE ANSWER_ID = #{param1, jdbcType=VARCHAR} AND OPTION_ID = #{param2, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,70 +3,70 @@
<mapper namespace="sgis.surveysystem.mapper.QuestionMapper"> <mapper namespace="sgis.surveysystem.mapper.QuestionMapper">
<resultMap id="questionResultMap" type="sgis.surveysystem.domain.Question"> <resultMap id="questionResultMap" type="sgis.surveysystem.domain.Question">
<id property="questionId" column="question_id"/> <id property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="surveyId" column="survey_id"/> <result property="surveyId" column="SURVEY_ID" jdbcType="VARCHAR"/>
<result property="questionText" column="question_text"/> <result property="questionText" column="QUESTION_TEXT" jdbcType="CLOB"/>
<result property="questionType" column="question_type"/> <result property="questionType" column="QUESTION_TYPE" jdbcType="VARCHAR"/>
<result property="questionOrder" column="question_order"/> <result property="questionOrder" column="QUESTION_ORDER" jdbcType="INTEGER"/>
<result property="isRequired" column="is_required"/> <result property="isRequired" column="IS_REQUIRED" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<!-- 문항 삽입 --> <!-- 문항 삽입 -->
<insert id="insertQuestion" parameterType="sgis.surveysystem.domain.Question"> <insert id="insertQuestion" parameterType="sgis.surveysystem.domain.Question">
INSERT INTO tb_questions ( INSERT INTO TBL_QUESTIONS (
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
) VALUES ( ) VALUES (
CAST(#{questionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{questionId, jdbcType=VARCHAR},
CAST(#{surveyId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{surveyId, jdbcType=VARCHAR},
#{questionText}, #{questionText, jdbcType=CLOB},
#{questionType}, #{questionType, jdbcType=VARCHAR},
#{questionOrder}, #{questionOrder, jdbcType=INTEGER},
#{isRequired} #{isRequired, jdbcType=INTEGER}
) )
</insert> </insert>
<select id="findQuestionsBySurveyId" resultMap="questionResultMap"> <select id="findQuestionsBySurveyId" resultMap="questionResultMap" parameterType="java.util.UUID">
SELECT SELECT
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
FROM tb_questions FROM TBL_QUESTIONS
WHERE survey_id = CAST(#{surveyId, jdbcType=OTHER} AS uuid) WHERE SURVEY_ID = #{_parameter, jdbcType=VARCHAR}
ORDER BY question_order ASC ORDER BY QUESTION_ORDER ASC
</select> </select>
<select id="findQuestionById" resultMap="questionResultMap"> <select id="findQuestionById" resultMap="questionResultMap" parameterType="java.util.UUID">
SELECT SELECT
question_id, QUESTION_ID,
survey_id, SURVEY_ID,
question_text, QUESTION_TEXT,
question_type, QUESTION_TYPE,
question_order, QUESTION_ORDER,
is_required IS_REQUIRED
FROM tb_questions FROM TBL_QUESTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateQuestion" parameterType="sgis.surveysystem.domain.Question"> <update id="updateQuestion" parameterType="sgis.surveysystem.domain.Question">
UPDATE tb_questions UPDATE TBL_QUESTIONS
SET SET
question_text = #{questionText}, QUESTION_TEXT = #{questionText, jdbcType=CLOB},
question_type = #{questionType}, QUESTION_TYPE = #{questionType, jdbcType=VARCHAR},
question_order = #{questionOrder}, QUESTION_ORDER = #{questionOrder, jdbcType=INTEGER},
is_required = #{isRequired} IS_REQUIRED = #{isRequired, jdbcType=INTEGER}
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{questionId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteQuestion"> <delete id="deleteQuestion" parameterType="java.util.UUID">
DELETE FROM tb_questions DELETE FROM TBL_QUESTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

View File

@ -3,58 +3,58 @@
<mapper namespace="sgis.surveysystem.mapper.QuestionOptionMapper"> <mapper namespace="sgis.surveysystem.mapper.QuestionOptionMapper">
<resultMap id="questionOptionResultMap" type="sgis.surveysystem.domain.QuestionOption"> <resultMap id="questionOptionResultMap" type="sgis.surveysystem.domain.QuestionOption">
<id property="optionId" column="option_id"/> <id property="optionId" column="OPTION_ID" jdbcType="VARCHAR"/>
<result property="questionId" column="question_id"/> <result property="questionId" column="QUESTION_ID" jdbcType="VARCHAR"/>
<result property="optionText" column="option_text"/> <result property="optionText" column="OPTION_TEXT" jdbcType="VARCHAR"/>
<result property="optionOrder" column="option_order"/> <result property="optionOrder" column="OPTION_ORDER" jdbcType="INTEGER"/>
</resultMap> </resultMap>
<!-- 선택지 삽입 --> <!-- 선택지 삽입 -->
<insert id="insertQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption"> <insert id="insertQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption">
INSERT INTO tb_question_options ( INSERT INTO TBL_QUESTION_OPTIONS (
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
) VALUES ( ) VALUES (
CAST(#{optionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{optionId, jdbcType=VARCHAR},
CAST(#{questionId, jdbcType=OTHER} AS uuid), <!-- 이 부분을 수정했습니다. --> #{questionId, jdbcType=VARCHAR},
#{optionText}, #{optionText, jdbcType=VARCHAR},
#{optionOrder} #{optionOrder, jdbcType=INTEGER}
) )
</insert> </insert>
<select id="findOptionsByQuestionId" resultMap="questionOptionResultMap"> <select id="findOptionsByQuestionId" resultMap="questionOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
FROM tb_question_options FROM TBL_QUESTION_OPTIONS
WHERE question_id = CAST(#{questionId, jdbcType=OTHER} AS uuid) WHERE QUESTION_ID = #{_parameter, jdbcType=VARCHAR}
ORDER BY option_order ASC ORDER BY OPTION_ORDER ASC
</select> </select>
<select id="findQuestionOptionById" resultMap="questionOptionResultMap"> <select id="findQuestionOptionById" resultMap="questionOptionResultMap" parameterType="java.util.UUID">
SELECT SELECT
option_id, OPTION_ID,
question_id, QUESTION_ID,
option_text, OPTION_TEXT,
option_order OPTION_ORDER
FROM tb_question_options FROM TBL_QUESTION_OPTIONS
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{_parameter, jdbcType=VARCHAR}
</select> </select>
<update id="updateQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption"> <update id="updateQuestionOption" parameterType="sgis.surveysystem.domain.QuestionOption">
UPDATE tb_question_options UPDATE TBL_QUESTION_OPTIONS
SET SET
option_text = #{optionText}, OPTION_TEXT = #{optionText, jdbcType=VARCHAR},
option_order = #{optionOrder} OPTION_ORDER = #{optionOrder, jdbcType=INTEGER}
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{optionId, jdbcType=VARCHAR}
</update> </update>
<delete id="deleteQuestionOption"> <delete id="deleteQuestionOption" parameterType="java.util.UUID">
DELETE FROM tb_question_options DELETE FROM TBL_QUESTION_OPTIONS
WHERE option_id = CAST(#{optionId, jdbcType=OTHER} AS uuid) WHERE OPTION_ID = #{_parameter, jdbcType=VARCHAR}
</delete> </delete>
</mapper> </mapper>

Some files were not shown because too many files have changed in this diff Show More