diff --git a/evo-admin/pom.xml b/evo-admin/pom.xml
index 7906769..ae0e554 100644
--- a/evo-admin/pom.xml
+++ b/evo-admin/pom.xml
@@ -214,6 +214,15 @@
nashorn-core
15.4
+
+
+
+ com.kingdee.bos
+ k3cloud-webapi-sdk-java11
+ v8.2.0
+ system
+ ${project.basedir}/src/main/resources/lib/k3cloud-webapi-sdk-java11-v8.2.0.jar
+
diff --git a/evo-admin/src/main/java/com/evo/common/annotation/Excel.java b/evo-admin/src/main/java/com/evo/common/annotation/Excel.java
index 1e58bbc..b147861 100644
--- a/evo-admin/src/main/java/com/evo/common/annotation/Excel.java
+++ b/evo-admin/src/main/java/com/evo/common/annotation/Excel.java
@@ -5,9 +5,11 @@ import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
+
+import com.evo.common.utils.poi.handler.ExcelFieldHandlerAdapter;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.IndexedColors;
-import com.evo.common.utils.poi.ExcelHandlerAdapter;
+import com.evo.common.utils.poi.handler.ExcelHandlerAdapter;
/**
* 自定义导出Excel数据注解
@@ -148,6 +150,15 @@ public @interface Excel
*/
public Class> handler() default ExcelHandlerAdapter.class;
+ /**
+ * 自定义数据处理器
+ */
+ public boolean customExcelField() default false;
+ /**
+ * 自定义数据处理器
+ */
+ public Class> excelFieldHandler() default ExcelFieldHandlerAdapter.class;
+
/**
* 自定义数据处理器参数
*/
diff --git a/evo-admin/src/main/java/com/evo/common/utils/ParamUtils.java b/evo-admin/src/main/java/com/evo/common/utils/ParamUtils.java
index b14e87a..210844a 100644
--- a/evo-admin/src/main/java/com/evo/common/utils/ParamUtils.java
+++ b/evo-admin/src/main/java/com/evo/common/utils/ParamUtils.java
@@ -284,7 +284,7 @@ public class ParamUtils {
* @return
*/
public static List getFullPaidLeave(){
- RzSysParam param= paramService.getRzSysParam("全薪发放的假期", "full_paid_leave","54,56,58,59,60","全薪发放的假期; 54-年休假,56-婚假,58-陪产假,59-丧假,60-工伤假");
+ RzSysParam param= paramService.getRzSysParam("全薪发放的假期", "full_paid_leave","54,56,57,58,59,60","全薪发放的假期; 54-年休假, 56-婚假,57-产假,58-陪产假,59-丧假,60-工伤假 (55-调休假 这是个特殊的假期, 加班会自动抵扣)");
return Collections.asList(param.getParamValue().split(",")).stream().filter(StringUtils::isNotEmpty).map(Long::valueOf).collect(Collectors.toList());
}
diff --git a/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil.java b/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil.java
index 2733761..f7771bb 100644
--- a/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil.java
+++ b/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil.java
@@ -24,6 +24,8 @@ import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
+
+import com.evo.common.utils.poi.handler.ExcelHandlerAdapter;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.RegExUtils;
import org.apache.commons.lang3.reflect.FieldUtils;
diff --git a/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil1.java b/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil1.java
new file mode 100644
index 0000000..0b19ce3
--- /dev/null
+++ b/evo-admin/src/main/java/com/evo/common/utils/poi/ExcelUtil1.java
@@ -0,0 +1,1889 @@
+package com.evo.common.utils.poi;
+
+import com.evo.common.annotation.Excel;
+import com.evo.common.annotation.Excel.ColumnType;
+import com.evo.common.annotation.Excel.Type;
+import com.evo.common.annotation.Excels;
+import com.evo.common.config.EvoConfig;
+import com.evo.common.core.domain.AjaxResult;
+import com.evo.common.core.text.Convert;
+import com.evo.common.exception.UtilException;
+import com.evo.common.utils.Collections;
+import com.evo.common.utils.DateUtils;
+import com.evo.common.utils.DictUtils;
+import com.evo.common.utils.StringUtils;
+import com.evo.common.utils.file.FileTypeUtils;
+import com.evo.common.utils.file.FileUtils;
+import com.evo.common.utils.file.ImageUtils;
+import com.evo.common.utils.poi.handler.ExcelHandlerAdapter;
+import com.evo.common.utils.reflect.ReflectUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.RegExUtils;
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.ooxml.POIXMLDocumentPart;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.ss.util.CellRangeAddressList;
+import org.apache.poi.util.IOUtils;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.*;
+import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Excel相关处理
+ *
+ * @author evo
+ */
+public class ExcelUtil1
+{
+ private static final Logger log = LoggerFactory.getLogger(ExcelUtil1.class);
+
+ public static final String FORMULA_REGEX_STR = "=|-|\\+|@";
+
+ public static final String[] FORMULA_STR = { "=", "-", "+", "@" };
+
+ /**
+ * 用于dictType属性数据存储,避免重复查缓存
+ */
+ public Map sysDictMap = new HashMap();
+
+ /**
+ * Excel sheet最大行数,默认65536
+ */
+ public static final int sheetSize = 65536;
+
+ /**
+ * 工作表名称
+ */
+ private String sheetName;
+
+ /**
+ * 导出类型(EXPORT:导出数据;IMPORT:导入模板)
+ */
+ private Type type;
+
+ /**
+ * 工作薄对象
+ */
+ private Workbook wb;
+
+ /**
+ * 工作表对象
+ */
+ private Sheet sheet;
+
+ /**
+ * 样式列表
+ */
+ private Map styles;
+
+ /**
+ * 导入导出数据列表
+ */
+ private List list;
+
+ /**
+ * 注解列表
+ */
+ private List