서청우 서청우 2024-02-07
240207 임재현 중복분석페이지 선택대상 테이블에서 컬럼명 조회는 미완
@a0e70c6dee3aaba64a97946ef93122bd8515a7ab
server/main/java/kr/co/takensoft/dataQuality/rule/dao/DupRulManagementDAO.java
--- server/main/java/kr/co/takensoft/dataQuality/rule/dao/DupRulManagementDAO.java
+++ server/main/java/kr/co/takensoft/dataQuality/rule/dao/DupRulManagementDAO.java
@@ -47,4 +47,28 @@
      */
     List<HashMap<String, Object>> selectDuplRuleId(HashMap<String,Object> params) throws Exception;
 
+    /**
+     * 중복 검사 선택 대상 테이블 조회
+     *
+     * @author 임재현
+     * @since 2024.02.06
+     */
+    List<HashMap<String,Object>> selectCheckedList(HashMap<String,Object>params) throws Exception;
+
+
+    /**
+     * 중복 검사 선택 대상 테이블 페이징
+     *
+     * @author 임재현
+     * @since 2024.02.06
+     */
+    public int countCheckedList(HashMap<String,Object> params) throws Exception;
+
+    /**
+     * 중복 검사 선택 대상 테이블 컬럼명 조회 기능 (미완)
+     *
+     * @author 임재현
+     * @since 2024.02.06
+     */
+    public String selectColumnNm(int params) throws Exception;
 }
server/main/java/kr/co/takensoft/dataQuality/rule/service/DupRulManagementService.java
--- server/main/java/kr/co/takensoft/dataQuality/rule/service/DupRulManagementService.java
+++ server/main/java/kr/co/takensoft/dataQuality/rule/service/DupRulManagementService.java
@@ -5,6 +5,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 
@@ -47,19 +48,27 @@
      * @author 정다정
      * @since 2024.01.26
      */
-    public int insertDupRule(HashMap<String, Object> params) throws Exception {
+    public int insertDupRule(HashMap<String,Object> params) throws Exception {
+
+        System.out.println("params = " + params);
+
+        List<Integer> columnList = (List<Integer>) params.get("columnList");
+
+        params.put("mainColumnId", columnList.get(0));
+        params.put("columnListId", columnList.toString().replaceAll("[\\[\\]]",""));
+
         dupRulManagementDAO.insertDupRule(params);
 
-        params.put("rule_type", "dupl_rule");
-
-        List<HashMap<String, Object>> duplRuleIdList = dupRulManagementDAO.selectDuplRuleId(params);
-
-        for (HashMap<String, Object> row : duplRuleIdList) {
-            Integer duplRuleId = (Integer) row.get("dupl_rule_id");
-            params.put("rule_id", duplRuleId);
-
-            manageDAO.insertManageRule(params);
-        }
+//        params.put("rule_type", "dupl_rule");
+//
+//        List<HashMap<String, Object>> duplRuleIdList = dupRulManagementDAO.selectDuplRuleId(params);
+//
+//        for (HashMap<String, Object> row : duplRuleIdList) {
+//            Integer duplRuleId = (Integer) row.get("dupl_rule_id");
+//            params.put("rule_id", duplRuleId);
+//
+//            manageDAO.insertManageRule(params);
+//        }
         return 1;
     }
 
@@ -70,18 +79,58 @@
      * @since 2024.02.01
      */
     public int deleteDupRule(HashMap<String,Object> params) throws Exception{
-        List<HashMap<String, Object>> duplRuleIdList = dupRulManagementDAO.selectDuplRuleId(params);
-
-        for (HashMap<String, Object> row : duplRuleIdList) {
-            Integer duplRuleId = (Integer) row.get("dupl_rule_id");
-            params.put("rule_id", duplRuleId);
-            HashMap<String, Object> manage_id = manageDAO.selectManageId(params);
-            Integer manageRuleId = (Integer) manage_id.get("manage_rule_id");
-            params.put("manage_rule_id", manageRuleId);
-            manageDAO.deleteManageRule(params);
-        }
+//        List<HashMap<String, Object>> duplRuleIdList = dupRulManagementDAO.selectDuplRuleId(params);
+//
+//        for (HashMap<String, Object> row : duplRuleIdList) {
+//            Integer duplRuleId = (Integer) row.get("dupl_rule_id");
+//            params.put("rule_id", duplRuleId);
+//            HashMap<String, Object> manage_id = manageDAO.selectManageId(params);
+//            Integer manageRuleId = (Integer) manage_id.get("manage_rule_id");
+//            params.put("manage_rule_id", manageRuleId);
+//            manageDAO.deleteManageRule(params);
+//        }
 
         return dupRulManagementDAO.deleteDupRule(params);
     }
+    /**
+     * 중복 분석 선택 대상 테이블 조회
+     * 컬럼명 조회 기능 (미완)
+     *
+     * @author 임재현
+     * @since 2024.02.06
+     */
+    public List<HashMap<String,Object>> selectCheckedList(HashMap<String,Object> params) throws Exception{
+        int currentPage = (int) params.get("curPage");
+        int perPage = (int) params.get("perPage");
+        int startIndex = (currentPage - 1) * perPage;
+        params.put("startIndex", startIndex);
 
+        String s = (String) dupRulManagementDAO.selectCheckedList(params).get(0).get("column_id_list");
+        System.out.println("(String) dupRulManagementDAO.selectCheckedList(params).get(0) : " + dupRulManagementDAO.selectCheckedList(params).get(0));
+
+        int[] a = Arrays.stream(s.split(", ")).mapToInt(Integer::parseInt).toArray();
+
+        System.out.println(a[0]);
+        System.out.println(a[1]);
+        System.out.println(a[2]);
+
+        System.out.println("s : " + s);
+        String str = "";
+        System.out.println("a.length : " + a.length);
+
+        System.out.println("dupRulManagementDAO.selectColumnNm(a[i]) : " + dupRulManagementDAO.selectColumnNm(a[0]));
+        for(int i = 0; i<a.length; i++)
+        {
+
+            str += dupRulManagementDAO.selectColumnNm(a[i]) + ", ";
+        }
+        System.out.println("str : "+ str);
+
+        return dupRulManagementDAO.selectCheckedList(params);
+    }
+
+
+    public int countCheckedList(HashMap<String,Object> params) throws Exception{
+        return dupRulManagementDAO.countCheckedList(params);
+    }
 }
server/main/java/kr/co/takensoft/dataQuality/rule/web/DupRulManagementController.java
--- server/main/java/kr/co/takensoft/dataQuality/rule/web/DupRulManagementController.java
+++ server/main/java/kr/co/takensoft/dataQuality/rule/web/DupRulManagementController.java
@@ -9,6 +9,7 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import java.util.HashMap;
+import java.util.List;
 
 @Controller
 public class DupRulManagementController {
@@ -56,4 +57,19 @@
         mav.addObject("result", dupRulManagementService.deleteDupRule(params));
         return mav;
     }
+
+    /**
+     * 중복 분석 선택 대상 테이블 조회, 중복검사 선택 대상 테이블 페이징
+     *
+     * @author 임재현
+     * @since 2024.02.06
+     */
+    @RequestMapping(value = "/selectCheckedList.json", method = RequestMethod.POST)
+    public ModelAndView selectCheckedList(@RequestBody HashMap<String,Object> params) throws Exception {
+        System.out.println("selectCheckedList : " + params);
+        ModelAndView mav = new ModelAndView("jsonView");
+        mav.addObject("table", dupRulManagementService.selectCheckedList(params));
+        mav.addObject("count", dupRulManagementService.countCheckedList(params));
+        return mav;
+    }
 }
server/main/resources/mybatis/main/DupRulManagement-SQL.xml
--- server/main/resources/mybatis/main/DupRulManagement-SQL.xml
+++ server/main/resources/mybatis/main/DupRulManagement-SQL.xml
@@ -49,14 +49,14 @@
         내용 : 중복 분석 컬럼 저장
       -->
     <insert id="insertDupRule" parameterType="HashMap">
-        INSERT INTO dupl_rule (column_id, dqi_id)
+        INSERT INTO dupl_rule (column_id, column_id_list, dqi_id)
         VALUES
-        <foreach collection="columnList" item="item" separator=",">
-            (
-            #{item.column_id}
-            , 9
-            )
-        </foreach>
+        (
+            #{mainColumnId},
+            #{columnListId},
+            9
+        )
+
     </insert>
 
     <!--
@@ -87,4 +87,47 @@
         </foreach>
     </select>
 
+    <!--
+    작성자 : 임재현
+    작성일 : 2024.02.06
+    내용 : 중복검사 선택 대상 테이블 조회
+    -->
+    <select id="selectCheckedList" parameterType="HashMap" resultType="HashMap">
+        SELECT
+            dr.column_id_list
+        FROM
+            dupl_rule dr
+        JOIN
+            column_data cd ON cd.column_id = dr.column_id
+        ORDER BY
+            dr.dupl_rule_id ASC
+        OFFSET #{startIndex} LIMIT #{perPage};
+    </select>
+
+    <!--
+    작성자 : 임재현
+    작성일 : 2024.02.06
+    내용 : 중복검사 선택 대상 테이블 페이징
+    -->
+    <select id="countCheckedList" parameterType="HashMap" resultType="int">
+        SELECT
+            count(*)
+        FROM
+            dupl_rule dr
+        JOIN
+            column_data cd ON cd.column_id = dr.column_id
+    </select>
+    <!--
+    작성자 : 임재현
+    작성일 : 2024.02.06
+    내용 : 중복검사 선택 대상 테이블 컬럼명 조회 기능 (미완)
+    -->
+    <select id="selectColumnNm" parameterType="int" resultType="String">
+        SELECT
+            column_nm
+        FROM
+            column_data
+        WHERE
+            column_id = #{b}
+    </select>
 </mapper>
(파일 끝에 줄바꿈 문자 없음)
Add a comment
List