浏览代码

整改提交

wangming 11 月之前
父节点
当前提交
dcd3b2649d

+ 4 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxProjectRectifyMachineDao.java

@@ -3,6 +3,10 @@ package com.rongwei.bscommon.sys.dao;
 import com.rongwei.bsentity.domain.ZhcxProjectRectifyMachineDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>

+ 2 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxProjectRectifyMachineService.java

@@ -3,6 +3,8 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZhcxProjectRectifyMachineDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 项目整改清单 服务类

+ 2 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/ZhcxProjectRectifyService.java

@@ -3,6 +3,8 @@ package com.rongwei.bscommon.sys.service;
 import com.rongwei.bsentity.domain.ZhcxProjectRectifyDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 项目整改清单 服务类

+ 2 - 4
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxProjectManageServiceImpl.java

@@ -3,13 +3,11 @@ package com.rongwei.bscommon.sys.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ArrayUtil;
 import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.aspose.cells.*;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.rongwei.bscommon.sys.config.api.ResponseVO;
 import com.rongwei.bscommon.sys.dao.LuckysheetDao;
 import com.rongwei.bscommon.sys.feign.LuckySheetService;
 import com.rongwei.bscommon.sys.service.*;
@@ -822,7 +820,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
         //解析数据
         Map<String, JSONObject> rowMap = cellMerge2Row(prjTitle, celldatas);
         //保存
-        saveSummaryDataByRow(rowMap, summaryDataBo);
+        assembleSaveSummaryData(rowMap, summaryDataBo);
 
     }
 
@@ -832,7 +830,7 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
      * @param rowMap
      * @param summaryDataBo
      */
-    private void saveSummaryDataByRow(Map<String, JSONObject> rowMap, SaveSummaryDataBo summaryDataBo) {
+    private void assembleSaveSummaryData(Map<String, JSONObject> rowMap, SaveSummaryDataBo summaryDataBo) {
 
         List<ZhcxProjectRectifyDo> mainList = new ArrayList<>();
         List<ZhcxProjectRectifyMachineDo> slaveList = new ArrayList<>();

+ 31 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxProjectRectifyMachineServiceImpl.java

@@ -4,9 +4,14 @@ import com.rongwei.bsentity.domain.ZhcxProjectRectifyMachineDo;
 import com.rongwei.bscommon.sys.dao.ZhcxProjectRectifyMachineDao;
 import com.rongwei.bscommon.sys.service.ZhcxProjectRectifyMachineService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 项目整改清单 服务实现类
@@ -21,6 +26,9 @@ public class ZhcxProjectRectifyMachineServiceImpl extends ServiceImpl<ZhcxProjec
     @Autowired
     private ZhcxProjectRectifyMachineDao dao;
 
+    @Autowired
+    private SqlSessionFactory sqlSessionFactory;
+
     /**
      * 通过项目删除
      *
@@ -32,4 +40,27 @@ public class ZhcxProjectRectifyMachineServiceImpl extends ServiceImpl<ZhcxProjec
         rectifyMachineDo.setBatchid(batchId);
         dao.deleteByBatchId(rectifyMachineDo);
     }
+
+    /**
+     * 批量插入
+     *
+     * @param list
+     */
+    @Override
+    public void insertBath(List<ZhcxProjectRectifyMachineDo> list) {
+
+        int batchSize = 500; // 假设每个批次大小为10000
+        int listSize = list.size();
+
+        // 分批执行
+        for (int i = 0; i < listSize; i += batchSize) {
+            List<ZhcxProjectRectifyMachineDo> batchList = list.subList(i, Math.min(i + batchSize, listSize));
+
+            try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
+                ZhcxProjectRectifyMachineDao mapper = sqlSession.getMapper(ZhcxProjectRectifyMachineDao.class);
+                mapper.insertBatch(batchList);
+                sqlSession.commit();
+            }
+        }
+    }
 }

+ 30 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxProjectRectifyServiceImpl.java

@@ -6,9 +6,14 @@ import com.rongwei.bscommon.sys.dao.ZhcxProjectRectifyDao;
 import com.rongwei.bscommon.sys.service.ZhcxProjectRectifyService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bsentity.domain.ZhcxProjectRectifyMachineDo;
+import org.apache.ibatis.session.ExecutorType;
+import org.apache.ibatis.session.SqlSession;
+import org.apache.ibatis.session.SqlSessionFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 项目整改清单 服务实现类
@@ -26,6 +31,9 @@ public class ZhcxProjectRectifyServiceImpl extends ServiceImpl<ZhcxProjectRectif
     @Autowired
     private ZhcxProjectRectifyMachineService rectifyMachineService;
 
+    @Autowired
+    private SqlSessionFactory sqlSessionFactory;
+
     /**
      * 通过项目id删除历史数据
      *
@@ -41,4 +49,26 @@ public class ZhcxProjectRectifyServiceImpl extends ServiceImpl<ZhcxProjectRectif
         machineDo.setBatchid(batchId);
         dao.deleteByBatchId(machineDo);
     }
+
+    /**
+     * 批量插入
+     *
+     * @param list
+     */
+    @Override
+    public void insertBatch(List<ZhcxProjectRectifyDo> list) {
+        int batchSize = 500; // 假设每个批次大小为10000
+        int listSize = list.size();
+
+        // 分批执行
+        for (int i = 0; i < listSize; i += batchSize) {
+            List<ZhcxProjectRectifyDo> batchList = list.subList(i, Math.min(i + batchSize, listSize));
+
+            try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) {
+                ZhcxProjectRectifyDao mapper = sqlSession.getMapper(ZhcxProjectRectifyDao.class);
+                mapper.insertBatch(batchList);
+                sqlSession.commit();
+            }
+        }
+    }
 }