From 3cb391fb66b86e24ccacbdc9747b67359616ec47 Mon Sep 17 00:00:00 2001 From: psh Date: Fri, 7 Jun 2024 10:29:42 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9B=90=EC=B2=9C=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=EA=B4=80=EB=A0=A8=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comtsrcdata/mapper/ComtsrcdataMapper.java | 50 +++++++++++ .../service/ComtsrcdataService.java | 83 +++++++++++++++++++ .../service/impl/ComtsrcdataServiceImpl.java | 38 +++++++++ .../com/mtdata/comtsrcdata/vo/ComtColVO.java | 16 ++++ .../mtdata/comtsrcdata/vo/ComtExtrtVO.java | 18 ++++ .../mtdata/comtsrcdata/vo/ComtTableVO.java | 17 ++++ .../mtdata/comtsrcdata/vo/ComtsrcdataVO.java | 16 ++++ .../web/ComtsrcdataController.java | 83 +++++++++++++++++++ .../mappers/comtsrcdata/Comtsrcdata_SQL.xml | 56 +++++++++++++ .../sqlmap/mtdata/sql-mapper-config.xml | 5 +- 10 files changed, 381 insertions(+), 1 deletion(-) create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/mapper/ComtsrcdataMapper.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/service/ComtsrcdataService.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/service/impl/ComtsrcdataServiceImpl.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtColVO.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtExtrtVO.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtTableVO.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtsrcdataVO.java create mode 100644 src/main/java/egovframework/com/mtdata/comtsrcdata/web/ComtsrcdataController.java create mode 100644 src/main/resources/egovframework/sqlmap/mtdata/mappers/comtsrcdata/Comtsrcdata_SQL.xml diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/mapper/ComtsrcdataMapper.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/mapper/ComtsrcdataMapper.java new file mode 100644 index 0000000..0d7da52 --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/mapper/ComtsrcdataMapper.java @@ -0,0 +1,50 @@ +package egovframework.com.mtdata.comtsrcdata.mapper; + +import egovframework.com.mtdata.comtsrcdata.vo.ComtExtrtVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO; +import org.egovframe.rte.psl.dataaccess.mapper.Mapper; + +@Mapper("ComtsrcdataMapper") +public interface ComtsrcdataMapper { + + /** + * 원천데이터 추출정보를 [comtextrtblinfo]테이블에 저장 + * + * @param vo + * @return + * @throws Exception + */ + public int insertComtExtrtInfo(ComtExtrtVO vo) throws Exception; + + /** + * 원천데이터를 [comtsrcdata]테이블에 저장 + * + * @param vo + * @return + * @throws Exception + */ + public int insertComtSrcdataInfo(ComtsrcdataVO vo) throws Exception; + + /** + * 원천데이터 테이블을 [comtsrcdatameta]테이블에 저장 + * + * @param vo + * @return + * @throws Exception + */ + public int insertComtTabledataInfo(ComtTableVO vo) throws Exception; + + + public int updateDatasrc(ComtsrcdataVO vo) throws Exception; + +// /** +// * Yaml 파일을 업데이트하기 위해 목록을 조회한다(pg_chameleon yaml용이나, 차후 다른 용도로 쓰임이 있다 판단되면 수정) +// * +// * @param vo +// * @return +// */ +// public List selectSysDbConnList(DatabaseInfoVO vo); + + +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/service/ComtsrcdataService.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/service/ComtsrcdataService.java new file mode 100644 index 0000000..c1f8b21 --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/service/ComtsrcdataService.java @@ -0,0 +1,83 @@ +package egovframework.com.mtdata.comtsrcdata.service; + +import egovframework.com.mtdata.comtsrcdata.vo.ComtExtrtVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO; + +public interface ComtsrcdataService { + + /** + * 데이터베이스 스키마 조회 후 [comtsysdbinfo]테이블에 데이터를 저장한다 + * + * @param vo + * @return + * @throws Exception + */ + int insertComtExtrtInfo(ComtExtrtVO vo) throws Exception; + + /** + * 원천데이터를 [comtsrcdata]테이블에 저장 + * + * @param vo + * @return + * @throws Exception + */ + public int insertComtSrcdataInfo(ComtsrcdataVO vo) throws Exception; + + + /** + * 원천데이터를 [comtsrcdata]테이블에 저장 + * + * @param vo + * @return + * @throws Exception + */ + public int insertComtTabledataInfo(ComtTableVO vo) throws Exception; + + + /** + * test + * + * @param vo + * @return + * @throws Exception + */ + + public int updateDatasrc(ComtsrcdataVO vo) throws Exception; + + +// /** +// * Yaml 파일을 업데이트하기 위해 목록을 조회한다(pg_chameleon yaml용이나 차후 다른 용도로 쓰임이 있다 판단되면 수정) +// * +// * @param vo +// * @return +// */ +// List selectSysDbConnList(DatabaseInfoVO vo); +// +// /** +// * DB 연결 정보 검증(중복확인) +// * +// * @param vo +// * @return +// */ +// int checkDbConnInfo(DatabaseInfoVO vo); +// +// /** +// * 스키마 내 테이블정보를 [inst_db_tbl_info] 테이블에 저장한다. +// * +// * @param tbVo +// * @return +// */ +// int insertDbTblInfo(TableInfoVO tbVo) throws Exception; +// +// +// +// /** +// * 컬럼 정보를 [inst_tbl_col_info] 테이블에 저장한다. +// * +// * @param colVo +// * @return +// */ +// public int insertTblColInfo(ColumnInfoVO colVo) throws Exception; + +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/service/impl/ComtsrcdataServiceImpl.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/service/impl/ComtsrcdataServiceImpl.java new file mode 100644 index 0000000..2f86b34 --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/service/impl/ComtsrcdataServiceImpl.java @@ -0,0 +1,38 @@ +package egovframework.com.mtdata.comtsrcdata.service.impl; + +import egovframework.com.mtdata.comtsrcdata.mapper.ComtsrcdataMapper; +import egovframework.com.mtdata.comtsrcdata.service.ComtsrcdataService; +import egovframework.com.mtdata.comtsrcdata.vo.ComtExtrtVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO; +import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO; +import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +@Service("ComtsrcdataService") +public class ComtsrcdataServiceImpl extends EgovAbstractServiceImpl implements ComtsrcdataService { + + @Resource(name = "ComtsrcdataMapper") + private ComtsrcdataMapper comtsrcdataMapper; + + @Override + public int insertComtExtrtInfo(ComtExtrtVO vo) throws Exception { + return comtsrcdataMapper.insertComtExtrtInfo(vo); + } + + @Override + public int insertComtSrcdataInfo(ComtsrcdataVO vo) throws Exception { + return comtsrcdataMapper.insertComtSrcdataInfo(vo); + } + @Override + public int insertComtTabledataInfo(ComtTableVO vo) throws Exception { + return comtsrcdataMapper.insertComtTabledataInfo(vo); + } + + + @Override + public int updateDatasrc(ComtsrcdataVO vo) throws Exception { + return comtsrcdataMapper.updateDatasrc(vo); + } +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtColVO.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtColVO.java new file mode 100644 index 0000000..89d60ab --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtColVO.java @@ -0,0 +1,16 @@ +package egovframework.com.mtdata.comtsrcdata.vo; + +import lombok.Getter; +import lombok.Setter; + +// author : psh +@Getter +@Setter +public class ComtColVO { + /** 원천데이터 테이블 ID */ + private int srcDataMetaId; + /** 원천데이터 컬럼 ID*/ + private int srcDataColId; + /** 원천데이터 컬럼명 */ + private String srcDataColNm; +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtExtrtVO.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtExtrtVO.java new file mode 100644 index 0000000..88175eb --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtExtrtVO.java @@ -0,0 +1,18 @@ +package egovframework.com.mtdata.comtsrcdata.vo; + +import lombok.Getter; +import lombok.Setter; + +// author : psh +@Getter +@Setter +public class ComtExtrtVO { + + /** 추출 날짜 */ + private String extrYmd; + /** 추출한 기관정보시스템 ID */ + private int sysId; + /** 추출 ID */ + private int extrId; + +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtTableVO.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtTableVO.java new file mode 100644 index 0000000..d436fef --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtTableVO.java @@ -0,0 +1,17 @@ +package egovframework.com.mtdata.comtsrcdata.vo; + +import lombok.Getter; +import lombok.Setter; + +// author : psh +@Getter +@Setter +public class ComtTableVO { + /** 원천데이터 데이터 ID */ + private int srcDataId ; + /** 원천데이터 테이블 ID */ + private int srcDataMetaId; + /** 원천데이터 테이블 이름 */ + private String srcDataTblNm; + +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtsrcdataVO.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtsrcdataVO.java new file mode 100644 index 0000000..f6fd519 --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/vo/ComtsrcdataVO.java @@ -0,0 +1,16 @@ +package egovframework.com.mtdata.comtsrcdata.vo; + +import lombok.Getter; +import lombok.Setter; + +// author : psh +@Getter +@Setter +public class ComtsrcdataVO { + /** 원천데이터 데이터 ID */ + private int srcDataId ; + /** 추출 ID */ + private int extrId; + /** 원천데이터 값 */ + private String srcDataVl; +} diff --git a/src/main/java/egovframework/com/mtdata/comtsrcdata/web/ComtsrcdataController.java b/src/main/java/egovframework/com/mtdata/comtsrcdata/web/ComtsrcdataController.java new file mode 100644 index 0000000..ef0c65e --- /dev/null +++ b/src/main/java/egovframework/com/mtdata/comtsrcdata/web/ComtsrcdataController.java @@ -0,0 +1,83 @@ +package egovframework.com.mtdata.comtsrcdata.web; + +import egovframework.com.mtdata.comtsrcdata.service.ComtsrcdataService; +import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO; +import egovframework.com.mtdata.database.vo.DatabaseInfoVO; +//import org.json.simple.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.sql.*; + +@RestController +@RequestMapping("/api") +public class ComtsrcdataController { + + /** Service */ + @Resource(name = "ComtsrcdataService") + private ComtsrcdataService service; + + + private static final Logger log = LoggerFactory.getLogger(ComtsrcdataController.class); + + @RequestMapping("/comtsrcdataTest.do") + @Transactional(rollbackFor = Exception.class) + public String insertDbConn(@ModelAttribute DatabaseInfoVO vo) throws Exception { + + try { + // jsonb 데이터 업데이트 테스트 + ComtsrcdataVO comtvo = new ComtsrcdataVO(); + comtvo.setSrcDataVl("{\"id\":\"1\", \"field1\":\"ccc\"}"); + int test = service.updateDatasrc(comtvo); + return "원천데이터 컨트롤러 ::"+test; + } catch (Exception e) { + log.error("Exception {}", e); + throw new RuntimeException(e.getMessage()); + } + + + } + + + @RequestMapping("/selectComtsrcdata.do") + @Transactional(rollbackFor = Exception.class) + public String selectComtsrcdata( ) throws Exception { + + try { + String url = "jdbc:mysql://" + "223.130.160.210" + ":" + "3306" + "/"; + Connection conn = DriverManager.getConnection(url, "replica_user", "dpcPW12!@"); + String selectTableSql = "SELECT * FROM smku.test_table1"; + Statement stmt = conn.createStatement(); + ResultSet datas = stmt.executeQuery(selectTableSql); + + while (datas.next()){ + +// JSONObject obj = new JSONObject(); +// ResultSetMetaData rsmd = datas.getMetaData(); +// int coCnt = rsmd.getColumnCount(); +// for (int i=0; i + + + + + + + + + + + + + + + + + + + + SELECT nextval('comtextrtblinfo_extr_tbl_id_seq') as extrId + + INSERT INTO comtextrtblinfo + (extr_id, extr_ymd, sys_id) + VALUES + (#{extrId}, CURRENT_TIMESTAMP, #{sysId}) + + + + + + SELECT nextval('comtsrcdata_extr_tbl_id_seq') as srcDataId + + insert into comtsrcdata + (src_data_id, extr_id, src_data_vl) + values + (#{srcDataId}, #{extrId}, #{srcDataVl}) + + + + + + SELECT nextval('comtsrcdatameta_src_data_meta_id_seq') as srcDataId + + insert into comtsrcdatameta (src_data_meta_id, src_data_id, src_data_tbl_nm) + values (#{srcDataMetaId}, #{srcDataId}, #{srcDataTblNm}) + + + + update comtsrcdata + set src_data_vl= ((#{srcDataVl})::jsonb) + where src_data_id= 2 + + + + diff --git a/src/main/resources/egovframework/sqlmap/mtdata/sql-mapper-config.xml b/src/main/resources/egovframework/sqlmap/mtdata/sql-mapper-config.xml index 47aaaff..e683fda 100644 --- a/src/main/resources/egovframework/sqlmap/mtdata/sql-mapper-config.xml +++ b/src/main/resources/egovframework/sqlmap/mtdata/sql-mapper-config.xml @@ -18,7 +18,10 @@ - + + + +