박정하 박정하 04-25
250425 박정하 이슈 수정
@a8dfa906af3c10a21d54f826e169086880c6f029
src/main/java/com/takensoft/taken_bi_manager/common/connection/db/dao/DatabaseDAO.java
--- src/main/java/com/takensoft/taken_bi_manager/common/connection/db/dao/DatabaseDAO.java
+++ src/main/java/com/takensoft/taken_bi_manager/common/connection/db/dao/DatabaseDAO.java
@@ -202,15 +202,15 @@
 	 *  데이터 셋의 비우기 (데이터 셋 내용삭제)
 	 */
 	public abstract int emptyDataset (DataTable dataTable) throws Exception;
-	
+
 	/**
 	 * @author 김성원
 	 * @since 2022.1.20
-	 * 
+	 *
 	 *  실제 생성된 컬럼 변경
 	 */
 	public abstract int  tableColumnChange (TableBasicInfo tableBasicInfo) throws Exception;
-	
+
 	/**
 	 * @author 김성원
 	 * @since 2022.1.20
src/main/java/com/takensoft/taken_bi_manager/custom/dao/CustomDAO.java
--- src/main/java/com/takensoft/taken_bi_manager/custom/dao/CustomDAO.java
+++ src/main/java/com/takensoft/taken_bi_manager/custom/dao/CustomDAO.java
@@ -206,7 +206,7 @@
      *
      * 커스텀 페이지에 적용된 타이틀 데이터 삭제
      */
-    void componentTitleDelete(CustomComponentVO customComponentVO);
+    void componentTitleDelete(String splitterId);
 
     /**
      * @author 방선주
@@ -214,7 +214,7 @@
      *
      * 커스텀 페이지에 적용된 컴포넌트의 데이터 정보 삭제
      */
-    void componentJobGroupDelete(ComponentJobGroupVO componentJobgroup);
+    void componentJobGroupDelete(String groupId);
 
     /**
      * @author 방선주
src/main/java/com/takensoft/taken_bi_manager/custom/service/impl/CustomServiceImpl.java
--- src/main/java/com/takensoft/taken_bi_manager/custom/service/impl/CustomServiceImpl.java
+++ src/main/java/com/takensoft/taken_bi_manager/custom/service/impl/CustomServiceImpl.java
@@ -548,7 +548,6 @@
         // 페이지 아이디로 컴포넌트 정보 가져오기
         List<CustomComponentVO> componentList = customDAO.componentListSelect(customPageVO);
         for(CustomComponentVO component : componentList) {
-
             // 컴포넌트에 적용된 컬럼 값들 삭제
             HashMap<String, Object> xAixs = new HashMap<>();
             xAixs.put("component_id", component.getComponent_id());
@@ -561,7 +560,7 @@
             customDAO.componentColumnDelete(yAixs);
 
             // 컴포넌트에 적용된 타이틀 정보 삭제
-            customDAO.componentTitleDelete(component);
+            customDAO.componentTitleDelete(customPageVO.getSplitInfo().getSplitter_id());
 
             // 컴포넌트 잡그룹 정보 가져오기
             HashMap<String, Object> componentJobGroupList = customDAO.componentJobGroupSelect(component.getComponent_itm().getComponentJobgroup());
@@ -573,7 +572,9 @@
             jobDAO.jobGroupDelete(jobGroup);
 
             // 컴포넌트에 적용된 잡 그룹 삭제
-            customDAO.componentJobGroupDelete(component.getComponent_itm().getComponentJobgroup());
+            if (component.getJobInfo() != null && !component.getJobInfo().isEmpty()) {
+                customDAO.componentJobGroupDelete(component.getJobInfo().get(0).getGroup_id());
+            }
         }
         // 컴포넌트 삭제
         customDAO.componentDelete(customPageVO);
src/main/java/com/takensoft/taken_bi_manager/custom/vo/ComponentJobGroupVO.java
--- src/main/java/com/takensoft/taken_bi_manager/custom/vo/ComponentJobGroupVO.java
+++ src/main/java/com/takensoft/taken_bi_manager/custom/vo/ComponentJobGroupVO.java
@@ -10,7 +10,6 @@
 @Setter
 public class ComponentJobGroupVO {
     private String component_jobgroup_id; // component jobgroup 아이디
-//    private String group_id; // job_group 아이디
     private List<JobGroup> group_id; // job_group 아이디(석형)
     private int indx; // 순서
-}
+}
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomComponentVO.java
--- src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomComponentVO.java
+++ src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomComponentVO.java
@@ -11,8 +11,6 @@
 @Setter
 public class CustomComponentVO {
     private String component_id;
-
     private List<JobGroup> jobInfo = new ArrayList<>();
-
     private ComponentData Component_itm = new ComponentData();
 }
(파일 끝에 줄바꿈 문자 없음)
src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomPageVO.java
--- src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomPageVO.java
+++ src/main/java/com/takensoft/taken_bi_manager/custom/vo/CustomPageVO.java
@@ -46,7 +46,6 @@
 
     private CustomSplitterVO splitInfo;
 
-
     private String job_flow_id;
 
     // 페이지 URL
src/main/resources/application.properties
--- src/main/resources/application.properties
+++ src/main/resources/application.properties
@@ -30,12 +30,12 @@
 
 spring.web.resources.static-locations=file:///C:/Taken_BI_Manager/imgDir/,classpath:/static/,file:///home/Taken_BI_Manager/imgDir/
 
-# ??? ?? - ?? ??
+# ???
 dev.path=C:\\Taken_BI_Manager
 dev.path.custom=\\imgDir\\
 dev.url=http://localhost
 
-# ??? ?? - ?? ??
+# ???
 prod.path=/home/Taken_BI_Manager
 prod.path.custom=/imgDir/
-prod.url = http://192.168.220.131
(파일 끝에 줄바꿈 문자 없음)
+prod.url = http://111.8.5.136
(파일 끝에 줄바꿈 문자 없음)
src/main/resources/spring/mapper/custom/custom-SQL.xml
--- src/main/resources/spring/mapper/custom/custom-SQL.xml
+++ src/main/resources/spring/mapper/custom/custom-SQL.xml
@@ -387,16 +387,15 @@
         WHERE component_id = #{component_id}
     </delete>
 
-    <delete id="componentTitleDelete" parameterType="CustomSplitterVO" >
+    <delete id="componentTitleDelete" parameterType="String" >
         <!-- 컴포넌트 제목 삭제 -->
         DELETE FROM title_info
-        WHERE splitter_id = #{splitter_id}
+        WHERE splitter_id = #{splitterId}
     </delete>
 
-    <delete id="componentJobGroupDelete" parameterType="ComponentJobGroupVO" >
-        <!-- 컴포넌트 잡그룹 삭제 -->
+    <delete id="componentJobGroupDelete" parameterType="String" >
         DELETE FROM bi_manager.component_jobgroup
-        WHERE component_jobgroup_id = #{component_jobgroup_id}
+        WHERE component_jobgroup_id = #{groupId}
     </delete>
 
     <delete id="componentDelete" parameterType="CustomPageVO" >
@@ -418,9 +417,7 @@
     </delete>
 
     <select id="componentListSelect" parameterType="CustomPageVO" resultMap="customSplitterResultMap">
-        <!-- componentListSelect -->
-        SELECT
-               component_id
+        SELECT component_id
              , component_type
              , chart_knd
              , component_nm
src/main/resources/spring/mapper/sql/postgre-SQL.xml
--- src/main/resources/spring/mapper/sql/postgre-SQL.xml
+++ src/main/resources/spring/mapper/sql/postgre-SQL.xml
@@ -406,7 +406,7 @@
 	<update id="datasetDataUpdate" parameterType="DataTable">
 		INSERT INTO ${databaseNm}.${tableNm}
 		<foreach item="item" index="index" collection="columnDatas" open="(" separator="," close=")">
-			${item.columnNm}
+			'${item.columnNm}'
 		</foreach>
 		VALUES
 		<foreach item="row" collection="rowData" separator=",">
@@ -419,7 +419,7 @@
 					<otherwise>
 						<choose>
 							<when test="columnDatas[index].pkAt == true">
-								${cell}
+								#{cell}
 							</when>
 							<when test="columnDatas[index].dbDataType == 'varchar' or
 								columnDatas[index].dbDataType == 'datetime' or
@@ -431,7 +431,7 @@
 								#{cell}
 							</when>
 							<otherwise>
-								${cell}
+								#{cell}
 							</otherwise>
 						</choose>
 					</otherwise>
@@ -444,7 +444,7 @@
 		SET
 		<foreach item="item" index="index" collection="columnDatas" separator=",">
 			<if test="columnDatas[index].pkAt != null and columnDatas[index].pkAt == false">
-				${item.columnNm} = ExCLUDED.${item.columnNm}
+				'${item.columnNm}' = ExCLUDED.'${item.columnNm}'
 			</if>
 		</foreach>
 	</update>
@@ -576,18 +576,40 @@
 		내용 : 실제 생성된 컬럼 변경
 	 -->
 	<update id="tableColumnChange" parameterType="TableBasicInfo">
-		ALTER TABLE ${tableName}
-
-
-		${process}
 		<if test="process == 'RENAME'">
-			COLUMN
+			ALTER TABLE ${databaseName}.${tableName} RENAME COLUMN ${columnName} TO ${tobeColumnName}
 		</if>
-		${columnName}
-		<if test="process == 'RENAME'">
-			TO ${tobeColumnName}
+		<if test="process == 'ADD'">
+			ALTER TABLE ${databaseName}.${tableName} ADD COLUMN ${columnName}
+			<choose>
+				<when test="dataType == 'datetime'">timestamp</when>
+				<otherwise>${dataType}<if test="dataType == 'varchar'">(${size})</if></otherwise>
+			</choose>
 		</if>
-		<if test="process == 'MODIFY' || process == 'ADD' ">${dataType}<if test="dataType == 'varchar' and process != 'DROP'">(${size})</if></if>
+		<if test="process == 'MODIFY'">
+			<!-- 임시 컬럼 생성 -->
+			ALTER TABLE ${databaseName}.${tableName} ADD COLUMN temp_${columnName}
+			<choose>
+				<when test="dataType == 'datetime'">timestamp</when>
+				<otherwise>${dataType}<if test="dataType == 'varchar'">(${size})</if></otherwise>
+			</choose>;
+
+			<!-- 데이터 복사 -->
+			UPDATE ${databaseName}.${tableName} SET temp_${columnName} = ${columnName}::
+			<choose>
+				<when test="dataType == 'datetime'">timestamp</when>
+				<otherwise>${dataType}<if test="dataType == 'varchar'">(${size})</if></otherwise>
+			</choose>;
+
+			<!-- 기존 컬럼 삭제 -->
+			ALTER TABLE ${databaseName}.${tableName} DROP COLUMN ${columnName};
+
+			<!-- 임시 컬럼 이름 변경 -->
+			ALTER TABLE ${databaseName}.${tableName} RENAME COLUMN temp_${columnName} TO ${columnName}
+		</if>
+		<if test="process == 'DROP'">
+			ALTER TABLE ${databaseName}.${tableName} DROP COLUMN ${columnName}
+		</if>
 	</update>
 
 
Add a comment
List