공유데이터 메타정보 등록 및 원천데이터 copy API 추가

This commit is contained in:
박성은 2024-06-11 18:27:27 +09:00
parent 9b18c693b0
commit 3cc88408d1
10 changed files with 93 additions and 42 deletions

View File

@ -79,7 +79,11 @@ public interface ComtrlsdataMapper {
*/
int deleteComtrlsData(Map<String, Object> param) throws Exception;
void deIdentificationMasking(ComtrlsColVO vo) throws Exception;
void insertComtrlsCol(ComtrlsColVO vo) throws Exception;
void insertComtrlsSrcData(ComtrlsSrcdataVO vo) throws Exception;
}

View File

@ -4,6 +4,7 @@ import egovframework.com.mtdata.comtrls.dto.ComtrlsSrcdataDTO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsColVO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsMetaDataVO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsSrcdataVO;
import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO;
import java.util.Map;
@ -19,7 +20,7 @@ public interface ComtrlsdataService {
* @return
* @throws Exception
*/
public int insertComtrlsMetadataInfo(ComtrlsMetaDataVO vo) throws Exception;
void insertComtrlsMetadataInfo(ComtrlsMetaDataVO vo) throws Exception;
/**

View File

@ -7,10 +7,13 @@ import egovframework.com.mtdata.comtrls.vo.ComtrlsColVO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsMetaDataVO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsSrcdataVO;
import egovframework.com.mtdata.comtsrcdata.dto.ComtsrcdataDTO;
import egovframework.com.mtdata.comtsrcdata.mapper.ComtsrcdataMapper;
import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO;
import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.json.simple.parser.JSONParser;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Map;
@ -22,11 +25,43 @@ public class ComtrlsdataServiceImpl extends EgovAbstractServiceImpl implements C
@Resource(name = "ComtrlsdataMapper")
private ComtrlsdataMapper comtrlsdataMapper;
@Resource(name = "ComtsrcdataMapper")
private ComtsrcdataMapper comtsrcdataMapper;
@Override
public int insertComtrlsMetadataInfo(ComtrlsMetaDataVO vo) throws Exception {
return comtrlsdataMapper.insertComtrlsMetadataInfo(vo);
@Transactional(rollbackFor = Exception.class)
public void insertComtrlsMetadataInfo(ComtrlsMetaDataVO vo) throws Exception {
// 공유데이터 메타데이터 저장
ComtTableVO comtTableVO = new ComtTableVO();
comtTableVO.setSrcDataMetaId(vo.getSrcDataMetaId());
ComtTableVO tableVo = comtsrcdataMapper.selectSrcMetaData(comtTableVO);
if (tableVo == null) {
throw new RuntimeException("저장정보 없음");
}
// vo.setRlsDataNm("공유데이터 가져오기 테스트 DATA NAME");
vo.setRlsDataAplcntId(1); // 공유데이터 요청자 ID (임시)
vo.setRlsDataRvwId(3); // 공유데이터 검토자 ID (임시)
vo.setRlsDataMngDeptId(tableVo.getSysId()); // 관리기관 ID
vo.setRlsDataSrcInstId(tableVo.getSysId()); // 공유데이터 출처기관 ID
// vo.setDwnldType("JSON"); // 제공방식 (임시)
// vo.setRlsDataSttsChg("PROGRESS"); // 현재상태 (임시)
vo.setRlsYn("Y"); // 공개여부
comtrlsdataMapper.insertComtrlsMetadataInfo(vo);
// 공유데이터 데이터 저장
ComtrlsSrcdataVO comtrlsSrcdataVO = new ComtrlsSrcdataVO();
comtrlsSrcdataVO.setSrcDataMetaId(vo.getSrcDataMetaId());
comtrlsSrcdataVO.setRlsDataId(vo.getRlsDataId());
comtrlsdataMapper.insertComtrlsSrcData(comtrlsSrcdataVO);
// 공유데이터 컬럼 저장
ComtrlsColVO comtrlsColVO = new ComtrlsColVO();
comtrlsColVO.setSrcDataMetaId(vo.getSrcDataMetaId());
comtrlsColVO.setRlsDataId(vo.getRlsDataId());
comtrlsdataMapper.insertComtrlsCol(comtrlsColVO);
}
@Override

View File

@ -13,6 +13,10 @@ public class ComtrlsColVO {
private int rlsDataId;
/** 공유데이터 컬럼명 */
private String rlsDataColNm;
/** 원천데이터 테이블 ID */
private Integer srcDataMetaId;
}

View File

@ -40,4 +40,7 @@ public class ComtrlsMetaDataVO {
/** 공개여부 */
private String rlsYn;
/** 원천데이터 테이블 ID */
private Integer srcDataMetaId;
}

View File

@ -13,6 +13,10 @@ public class ComtrlsSrcdataVO {
private String rlsDataVl;
/** 공유데이터 테이블 ID */
private int rlsDataId;
/** 원천데이터 테이블 ID */
private Integer srcDataMetaId;
}

View File

@ -41,36 +41,21 @@ public class ComtrlsdataController {
// 공유데이터 요청
// @PostMapping(value="/insert/getComtrls.do")
// @ResponseBody
//// @Transactional(rollbackFor = Exception.class)
// public ResponseEntity<?> comtrls(@RequestBody ComtTableVO comtTbVO) throws Exception {
//
// try {
// comtTbVO.setSrcDataMetaId(3);
// ComtTableVO tableVo = comtsrcdataService.selectSrcMetaData(comtTbVO);
//
// ComtrlsMetaDataVO metaVo = new ComtrlsMetaDataVO();
// metaVo.setRlsDataNm("공유데이터 가져오기 테스트 DATA NAME");
// metaVo.setRlsDataAplcntId(1); // 공유데이터 요청자 ID
// metaVo.setRlsDataRvwId(3); // 공유데이터 검토자 ID
// metaVo.setRlsDataMngDeptId(tableVo.getSysId()); // 관리기관 ID
// metaVo.setRlsDataSrcInstId(tableVo.getSysId()); // 공유데이터 출처기관 ID
// metaVo.setDwnldType("JSON"); // 제공방식
// metaVo.setRlsDataSttsChg("PROGRESS"); // 현재상태
// metaVo.setRlsYn("Y"); // 공개여부
//
// return ResponseEntity.ok().build();
// } catch (Exception e) {
// log.error("Exception {}", e);
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
//
// }
//
// }
@PostMapping(value="/insert/getComtrls.do")
@ResponseBody
@Transactional(rollbackFor = Exception.class)
public ResponseEntity<?> comtrls(@RequestBody ComtrlsMetaDataVO comtrlsMetaDataVO) throws Exception {
try {
comtrlsdataService.insertComtrlsMetadataInfo(comtrlsMetaDataVO);
return ResponseEntity.ok().build();
} catch (Exception e) {
log.error("Exception {}", e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
}
}
// 공유데이터 컬럼삭제
@PostMapping(value="/delete/deleteComtrlsColAndData.do")

View File

@ -10,10 +10,13 @@ import lombok.Setter;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ComtTableVO {
/** 원천데이터 테이블 ID */
private int srcDataMetaId;
private Integer srcDataMetaId;
/** 원천데이터 데이터 ID */
private int extrId ;
private Integer extrId ;
/** 원천데이터 테이블 이름 */
private String srcDataTblNm;
/** 기관시스템 ID */
private Integer sysId;
}

View File

@ -15,6 +15,7 @@
rls_data_src_inst_id,
reg_dt,
crt_ymd,
dwnld_type,
rls_data_stts_chg,
rls_yn)
values (
@ -26,7 +27,8 @@
#{rlsDataMngDeptId},
#{rlsDataSrcInstId},
CURRENT_TIMESTAMP,
#{crt_ymd},
#{crtYmd},
#{dwnldType},
#{rlsDataSttsChg},
#{rlsYn})
</insert>
@ -120,4 +122,16 @@
WHERE rls_data_id = #{rlsDataId}
</update>
<insert id="insertComtrlsCol" parameterType="ComtrlsColVO" >
INSERT INTO comtrlsdata
(rls_data_id, rls_data_vl)
SELECT #{rlsDataId} , src_data_vl FROM comtsrcdata_new WHERE src_data_meta_id = #{srcDataMetaId}
</insert>
<insert id="insertComtrlsSrcData" parameterType="ComtrlsColVO" >
insert into comtrlsdatacol
(rls_data_id, rls_data_col_nm)
select #{rlsDataId} , src_data_col_nm from comtsrcdatacol_new where src_data_meta_id = #{srcDataMetaId}
</insert>
</mapper>

View File

@ -17,12 +17,10 @@
<!-- 원천데이터 -> 공유데이터로 copy할때 이용-->
<select id="selectSrcMetaData" parameterType="ComtTableVO" resultType="ComtTableVO">
SELECT src_data_meta_id,
extr_id,
src_data_tbl_nm
FROM comtsrcdatameta_new
WHERE 1=1
AND src_data_meta_id = #{srcDataMetaId}
SELECT a.src_data_meta_id, a.extr_id, a.src_data_tbl_nm, b.sys_id
FROM comtsrcdatameta_new a
LEFT JOIN comtextrtblinfo b ON a.extr_id = b.extr_id
WHERE a.src_data_meta_id = #{srcDataMetaId}
</select>
<select id="selectSrcColData" parameterType="ComtsrcdataVO" resultType="ComtColVO">