|
|
@@ -22,7 +22,6 @@ import com.xjrsoft.common.enums.WarehouseModeEnum;
|
|
|
import com.xjrsoft.common.exception.MyException;
|
|
|
import com.xjrsoft.common.utils.excel.ExcelFillCellMergePrevColUtil;
|
|
|
import com.xjrsoft.module.base.entity.BaseClass;
|
|
|
-import com.xjrsoft.module.base.entity.BaseClassroom;
|
|
|
import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
import com.xjrsoft.module.base.mapper.BaseClassMapper;
|
|
|
import com.xjrsoft.module.base.service.IBaseClassService;
|
|
|
@@ -41,7 +40,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -603,67 +605,24 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
|
|
|
WriteTable writeSheetHeadTable = EasyExcel.writerTable(tableIndex).needHead(Boolean.TRUE).head(sheetHeadList).registerWriteHandler(sheetHeadColumn).build();
|
|
|
excelWriter.write(new ArrayList<>(), writeSheet, writeSheetHeadTable);
|
|
|
|
|
|
- //对返回的集合进行处理
|
|
|
- //现针对学期进行分组
|
|
|
- Map<Long, List<TextbookClaimExportQueryVo>> groupedBySemester = customerList.stream()
|
|
|
- .collect(Collectors.groupingBy(TextbookClaimExportQueryVo::getBaseSemesterId));
|
|
|
-
|
|
|
- Iterator<Map.Entry<Long, List<TextbookClaimExportQueryVo>>> groupedBySemesterIterator = groupedBySemester.entrySet().iterator();
|
|
|
- while (groupedBySemesterIterator.hasNext()) {
|
|
|
- Map.Entry<Long, List<TextbookClaimExportQueryVo>> groupedBySemesterEntry = groupedBySemesterIterator.next();
|
|
|
- Long key = groupedBySemesterEntry.getKey();
|
|
|
- List<TextbookClaimExportQueryVo> value = groupedBySemesterEntry.getValue();
|
|
|
-
|
|
|
- Map<Long, List<TextbookClaimExportQueryVo>> groupedBySemesterByClass = value.stream()
|
|
|
- .collect(Collectors.groupingBy(TextbookClaimExportQueryVo::getClassId));
|
|
|
-
|
|
|
- Iterator<Map.Entry<Long, List<TextbookClaimExportQueryVo>>> groupedBySemesterByClassIdIterator = groupedBySemesterByClass.entrySet().iterator();
|
|
|
- while (groupedBySemesterByClassIdIterator.hasNext()) {
|
|
|
- Map.Entry<Long, List<TextbookClaimExportQueryVo>> entry = groupedBySemesterByClassIdIterator.next();
|
|
|
- Long k = entry.getKey();
|
|
|
- List<TextbookClaimExportQueryVo> v = entry.getValue();
|
|
|
-
|
|
|
- //这是一个table的表头
|
|
|
- List<List<String>> tableHeadList = new ArrayList<List<String>>();
|
|
|
- tableHeadList.add(new ArrayList<String>(){{
|
|
|
- add("日期:" + v.get(0).getBaseSemesterIdCn() + " 班级:" + v.get(0).getClassIdCn() + " 班主任:" + v.get(0).getHeadTeacherName() + " 教室:" + v.get(0).getClassRoomName() + " ");
|
|
|
- }});
|
|
|
- //table的表头合并策略
|
|
|
- ExcelFillCellMergePrevColUtil tableHeadColumn = new ExcelFillCellMergePrevColUtil();
|
|
|
- tableHeadColumn.add(++rowIndex, 0, 9);
|
|
|
- //这是一个table表头的table
|
|
|
- WriteTable writeTableHeadTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).head(tableHeadList).registerWriteHandler(tableHeadColumn).build();
|
|
|
- excelWriter.write(new ArrayList<>(), writeSheet, writeTableHeadTable);
|
|
|
- // 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要
|
|
|
- WriteTable writeContentTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).build();
|
|
|
- // 第一次写入会创建头
|
|
|
- excelWriter.write(v, writeSheet, writeContentTable);
|
|
|
- //添加小计
|
|
|
- ExcelFillCellMergePrevColUtil column = new ExcelFillCellMergePrevColUtil();
|
|
|
- //column.add(lsit.size() + 1, 0, 1);
|
|
|
-
|
|
|
- rowIndex += (1 + v.size());
|
|
|
- }
|
|
|
+ for (int i = 0; i < 3; i++){
|
|
|
+ //这是一个table的表头
|
|
|
+ List<List<String>> tableHeadList = new ArrayList<List<String>>();
|
|
|
+ tableHeadList.add(new ArrayList<String>(){{
|
|
|
+ add("日期:2023春期 班级:23数控1班 班主任:路童话 教室:4502");
|
|
|
+ }});
|
|
|
+ //table的表头合并策略
|
|
|
+ ExcelFillCellMergePrevColUtil tableHeadColumn = new ExcelFillCellMergePrevColUtil();
|
|
|
+ tableHeadColumn.add(++rowIndex, 0, 9);
|
|
|
+ //这是一个table表头的table
|
|
|
+ WriteTable writeTableHeadTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).head(tableHeadList).registerWriteHandler(tableHeadColumn).build();
|
|
|
+ excelWriter.write(new ArrayList<>(), writeSheet, writeTableHeadTable);
|
|
|
+ // 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要
|
|
|
+ WriteTable writeContentTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).build();
|
|
|
+ // 第一次写入会创建头
|
|
|
+ excelWriter.write(customerList, writeSheet, writeContentTable);
|
|
|
+ rowIndex += (1 + customerList.size());
|
|
|
}
|
|
|
-
|
|
|
-// for (int i = 0; i < 3; i++){
|
|
|
-// //这是一个table的表头
|
|
|
-// List<List<String>> tableHeadList = new ArrayList<List<String>>();
|
|
|
-// tableHeadList.add(new ArrayList<String>(){{
|
|
|
-// add("日期:2023春期 班级:23数控1班 班主任:路童话 教室:4502");
|
|
|
-// }});
|
|
|
-// //table的表头合并策略
|
|
|
-// ExcelFillCellMergePrevColUtil tableHeadColumn = new ExcelFillCellMergePrevColUtil();
|
|
|
-// tableHeadColumn.add(++rowIndex, 0, 9);
|
|
|
-// //这是一个table表头的table
|
|
|
-// WriteTable writeTableHeadTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).head(tableHeadList).registerWriteHandler(tableHeadColumn).build();
|
|
|
-// excelWriter.write(new ArrayList<>(), writeSheet, writeTableHeadTable);
|
|
|
-// // 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要
|
|
|
-// WriteTable writeContentTable = EasyExcel.writerTable(++tableIndex).needHead(Boolean.TRUE).build();
|
|
|
-// // 第一次写入会创建头
|
|
|
-// excelWriter.write(customerList, writeSheet, writeContentTable);
|
|
|
-// rowIndex += (1 + customerList.size());
|
|
|
-// }
|
|
|
}
|
|
|
|
|
|
// EasyExcel.write(bot, TextbookClaimExportQueryVo.class).automaticMergeHead(true).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
|