컬럼 삭제 API 수정

This commit is contained in:
psh 2024-06-12 10:58:21 +09:00
parent c90c49bacf
commit ddec2b6a8d
9 changed files with 105 additions and 53 deletions

View File

@ -0,0 +1,21 @@
package egovframework.com.mtdata.comtrls.dto;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class ComtrlsMultiColDTO {
private int rlsDataId;
private List<Col> colsArr;
private List<String> colsNmArr;
@Data
public static class Col{
private int rlsDataColId;
}
}

View File

@ -1,14 +1,12 @@
package egovframework.com.mtdata.comtrls.mapper;
import egovframework.com.mtdata.comtrls.dto.ComtrlsMultiColDTO;
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.ComtExtrtVO;
import egovframework.com.mtdata.comtsrcdata.vo.ComtsrcdataVO;
import org.apache.ibatis.annotations.Select;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
import java.util.Map;
import java.util.List;
@ -60,24 +58,46 @@ public interface ComtrlsdataMapper {
*/
List<ComtrlsSrcdataVO> selectComtrlsSrcData(ComtrlsSrcdataVO vo);
/**
* [comtrlSrcData] 컬럼이름 조회
*
* @param vo
* @return vo
* @throws Exception
*/
List<String> selectComtrlsColNm(ComtrlsMultiColDTO vo);
/**
* 공유데이터 컬럼정보 삭제
*
* @param param
* @param colDTO
* @return
* @throws Exception
*/
int deleteComtrlsCol(Map<String, Object> param) throws Exception;
int deleteComtrlsCol(ComtrlsMultiColDTO colDTO) throws Exception;
/**
* 공유데이터 데이터 내에서 컬럼 삭제
*
* @param param
* @param colDTO
* @return
* @throws Exception
*/
int deleteComtrlsData(Map<String, Object> param) throws Exception;
int deleteComtrlsData(ComtrlsMultiColDTO colDTO) throws Exception;
// /**
// * 공유데이터 데이터 내에서 컬럼 삭제 _new
// *
// * @param map
// * @return
// * @throws Exception
// */
// int deleteComtrlsData(Map<String, Object> map) throws Exception;
void deIdentificationMasking(ComtrlsColVO vo) throws Exception;

View File

@ -1,5 +1,6 @@
package egovframework.com.mtdata.comtrls.service;
import egovframework.com.mtdata.comtrls.dto.ComtrlsMultiColDTO;
import egovframework.com.mtdata.comtrls.dto.ComtrlsSrcdataDTO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsColVO;
import egovframework.com.mtdata.comtrls.vo.ComtrlsMetaDataVO;
@ -26,11 +27,11 @@ public interface ComtrlsdataService {
/**
* 공유데이터 컬럼메타정보 삭제 : DELETE [comtrlsdatacol], json 데이터에서도 삭제 : UPDATE [COMTRLSDATA]
*
* @param param
* @param colDTO
* @return
* @throws Exception
*/
public int deleteComtrlsColAndData(Map<String, Object> param) throws Exception;
public int deleteComtrlsColAndData(ComtrlsMultiColDTO colDTO) throws Exception;
//
//

View File

@ -1,21 +1,21 @@
package egovframework.com.mtdata.comtrls.service.impl;
import egovframework.com.mtdata.comtrls.dto.ComtrlsMultiColDTO;
import egovframework.com.mtdata.comtrls.dto.ComtrlsSrcdataDTO;
import egovframework.com.mtdata.comtrls.mapper.ComtrlsdataMapper;
import egovframework.com.mtdata.comtrls.service.ComtrlsdataService;
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.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
@ -65,13 +65,14 @@ public class ComtrlsdataServiceImpl extends EgovAbstractServiceImpl implements C
}
@Override
public int deleteComtrlsColAndData(Map<String, Object> param) throws Exception {
int colCnt = comtrlsdataMapper.deleteComtrlsCol(param);
public int deleteComtrlsColAndData(ComtrlsMultiColDTO colDTO) throws Exception {
List<String> colNmList = comtrlsdataMapper.selectComtrlsColNm(colDTO);
int colCnt = comtrlsdataMapper.deleteComtrlsCol(colDTO);
int colDataCnt = 0;
colDTO.setColsNmArr(colNmList);
if(colCnt>0){
colDataCnt = comtrlsdataMapper.deleteComtrlsData(param);
colDataCnt = comtrlsdataMapper.deleteComtrlsData(colDTO);
}
return colDataCnt;
}

View File

@ -1,22 +1,17 @@
package egovframework.com.mtdata.comtrls.web;
import egovframework.com.mtdata.comtrls.dto.ComtrlsSrcdataDTO;
import egovframework.com.mtdata.comtrls.dto.ComtrlsMultiColDTO;
import egovframework.com.mtdata.comtrls.service.ComtrlsdataService;
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.service.ComtsrcdataService;
import egovframework.com.mtdata.comtsrcdata.vo.ComtTableVO;
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.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
@ -60,10 +55,11 @@ public class ComtrlsdataController {
// 공유데이터 컬럼삭제
@PostMapping(value="/delete/deleteComtrlsColAndData.do")
@ResponseBody
public ResponseEntity<?> deleteComtrlsCol(@RequestBody Map<String, Object> param) throws Exception {
public ResponseEntity<?> deleteComtrlsCol(@RequestBody ComtrlsMultiColDTO colDTO) throws Exception {
try {
Map<String, Object> returnMap = new HashMap<>();
int cnt = comtrlsdataService.deleteComtrlsColAndData(param);
log.info("colDTo", colDTO);
int cnt = comtrlsdataService.deleteComtrlsColAndData(colDTO);
if (cnt>0){
returnMap.put("message", "성공");
}else{
@ -76,8 +72,6 @@ public class ComtrlsdataController {
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(e.getMessage());
}
}
/**

View File

@ -33,13 +33,13 @@ public class DatabaseConnController {
public ResponseEntity<?> insertDbConn(@RequestBody DatabaseInfoVO vo) throws Exception {
/** 하단의 vo.setting은 임시설정으로, 사용자가 입력한 데이터를 vo객체에 받아올 것임 */
vo.setSysId(1); // [inst_sys_info]테이블의 sysId를 참조하고 있음.sysId : 정보시스템 고유 아이디값
vo.setDbConnUser("replica_user");
vo.setDbConnPw("dpcPW12!@");
vo.setDbConnPort(3306);
vo.setDbConnIp("223.130.160.210");
vo.setDbType("mysql");
vo.setRegisterId("qkrrkdus@korea.kr"); // 값은 세션에서 가지고 것임
// vo.setSysId(1); // [inst_sys_info]테이블의 sysId를 참조하고 있음.sysId : 정보시스템 고유 아이디값
// vo.setDbConnUser("replica_user");
// vo.setDbConnPw("dpcPW12!@");
// vo.setDbConnPort(3306);
// vo.setDbConnIp("223.130.160.210");
// vo.setDbType("mysql");
// vo.setRegisterId("qkrrkdus@korea.kr"); // 값은 세션에서 가지고 것임
try {
// 기존 정보 여부 검증

View File

@ -40,23 +40,36 @@
#{rlsYn})
</insert>
<delete id="deleteComtrlsCol" parameterType="java.util.Map">
<select id="selectComtrlsColNm" parameterType="ComtrlsMultiColDTO" resultType="java.util.Map">
SELECT rls_data_col_nm
FROM comtrlsdatacol
WHERE
<if test="colsArr != null">
rls_data_col_id IN
<foreach collection="colsArr" item="item" open="(" close=")" separator=",">
#{item.rlsDataColId}
</foreach>
</if>
</select>
<delete id="deleteComtrlsCol" parameterType="java.util.List">
DELETE FROM comtrlsdatacol
WHERE
<if test="rlsDataColIdArr != null">
<if test="colsArr != null">
rls_data_col_id IN
<foreach collection="rlsDataColIdArr" item="item" open="(" close=")" separator=",">
#{item}
<foreach collection="colsArr" item="item" open="(" close=")" separator=",">
#{item.rlsDataColId}
</foreach>
</if>
</delete>
<delete id="deleteComtrlsData" parameterType="java.util.Map">
<delete id="deleteComtrlsData" parameterType="ComtrlsMultiColDTO">
UPDATE COMTRLSDATA
SET RLS_DATA_VL = RLS_DATA_VL
<if test="rlsDataColIdArr != null">
<foreach collection="rlsDataColIdArr" item="item" open="(" close=")" separator=",">
- #{item}
<if test="colsNmArr != null">
<foreach collection="colsNmArr" item="item">
- #{item.rls_data_col_nm}
</foreach>
</if>
WHERE RLS_DATA_ID = #{rlsDataId}

View File

@ -28,5 +28,8 @@
<typeAlias alias="comtrlsColVO" type="egovframework.com.mtdata.comtrls.vo.ComtrlsColVO"/>
<typeAlias alias="comtrlsSrcdataVO" type="egovframework.com.mtdata.comtrls.vo.ComtrlsSrcdataVO"/>
<typeAlias alias="comtrlsMultiColDTO" type="egovframework.com.mtdata.comtrls.dto.ComtrlsMultiColDTO"/>
</typeAliases>
</configuration>

View File

@ -104,7 +104,7 @@
b.sys_id,
b.db_type
FROM inst_db_info a
LEFT JOIN inst_db_conn_info b ON a.db_conn_id = b.db_conn_id
LEFT JOIN inst_db_conn_info b ON a.db_conn_id = b.db_conn_id AND b.use_yn = 'Y'
LEFT JOIN inst_sys_info c ON b.sys_id = c.sys_id
WHERE b.register_id = #{registerId}
AND a.use_yn = 'Y'
@ -221,18 +221,17 @@
</insert>
<update id="updateInstDbInfo" parameterType="DBInfoVO">
UPDATE INST_DB_CONN_INFO
<set>
<if test="dbNm != null and dbNm != ''">
db_nm = #{dbNm},
</if>
<if test="dbComment != null and dbComment != ''">
db_cmment = #{dbComment},
</if>
<if test="useYn != null and useYn != ''">
use_yn = #{useYn},
</if>
</set>
UPDATE inst_db_info
SET regist_date = current_time
<if test="dbNm != null and dbNm != ''">
,db_nm = #{dbNm}
</if>
<if test="dbCmment != null and dbCmment != ''">
,db_cmment = #{dbCmment}
</if>
<if test="useYn != null and useYn != ''">
,use_yn = #{useYn}
</if>
WHERE db_link_id = #{dbLinkId}
</update>