From e32ac074e0cdc07b7551155e2e1c24684857f2b7 Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: 星期三, 03 十二月 2025 15:12:19 +0800
Subject: [PATCH] 修改内审

---
 multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckCatalogueMapper.java   |    5 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java |  170 ++++-----------------------
 multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java         |   29 ++--
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java |   70 +++--------
 multi-system/src/main/resources/mapper/system/InternalAuditCheckCatalogueMapper.xml             |   36 +++++
 5 files changed, 100 insertions(+), 210 deletions(-)

diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java
index cffe4d1..b66d190 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/InternalAuditCheckCatalogue.java
@@ -32,6 +32,18 @@
     @TableField("catalogue_id")
     private Integer catalogueId;
 
+    @ApiModelProperty("审核要点")
+    @TableField("point_key")
+    private String pointKey;
+
+    @ApiModelProperty("审核发现")
+    @TableField("find")
+    private String find;
+
+    @ApiModelProperty("审核结果")
+    @TableField("result")
+    private Integer result;
+
     @TableField(exist = false)
     private String number;
 
@@ -40,22 +52,5 @@
 
     @TableField("del_flag")
     private Integer delFlag;
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        InternalAuditCheckCatalogue that = (InternalAuditCheckCatalogue) o;
-        return Objects.equals(catalogueId, that.catalogueId);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(catalogueId);
-    }
-
-    @TableField(exist = false)
-    private List<InternalAuditCheckContent> checkContents;
 
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckCatalogueMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckCatalogueMapper.java
index ae95dc5..22f578c 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckCatalogueMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/InternalAuditCheckCatalogueMapper.java
@@ -15,4 +15,9 @@
     int insertBatch(@Param("catalogues") List<InternalAuditCheckCatalogue> catalogues);
 
     int updatebyCheckId(@Param("id") Integer id);
+
+    void updateCheckCatalogues(List<InternalAuditCheckCatalogue> checkCatalogues);
+
+    int saveBatch(List<InternalAuditCheckCatalogue> checkCatalogues);
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
index 75a943e..06a8bb4 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCarryServiceImpl.java
@@ -122,17 +122,8 @@
                 internalAuditCheck.setEndTime(checkDate.atTime(endTime));
             }
 
-            // 5. 部门ID转换安全处理:避免非数字字符串导致NumberFormatException
-            Integer deptId1 = internalAuditCarryDept.getDeptId();
-            Long deptId;
-            try {
-                deptId = Long.valueOf(deptId1);
-            } catch (NumberFormatException e) {
-                continue;
-            }
-
-            // 6. 查询结果空防护:避免deptDetialVo为null导致后续getSysDeptResponsibilitys()报错
-            DeptDetialVo deptDetialVo = sysDeptService.selectDeptById(deptId);
+            // 查询结果空防护:避免deptDetialVo为null导致后续getSysDeptResponsibilitys()报错
+            DeptDetialVo deptDetialVo = sysDeptService.selectDeptById(Long.valueOf(internalAuditCarryDept.getDeptId()));
             if (deptDetialVo == null) {
                 continue;
             }
@@ -149,25 +140,14 @@
                     InternalAuditCheckCatalogue internalAuditCheckCatalogue = new InternalAuditCheckCatalogue();
                     // 8. clauseId安全转换:避免null导致Math.toIntExact()报错
                     Long clauseId = sysDeptResponsibility.getClauseId();
-                    if (clauseId != null) {
-                        internalAuditCheckCatalogue.setCatalogueId(Math.toIntExact(clauseId));
-                    } else {
-                        continue;
-                    }
 
                     // 9. 条款查询结果空防护:避免sysClauseManagement为null导致getPoints()报错
                     SysClauseManagement sysClauseManagement = sysClauseManagementMapper.selectById(clauseId);
                     if (sysClauseManagement == null) {
                         continue;
                     }
-
-                    // 简化集合创建(原逻辑不变,仅优化初始化)
-                    List<InternalAuditCheckContent> internalAuditCheckContents = new ArrayList<>();
-                    InternalAuditCheckContent internalAuditCheckContent = new InternalAuditCheckContent();
-                    internalAuditCheckContent.setPointKey(sysClauseManagement.getPoints());
-                    internalAuditCheckContents.add(internalAuditCheckContent);
-
-                    internalAuditCheckCatalogue.setCheckContents(internalAuditCheckContents);
+                    internalAuditCheckCatalogue.setCatalogueId(Math.toIntExact(clauseId));
+                    internalAuditCheckCatalogue.setPointKey(sysClauseManagement.getPoints());
                     internalAuditCheckCatalogues.add(internalAuditCheckCatalogue);
                 }
             }
@@ -196,63 +176,36 @@
     }
 
     private CommonResult updateInternalAuditCheck(InternalAuditCarry carry) {
-        // 2. 空指针防护:避免deptList为null导致循环NPE
         List<InternalAuditCarryDept> deptList = carry.getDeptList();
         if (CollectionUtils.isEmpty(deptList)) {
-            log.warn("保存/更新内部审计检查:部门列表为空,companyId={}, year={}");
             return CommonResult.success();
         }
-
         for (InternalAuditCarryDept internalAuditCarryDept : deptList) {
-            // 3. 跳过空的部门项,避免后续NPE
             if (internalAuditCarryDept == null) {
-                log.warn("保存/更新内部审计检查:部门项为null,跳过");
                 continue;
             }
-
             InternalAuditCheck internalAuditCheck = new InternalAuditCheck();
-            // 基础字段赋值(保留原逻辑不变)
             internalAuditCheck.setCompanyId(carry.getCompanyId());
             internalAuditCheck.setYear(carry.getYear());
             internalAuditCheck.setDeptId(internalAuditCarryDept.getDeptId());
             internalAuditCheck.setPersonId(internalAuditCarryDept.getCheckId());
             internalAuditCheck.setCheckTime(internalAuditCarryDept.getDate());
-
-            // 4. 时间字段安全赋值:避免date/startTime/endTime为null导致atTime()报错
             LocalDate checkDate = internalAuditCarryDept.getDate();
             LocalTime startTime = internalAuditCarryDept.getStartTime();
             LocalTime endTime = internalAuditCarryDept.getEndTime();
             if (checkDate != null && startTime != null) {
                 internalAuditCheck.setStartTime(checkDate.atTime(startTime));
-            } else {
-                log.warn("保存/更新内部审计检查:开始时间构造失败(日期/时段为空),deptId={}");
             }
             if (checkDate != null && endTime != null) {
                 internalAuditCheck.setEndTime(checkDate.atTime(endTime));
-            } else {
-                log.warn("保存/更新内部审计检查:结束时间构造失败(日期/时段为空),deptId={}");
             }
-
-            // 5. 部门ID转换安全处理:避免非数字字符串导致NumberFormatException
-            Integer deptIdStr = internalAuditCarryDept.getDeptId();
-
-            Long deptId;
-            try {
-                deptId = Long.valueOf(deptIdStr);
-            } catch (NumberFormatException e) {
-                continue;
-            }
-
             // 6. 查询部门详情空防护:避免deptDetialVo为null导致后续NPE
-            DeptDetialVo deptDetialVo = sysDeptService.selectDeptById(deptId);
+            DeptDetialVo deptDetialVo = sysDeptService.selectDeptById(Long.valueOf(internalAuditCarryDept.getDeptId()));
             if (deptDetialVo == null) {
-                log.warn("保存/更新内部审计检查:未查询到部门详情,deptId={}");
                 continue;
             }
             List<SysDeptResponsibility> sysDeptResponsibilitys = deptDetialVo.getSysDeptResponsibilitys();
-
             List<InternalAuditCheckCatalogue> internalAuditCheckCatalogues = new ArrayList<>();
-
             // 7. 构建查询条件(保留原逻辑,仅优化日志)
             Map<String, Object> queryMap = new HashMap<>();
             queryMap.put("dept_id", internalAuditCheck.getDeptId());
@@ -260,92 +213,40 @@
             queryMap.put("company_id", internalAuditCheck.getCompanyId());
             queryMap.put("del_flag", 0);
             List<InternalAuditCheck> internalAuditChecks = internalAuditCheckService.selectByMap(queryMap);
-            log.debug("保存/更新内部审计检查:查询已有记录,条件={},查询结果数={}");
-
-
-
-            // 9. 循环构建新检查项(增加多层空防护)
+            List<InternalAuditCheckCatalogue> checkCatalogues = new ArrayList<>();
+            if (!CollectionUtils.isEmpty(internalAuditChecks)){
+                batchLoadCheckDetails(internalAuditChecks);
+                checkCatalogues = internalAuditChecks.get(0).getCheckCatalogues();
+            }
+            // 循环构建新检查项
             if (!CollectionUtils.isEmpty(sysDeptResponsibilitys)) {
                 for (SysDeptResponsibility sysDeptResponsibility : sysDeptResponsibilitys) {
                     if (sysDeptResponsibility == null) {
-                        log.warn("保存/更新内部审计检查:部门责任项为null,跳过");
                         continue;
                     }
-
-                    // 防护:clauseId为空跳过,避免Math.toIntExact()报错
-                    Long clauseId = sysDeptResponsibility.getClauseId();
-                    if (clauseId == null) {
-                        log.warn("保存/更新内部审计检查:条款ID为空,跳过该责任项");
-                        continue;
-                    }
-
                     InternalAuditCheckCatalogue catalogue = new InternalAuditCheckCatalogue();
-                    catalogue.setCatalogueId(Math.toIntExact(clauseId));
-
-                    // 防护:条款查询为空跳过,避免getPoints()报错
-                    SysClauseManagement clauseManagement = sysClauseManagementMapper.selectById(clauseId);
+                    catalogue.setCatalogueId(Math.toIntExact(sysDeptResponsibility.getClauseId()));
+                    SysClauseManagement clauseManagement = sysClauseManagementMapper.selectById(sysDeptResponsibility.getClauseId());
                     if (clauseManagement == null) {
                         continue;
                     }
-
-                    // 构建检查内容(保留原逻辑)
-                    List<InternalAuditCheckContent> checkContents = new ArrayList<>();
-                    InternalAuditCheckContent content = new InternalAuditCheckContent();
-                    content.setPointKey(clauseManagement.getPoints());
-                    checkContents.add(content);
-                    catalogue.setCheckContents(checkContents);
+                    catalogue.setPointKey(clauseManagement.getPoints());
+                    if (!CollectionUtils.isEmpty(checkCatalogues)){
+                        for (InternalAuditCheckCatalogue checkCatalogue : checkCatalogues) {
+                            if (checkCatalogue.getCatalogueId().equals(catalogue.getCatalogueId())){
+                                catalogue.setFind(checkCatalogue.getFind());
+//                                catalogue.setPointKey(checkCatalogue.getPointKey());
+                                catalogue.setResult(checkCatalogue.getResult());
+                            }
+                        }
+                    }
 
                     internalAuditCheckCatalogues.add(catalogue);
                 }
-            } else {
-                log.debug("保存/更新内部审计检查:部门无责任项,deptId={}");
             }
-
-            // 8. 批量加载详情 + 合并已有检查项(关键防护:避免internalAuditChecks为空导致get(0)索引越界)
-            if (!CollectionUtils.isEmpty(internalAuditChecks)) {
-                batchLoadCheckDetails(internalAuditChecks);
-                InternalAuditCheck firstCheck = internalAuditChecks.get(0);
-                List<InternalAuditCheckCatalogue> existingCatalogues = firstCheck.getCheckCatalogues();
-
-                // 仅当旧数据非空、且新数据已存在时,才筛选合并旧数据
-                if (!CollectionUtils.isEmpty(existingCatalogues) && !internalAuditCheckCatalogues.isEmpty()) {
-                    // 提取新数据的所有catalogue_id(用Set实现O(1)快速匹配)
-                    Set<Integer> newCatalogueIds = internalAuditCheckCatalogues.stream()
-                            .map(InternalAuditCheckCatalogue::getCatalogueId)
-                            .collect(Collectors.toSet());
-
-                    // 筛选旧数据:仅保留与新数据catalogue_id匹配的记录(避免无用旧数据)
-                    List<InternalAuditCheckCatalogue> matchedOldCatalogues = existingCatalogues.stream()
-                            .filter(oldCata -> newCatalogueIds.contains(oldCata.getCatalogueId()))
-                            .collect(Collectors.toList());
-
-                    // 合并筛选后的旧数据(新数据已在列表中,旧数据仅加匹配项)
-                    internalAuditCheckCatalogues.addAll(matchedOldCatalogues);
-                } else if (CollectionUtils.isEmpty(internalAuditCheckCatalogues)) {
-                    log.warn("保存/更新内部审计检查:无新构建的检查项,不合并旧数据,deptId={}, year={}");
-                } else {
-                    log.warn("保存/更新内部审计检查:已有记录无检查项,deptId={}, year={}");
-                }
-            }
-
-// 去重优化:按catalogue_id可靠去重(核心修改:替代distinct(),避免依赖equals/hashCode)
-            List<InternalAuditCheckCatalogue> uniqueCatalogues = internalAuditCheckCatalogues.stream()
-                    .collect(Collectors.toMap(
-                            InternalAuditCheckCatalogue::getCatalogueId, // 唯一键:catalogue_id(确保去重逻辑)
-                            Function.identity(), // 值:检查项对象
-                            (oldVal, newVal) -> newVal // 冲突策略:保留新数据(如需保留旧数据,改为oldVal)
-                    ))
-                    .values()
-                    .stream()
-                    .collect(Collectors.toList());
-
-// 最终设置(新数据全部保留,旧数据仅保留匹配项)
-            internalAuditCheck.setCheckCatalogues(uniqueCatalogues);
-            internalAuditCheck.setCheckCatalogues(uniqueCatalogues);
-
+            internalAuditCheck.setCheckCatalogues(internalAuditCheckCatalogues);
             // 新增/更新判断(保留原逻辑,增加日志)
             if (CollectionUtils.isEmpty(internalAuditChecks)) {
-
                 internalAuditCheckService.insertInternalAuditCheck(internalAuditCheck);
             } else {
                 InternalAuditCheck existingCheck = internalAuditChecks.get(0);
@@ -353,10 +254,8 @@
                 internalAuditCheckService.updateByYearAndDeptId(internalAuditCheck);
             }
         }
-
         return CommonResult.success();
     }
-
 
 
     private void batchLoadCheckDetails(List<InternalAuditCheck> checks) {
@@ -365,25 +264,14 @@
                 .map(InternalAuditCheck::getId)
                 .collect(Collectors.toList());
 
+        if (CollectionUtils.isEmpty(checkIds)){
+            return;
+        }
         //批量查询所有目录
         List<InternalAuditCheckCatalogue> allCatalogues = checkCatalogueMapper.selectByCheckIds(checkIds);
-
         if (CollectionUtils.isEmpty(allCatalogues)) {
             return;
         }
-
-        //收集所有目录ID
-        List<Integer> catalogueIds = allCatalogues.stream()
-                .map(InternalAuditCheckCatalogue::getId)
-                .collect(Collectors.toList());
-
-        //批量查询所有内容
-        List<InternalAuditCheckContent> allContents = checkContentMapper.selectByCatalogueIds(catalogueIds);
-
-        //按目录ID分组内容
-        Map<Integer, List<InternalAuditCheckContent>> contentMap = allContents.stream()
-                .collect(Collectors.groupingBy(InternalAuditCheckContent::getCheckCatalogueId));
-
         //按检查ID分组目录
         Map<Integer, List<InternalAuditCheckCatalogue>> catalogueMap = allCatalogues.stream()
                 .collect(Collectors.groupingBy(InternalAuditCheckCatalogue::getCheckId));
@@ -392,10 +280,6 @@
         for (InternalAuditCheck check : checks) {
             List<InternalAuditCheckCatalogue> catalogues = catalogueMap.get(check.getId());
             if (!CollectionUtils.isEmpty(catalogues)) {
-                for (InternalAuditCheckCatalogue catalogue : catalogues) {
-                    List<InternalAuditCheckContent> contents = contentMap.get(catalogue.getId());
-                    catalogue.setCheckContents(contents != null ? contents : new ArrayList<>());
-                }
                 check.setCheckCatalogues(catalogues);
             }
         }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
index 82fbd3a..31e852d 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InternalAuditCheckServiceImpl.java
@@ -79,13 +79,6 @@
                 .map(InternalAuditCheckCatalogue::getId)
                 .collect(Collectors.toList());
 
-        //批量查询所有内容
-        List<InternalAuditCheckContent> allContents = checkContentMapper.selectByCatalogueIds(catalogueIds);
-
-        //按目录ID分组内容
-        Map<Integer, List<InternalAuditCheckContent>> contentMap = allContents.stream()
-                .collect(Collectors.groupingBy(InternalAuditCheckContent::getCheckCatalogueId));
-
         //按检查ID分组目录
         Map<Integer, List<InternalAuditCheckCatalogue>> catalogueMap = allCatalogues.stream()
                 .collect(Collectors.groupingBy(InternalAuditCheckCatalogue::getCheckId));
@@ -94,10 +87,6 @@
         for (InternalAuditCheck check : checks) {
             List<InternalAuditCheckCatalogue> catalogues = catalogueMap.get(check.getId());
             if (!CollectionUtils.isEmpty(catalogues)) {
-                for (InternalAuditCheckCatalogue catalogue : catalogues) {
-                    List<InternalAuditCheckContent> contents = contentMap.get(catalogue.getId());
-                    catalogue.setCheckContents(contents != null ? contents : new ArrayList<>());
-                }
                 check.setCheckCatalogues(catalogues);
             }
         }
@@ -117,7 +106,6 @@
             return CommonResult.failed("当前部门存在,请勿重复添加");
         }
 
-
         internalAuditCheck.setCreateBy(SecurityUtils.getUsername());
         internalAuditCheck.setCreateTime(LocalDateTime.now());
         int insert = internalAuditCheckMapper.insert(internalAuditCheck);
@@ -130,44 +118,18 @@
             return CommonResult.success();
         }
         //批量处理目录和内容
-        batchInsertCataloguesAndContents(internalAuditCheck.getId(), checkCatalogues);
-        return CommonResult.success();
-
-    }
-
-    private void batchInsertCataloguesAndContents(Integer checkId, List<InternalAuditCheckCatalogue> catalogues) {
-        // 1. 设置目录的检查ID并批量插入
-        for (InternalAuditCheckCatalogue catalogue : catalogues) {
-            catalogue.setCheckId(checkId);
+        for (InternalAuditCheckCatalogue catalogue : checkCatalogues) {
+            catalogue.setCheckId(internalAuditCheck.getId());
         }
 
         // 批量插入目录
-        int catalogueInsertCount = checkCatalogueMapper.insertBatch(catalogues);
-        if (catalogueInsertCount != catalogues.size()) {
+        int catalogueInsertCount = checkCatalogueMapper.insertBatch(checkCatalogues);
+
+        if (catalogueInsertCount != checkCatalogues.size()) {
             throw new RuntimeException("插入目录记录数量不匹配");
         }
+        return CommonResult.success();
 
-        // 2. 收集所有内容并设置目录ID
-        List<InternalAuditCheckContent> allContents = new ArrayList<>();
-        for (int i = 0; i < catalogues.size(); i++) {
-            InternalAuditCheckCatalogue catalogue = catalogues.get(i);
-            List<InternalAuditCheckContent> contents = catalogue.getCheckContents();
-
-            if (!CollectionUtils.isEmpty(contents)) {
-                for (InternalAuditCheckContent content : contents) {
-                    content.setCheckCatalogueId(catalogue.getId());
-                }
-                allContents.addAll(contents);
-            }
-        }
-
-        // 3. 批量插入内容
-        if (!CollectionUtils.isEmpty(allContents)) {
-            int contentInsertCount = checkContentMapper.insertBatchs(allContents);
-            if (contentInsertCount != allContents.size()) {
-                throw new RuntimeException("插入内容记录数量不匹配");
-            }
-        }
     }
 
     @Override
@@ -176,14 +138,17 @@
         internalAuditCheck.setUpdateTime(LocalDateTime.now());
         int update = internalAuditCheckMapper.updateById(internalAuditCheck);
         if (update>0){
-            checkCatalogueMapper.updatebyCheckId(internalAuditCheck.getId());
-
             List<InternalAuditCheckCatalogue> checkCatalogues = internalAuditCheck.getCheckCatalogues();
             if (CollectionUtils.isEmpty(checkCatalogues)) {
                 return CommonResult.success();
             }
+            for (InternalAuditCheckCatalogue catalogue : checkCatalogues) {
+                catalogue.setCheckId(internalAuditCheck.getId());
+            }
 
-            batchInsertCataloguesAndContents(internalAuditCheck.getId(), checkCatalogues);
+            // 批量插入目录
+             checkCatalogueMapper.updateCheckCatalogues(checkCatalogues);
+
             return CommonResult.success();
         }
         return CommonResult.failed();
@@ -210,7 +175,16 @@
         if (update>0){
             checkCatalogueMapper.updatebyCheckId(internalAuditCheck.getId());
             List<InternalAuditCheckCatalogue> checkCatalogues = internalAuditCheck.getCheckCatalogues();
-            batchInsertCataloguesAndContents(internalAuditCheck.getId(), checkCatalogues);
+            for (InternalAuditCheckCatalogue catalogue : checkCatalogues) {
+                catalogue.setCheckId(internalAuditCheck.getId());
+            }
+
+            // 批量插入目录
+            int catalogueInsertCount = checkCatalogueMapper.saveBatch(checkCatalogues);
+
+            if (catalogueInsertCount != checkCatalogues.size()) {
+                throw new RuntimeException("插入目录记录数量不匹配");
+            }
         }
         return CommonResult.success();
     }
diff --git a/multi-system/src/main/resources/mapper/system/InternalAuditCheckCatalogueMapper.xml b/multi-system/src/main/resources/mapper/system/InternalAuditCheckCatalogueMapper.xml
index 114eec0..8dc506d 100644
--- a/multi-system/src/main/resources/mapper/system/InternalAuditCheckCatalogueMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/InternalAuditCheckCatalogueMapper.xml
@@ -5,17 +5,46 @@
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
         INSERT INTO internal_audit_check_catalogue (
         check_id,
-        catalogue_Id
+        catalogue_Id,
+        point_key
         ) VALUES
         <foreach collection="catalogues" item="item" separator=",">
             (
             #{item.checkId},
-            #{item.catalogueId}
+            #{item.catalogueId},
+             #{item.pointKey}
+            )
+        </foreach>
+    </insert>
+    <insert id="saveBatch">
+        INSERT INTO internal_audit_check_catalogue (
+        check_id,
+        catalogue_Id,
+        point_key,
+        find
+        ) VALUES
+        <foreach collection="list" item="item" separator=",">
+            (
+            #{item.checkId},
+            #{item.catalogueId},
+            #{item.pointKey},
+             #{item.find}
             )
         </foreach>
     </insert>
     <update id="updatebyCheckId">
         update internal_audit_check_catalogue set del_flag =1 where check_id = #{id}
+    </update>
+    <update id="updateCheckCatalogues">
+        <foreach collection="list" item="item" separator=";">
+            UPDATE internal_audit_check_catalogue
+            <set>
+                <if test="item.pointKey != null">`point_key` = #{item.pointKey},</if>
+                <if test="item.find != null">`find` = #{item.find},</if>
+                <if test="item.result != null">`result` = #{item.result},</if>
+            </set>
+            WHERE `id` = #{item.id}
+        </foreach>
     </update>
 
     <select id="selectByCheckIds" resultType="com.gkhy.exam.system.domain.InternalAuditCheckCatalogue">
@@ -23,6 +52,9 @@
             iacc.`id`,
             iacc.`check_id`,
             iacc.`catalogue_id`,
+            iacc.`point_key`,
+            iacc.`find`,
+            iacc.`result`,
             c.`clause_num` as number,
             c.`name` as mess,
             iacc.`del_flag`

--
Gitblit v1.9.2