diff --git a/src/main/java/com/emr/service/ImportExcel/ImportExcelJudgeMethod.java b/src/main/java/com/emr/service/ImportExcel/ImportExcelJudgeMethod.java index 5be3514..3d1b97d 100644 --- a/src/main/java/com/emr/service/ImportExcel/ImportExcelJudgeMethod.java +++ b/src/main/java/com/emr/service/ImportExcel/ImportExcelJudgeMethod.java @@ -1,12 +1,12 @@ package com.emr.service.ImportExcel; import com.emr.dao.CommomMapper; +import com.emr.dao.ExportTaskDetailsMapper; import com.emr.dao.ExportTaskMapper; import com.emr.dao.approve.Emr_Apply_ApproveMapper; import com.emr.entity.ExportTask; import com.emr.entity.ExportTaskDetails; import com.emr.entity.Power_User; -import com.emr.entity.ResultUtil; import com.emr.entity.approve.Emr_Apply_Approve; import com.emr.vo.commomSearch.CommomVo; import org.apache.commons.lang3.StringUtils; @@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -45,6 +46,9 @@ import java.util.List; public class ImportExcelJudgeMethod { //公共批量插入方法 private static final String SIMPLEINSERT = "SimpleInsert"; + + private static final String TABLE_NAME = "t_scan_assort"; + @Autowired private CommomMapper commomMapper; @Autowired @@ -53,6 +57,9 @@ public class ImportExcelJudgeMethod { @Autowired private ExportTaskMapper exportTaskMapper; + @Autowired + private ExportTaskDetailsMapper exportTaskDetailsMapper; + /****************************************导入公共判断******************************************************/ /** * 批量插入 @@ -96,7 +103,7 @@ public class ImportExcelJudgeMethod { } - for (int i = 0; i < list.size(); i++) { + /* for (int i = 0; i < list.size(); i++) { ExportTaskDetails exportTaskDetails = (ExportTaskDetails) list.get(i); exportTaskDetails.setTaskid(task.getTaskId()); } @@ -107,8 +114,34 @@ public class ImportExcelJudgeMethod { Class cls = bean.getClass(); //获取执行方法 Method method = cls.getDeclaredMethod(SIMPLEINSERT, List.class); - t = (int) method.invoke(bean, list); + t = (int) method.invoke(bean, list);*/ + ///查询表列数 + List detailsList = new ArrayList<>(); + try { + int colCount = commomMapper.selectColByTableName(TABLE_NAME); + // 预防除数为0的情况 + if (colCount == 0) { + throw new IllegalArgumentException("Column count cannot be zero."); + } + int simpleInsertCount = 2100/colCount; + for (int i = 0; i < list.size(); i++) { + //处理批量添加sql太长问题,设定个数为180 + if(i != 0 && detailsList.size()%simpleInsertCount == 0){ + detailsList.clear(); + } + ExportTaskDetails exportTaskDetails = (ExportTaskDetails) list.get(i); + exportTaskDetails.setTaskid(task.getTaskId()); + detailsList.add(exportTaskDetails); + //是180的倍数或最后一个 + if(detailsList.size()%simpleInsertCount == 0 || i == list.size() - 1){ + exportTaskDetailsMapper.SimpleInsert(detailsList); + detailsList.clear(); // 清空list,准备下一次插入 + } + } + }catch (Exception e){ + e.printStackTrace(); + } } return t; }