diff --git a/src/test/java/youhong/ai/pcn/TestOrganization.java b/src/test/java/youhong/ai/pcn/TestOrganization.java index c8b4da6..0c43783 100644 --- a/src/test/java/youhong/ai/pcn/TestOrganization.java +++ b/src/test/java/youhong/ai/pcn/TestOrganization.java @@ -5,14 +5,6 @@ import aiyh.utils.httpUtil.HttpMultipartFile; import aiyh.utils.httpUtil.ResponeVo; import aiyh.utils.httpUtil.util.HttpUtils; import basetest.BaseTest; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.metadata.CellData; -import com.alibaba.excel.metadata.Head; -import com.alibaba.excel.write.handler.CellWriteHandler; -import com.alibaba.excel.write.metadata.WriteSheet; -import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; -import com.alibaba.excel.write.metadata.holder.WriteTableHolder; import com.alibaba.fastjson.JSON; import com.api.youhong.ai.pcn.organization.orgchart.service.OrgChartService; import com.api.youhong.ai.pcn.organization.orgchart.vo.OrgChartNodeVo; @@ -24,6 +16,9 @@ import weaver.conn.RecordSet; import weaver.formmode.interfaces.action.WorkflowToMode; import weaver.general.GCONST; import weaver.hrm.User; +import weaver.soa.workflow.request.RequestInfo; +import weaver.soa.workflow.request.RequestService; +import weaver.workflow.request.RequestManager; import weaver.xiao.commons.config.entity.MultipartFile; import weaver.xiao.commons.config.entity.RequestMappingConfig; import weaver.xiao.commons.config.service.DealWithMapping; @@ -32,7 +27,10 @@ import weaver.youhong.ai.pcn.hrorganization.wesmat.model.Employee; import weaver.youhong.ai.pcn.hrorganization.wesmat.model.Position; import weaver.youhong.ai.pcn.hrorganization.wesmat.result.GetOrganizationResult; -import java.io.*; +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -267,191 +265,5 @@ public class TestOrganization extends BaseTest { System.out.println(execute); } - - @Test - public void testEasyExcel() throws FileNotFoundException { - String tempPath = "/Users/aoey.oct.22/company/Fan_wei/test_file/muban.xlsx"; - String filePath = "/Users/aoey.oct.22/company/Fan_wei/test_file/muban1.xlsx"; - FileOutputStream outputStream = new FileOutputStream(filePath); - int[] mergeColumeIndex = {0, 1}; - int mergeRowIndex = 1; - ExcelWriter excelWriter = EasyExcel.write(outputStream) - .withTemplate(tempPath) - .registerWriteHandler(new ExcelFillCellMergeStrategy(mergeRowIndex, mergeColumeIndex)) - .build(); - WriteSheet sheet = EasyExcel.writerSheet().build(); - excelWriter.fill(buildList(), sheet); - - excelWriter.finish(); - try { - outputStream.close(); - } catch (IOException e) { - } - } - - public List> buildList() { - List> list = new ArrayList<>(); - list.add(new HashMap() {{ - put("addr", "北京"); - put("kinds", "生活用品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "北京"); - put("kinds", "生活用品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "北京"); - put("kinds", "电子产品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "北京"); - put("kinds", "电子产品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "上海"); - put("kinds", "生活用品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "上海"); - put("kinds", "生活用品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "上海"); - put("kinds", "电子商品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "云南"); - put("kinds", "生活用品"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "云南"); - put("kinds", "电子铲平"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "云南"); - put("kinds", "蘑菇"); - put("price", 10); - put("num", 80); - }}); - list.add(new HashMap() {{ - put("addr", "云南"); - put("kinds", "蘑菇"); - put("price", 10); - put("num", 80); - }}); - - return list; - } -} - -class ExcelFillCellMergeStrategy implements CellWriteHandler { - - /** 需要进行单元格合并的列数组 **/ - private int[] mergeColumnIndex; - /** 单元格合并从第几行开始 **/ - private int mergeRowIndex; - - public ExcelFillCellMergeStrategy() {} - - public ExcelFillCellMergeStrategy(int mergeRowIndex, int[] mergeColumnIndex) { - this.mergeRowIndex = mergeRowIndex; - this.mergeColumnIndex = mergeColumnIndex; - } - - - @Override - public void beforeCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Row row, Head head, Integer integer, Integer integer1, Boolean aBoolean) { - - } - - @Override - public void afterCellCreate(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, Cell cell, Head head, Integer integer, Boolean aBoolean) { - - } - - @Override - public void afterCellDataConverted(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, CellData cellData, Cell cell, Head head, Integer integer, Boolean aBoolean) { - - } - - @Override - public void afterCellDispose(WriteSheetHolder writeSheetHolder, WriteTableHolder writeTableHolder, - List list, Cell cell, Head head, Integer integer, Boolean isHead) { - int curRowIndex = cell.getRowIndex(); - int curColIndex = cell.getColumnIndex(); - if (curRowIndex > mergeRowIndex) { - for (int i = 0; i < mergeColumnIndex.length; i++) { - if (curColIndex == mergeColumnIndex[i]) { - mergeWithPrevRow(writeSheetHolder, cell, curRowIndex, curColIndex); - break; - } - } - } - } - - /** - * 当前单元格向上合并 - * - * @param writeSheetHolder 表格数据写入处理对象 - * @param cell 当前单元格 - * @param curRowIndex 当前行 - * @param curColIndex 当前列 - */ - private void mergeWithPrevRow(WriteSheetHolder writeSheetHolder, Cell cell, int curRowIndex, int curColIndex) { - // 获取当前单元格的数据 - Object curData = - cell.getCellTypeEnum() == CellType.STRING ? cell.getStringCellValue() : cell.getNumericCellValue(); - // 获取当前shert表 - Sheet sheet1 = cell.getSheet(); - // 获取当前的行,有可能获取到空行 - Row row = sheet1.getRow(curRowIndex - 1); - if (row == null) { - row = sheet1.getRow(curRowIndex); - } - Cell preCell = row.getCell(curColIndex); - Object preData = - preCell.getCellTypeEnum() == CellType.STRING ? preCell.getStringCellValue() : preCell.getNumericCellValue(); - // 将当前单元格数据与上一个单元格数据比较 - Boolean dataBool = preData.equals(curData); - if (dataBool) { - 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); - } - } - } }