diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/ExcelMergeStrategy.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/ExcelMergeStrategy.java deleted file mode 100644 index 141c7de5d7..0000000000 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/ExcelMergeStrategy.java +++ /dev/null @@ -1,213 +0,0 @@ -package com.epmet.commons.tools.utils.poi.excel.handler; - -/** - * desc: - * - * @author: LiuJanJun - * @date: 2022/4/26 1:36 下午 - * @version: 1.0 - */ - -import com.alibaba.excel.enums.CellDataTypeEnum; -import com.alibaba.excel.metadata.Head; -import com.alibaba.excel.metadata.data.CellData; -import com.alibaba.excel.metadata.data.WriteCellData; -import com.alibaba.excel.write.handler.CellWriteHandler; -import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; -import com.alibaba.excel.write.metadata.holder.WriteTableHolder; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.util.CellRangeAddress; - -import java.util.List; -import java.util.Objects; -import java.util.stream.IntStream; - -/** - * 相同值合并策略 - */ - -public class ExcelMergeStrategy implements CellWriteHandler { - - /** - * 合并起始行 - */ - - private int mergeRowIndex; - /** - * 多少行合并一次 - */ - - private int eachRow; - - /** - * 合并字段的下标 - */ - - private int[] mergeColumnIndex; - - public ExcelMergeStrategy(int mergeRowIndex, int[] mergeColumnIndex, int eachRow) { - - if (mergeRowIndex < 0) { - - throw new IllegalArgumentException("mergeRowIndex must be greater than 0"); - - } - - if (eachRow < 0) { - - throw new IllegalArgumentException("eachRow must be greater than 0"); - - } - - this.mergeRowIndex = mergeRowIndex; - - this.mergeColumnIndex = mergeColumnIndex; - - this.eachRow = eachRow; - - } - - @Override - - public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer columnIndex, Integer relativeRowIndex, Boolean isHead) { - } - - @Override - - public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { - } - - // @Override - public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { - - int curRowIndex = cell.getRowIndex(); - -//当前列 - - int curColIndex = cell.getColumnIndex(); - -//合并条件: - -//1.当前行>合并起始行,默认标题行(0)不参加合并 - -//2.间隔行(eachRow)的上下两条不参加合并 - -//2.1间隔行(eachRow)==0时,不设置间隔 - - if (isMerge(curRowIndex)) { - - IntStream.range(0, mergeColumnIndex.length).anyMatch(i -> { - - if (curColIndex == mergeColumnIndex[i]) { - - mergeWithPrevRow(writeSheetHolder, cellData, cell, curRowIndex, curColIndex); - - return true; - - } - - return false; - - }); - - } - - } - - @Override - public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, List> cellDataList, Cell cell, Head head, Integer relativeRowIndex, Boolean isHead) { - } - - /** - * 判断是否合并 - *

- * 1.当前位置必须大于开始位置:curRowIndex > mergeRowIndex - *

- * 2.根据eachRow 判断数据分割的间隔 - *

- * 2.1如果根据eachRow=0,默认不合并 - *

- * 2.2如果1如果根据eachRow>0,分割后的第一条数据不会与之前的合并:(curRowIndex-mergeRowIndex)%eachRow==0 - * - * @return - */ - - private boolean isMerge(Integer curRowIndex) { - if ((curRowIndex > mergeRowIndex) && eachRow > 0) { - - if ((curRowIndex - mergeRowIndex) % eachRow == 0) { - - return false; - - } - - return true; - - } - return false; - - } - - private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, CellData cellData, Cell cell, int curRowIndex, int curColIndex) { - -//获取当前行的当前列的数据和上一行的当前列列数据,通过上一行数据是否相同进行合并 - - Object curData = cellData.getType() == CellDataTypeEnum.STRING ? cellData.getStringValue() : cellData.getNumberValue(); - - Cell preCell = cell.getSheet().getRow(curRowIndex - 1).getCell(curColIndex); - - Object preData = preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() : - - preCell.getNumericCellValue(); - -// 比较当前行的第一列的单元格与上一行是否相同,相同合并当前单元格与上一行 - - if (Objects.equals(curData, preData)) { - - Sheet sheet = writeSheetHolder.getSheet(); - - List mergeRegions = sheet.getMergedRegions(); - - boolean isMerged = false; - - for (int i = 0; i < mergeRegions.size() && !isMerged; i++) { - - CellRangeAddress cellRangeAddr = mergeRegions.get(i); - -// 若上一个单元格已经被合并,则先移出原有的合并单元,再重新添加合并单元 - - if (cellRangeAddr.isInRange(curRowIndex - 1, curColIndex)) { - - sheet.removeMergedRegion(i); - - cellRangeAddr.setLastRow(curRowIndex); - - sheet.addMergedRegion(cellRangeAddr); - - isMerged = true; - - } - - } - -// 若上一个单元格未被合并,则新增合并单元 - - if (!isMerged) { - - CellRangeAddress cellRangeAddress = new CellRangeAddress(curRowIndex - 1, curRowIndex, curColIndex, - - curColIndex); - - sheet.addMergedRegion(cellRangeAddress); - - } - - } - - } - -} - diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/FreezeAndFilter.java similarity index 95% rename from epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java rename to epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/FreezeAndFilter.java index 6b5d5e55c5..13ef447219 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/FreezeAndFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/poi/excel/handler/FreezeAndFilter.java @@ -1,4 +1,4 @@ -package com.epmet.commons.tools.utils.poi.excel; +package com.epmet.commons.tools.utils.poi.excel.handler; /** * desc:easyExcel 冻结标题 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java index b3ed2ab6d8..7428da58be 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcFollowUpRecordController.java @@ -12,7 +12,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.DefaultGroup; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java index 1098aa680e..bcb2a2d134 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcNatController.java @@ -16,12 +16,11 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; import com.epmet.dto.IcNatDTO; import com.epmet.dto.form.AddIcNatFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.MyNatListFormDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; import com.epmet.dto.result.MyNatListResultDTO; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index a8ccb7512a..575e9240f7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -44,7 +44,7 @@ import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.*; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.SystemMessageType; import com.epmet.constants.ImportTaskConstants; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java index cd79899c15..6e1aff48ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcTripReportRecordController.java @@ -17,7 +17,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.IcResiUserConstant; import com.epmet.constants.ImportTaskConstants; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java index 07f3e9305c..9eaefe9513 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcVaccineController.java @@ -16,10 +16,9 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.*; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constants.ImportTaskConstants; -import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.VaccineListFormDTO; import com.epmet.dto.result.IcVaccineListCommonExcelResultDTO; import com.epmet.dto.result.IcVaccineListResultDTO; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java index e14d544b2d..966e294733 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java @@ -22,7 +22,7 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SpringContextUtils; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.commons.tools.utils.poi.excel.handler.ExcelFillCellMergeStrategy; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.IcResiUserConstant; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java index c3ba03acb8..af95579b47 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/PatrolRoutineWorkServiceImpl.java @@ -42,7 +42,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.YuShanSysApiService; -import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; +import com.epmet.commons.tools.utils.poi.excel.handler.FreezeAndFilter; import com.epmet.constant.SystemMessageType; import com.epmet.dao.PatrolRoutineWorkDao; import com.epmet.dao.StatsStaffPatrolRecordDailyDao;