add file upload method
This commit is contained in:
parent
521cecc989
commit
a5024f2dd2
@ -1,13 +1,13 @@
|
|||||||
<component name="libraryTable">
|
<component name="libraryTable">
|
||||||
<library name="Maven: commons-io:commons-io:2.5">
|
<library name="Maven: commons-io:commons-io:1.3.2">
|
||||||
<CLASSES>
|
<CLASSES>
|
||||||
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/2.5/commons-io-2.5.jar!/" />
|
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/1.3.2/commons-io-1.3.2.jar!/" />
|
||||||
</CLASSES>
|
</CLASSES>
|
||||||
<JAVADOC>
|
<JAVADOC>
|
||||||
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/2.5/commons-io-2.5-javadoc.jar!/" />
|
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/1.3.2/commons-io-1.3.2-javadoc.jar!/" />
|
||||||
</JAVADOC>
|
</JAVADOC>
|
||||||
<SOURCES>
|
<SOURCES>
|
||||||
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/2.5/commons-io-2.5-sources.jar!/" />
|
<root url="jar://$USER_HOME$/java/myrepo/commons-io/commons-io/1.3.2/commons-io-1.3.2-sources.jar!/" />
|
||||||
</SOURCES>
|
</SOURCES>
|
||||||
</library>
|
</library>
|
||||||
</component>
|
</component>
|
||||||
38
.idea/workspace.xml
generated
38
.idea/workspace.xml
generated
@ -2,17 +2,23 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="e4baaf01-a2c2-445d-98a1-9f4c50c148cf" name="Default Changelist" comment="">
|
<list default="true" id="e4baaf01-a2c2-445d-98a1-9f4c50c148cf" name="Default Changelist" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/ExcelUtil.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/excel/ExcelCell.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/excel/ExcelLog.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/excel/ExcelLogs.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/excel/ExcelSheet.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/excel/FieldForSortting.java" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/libraries/Maven__commons_io_commons_io_2_5.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/libraries/Maven__commons_io_commons_io_1_3_2.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/lz_management.iml" beforeDir="false" afterPath="$PROJECT_DIR$/lz_management.iml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/DateUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/common/utils/DateUtils.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/dao/StaffDao.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/dao/StaffDao.java" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/StaffService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/StaffService.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/StaffService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/StaffService.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/generator/StaffDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/generator/StaffDao.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/main/java/com/lz/modules/job/task/GetFeishuDepartmentsJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/lz/modules/job/task/SyncnizeFlybookDataJob.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/target/classes/com/lz/modules/app/controller/StaffController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/lz/modules/app/controller/StaffController.class" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/src/test/java/com/lz/FumeiaiTest.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/test/java/com/lz/FumeiaiTest.java" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/target/classes/com/lz/modules/app/dao/StaffDao.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/lz/modules/app/dao/StaffDao.class" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/target/classes/com/lz/modules/sys/oauth2/OAuth2Filter.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/lz/modules/sys/oauth2/OAuth2Filter.class" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/target/classes/com/lz/modules/app/service/StaffService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/lz/modules/app/service/StaffService.class" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/target/classes/com/lz/modules/app/service/impl/StaffServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/lz/modules/app/service/impl/StaffServiceImpl.class" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/target/classes/mapper/generator/StaffDao.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/generator/StaffDao.xml" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
@ -52,16 +58,19 @@
|
|||||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||||
<property name="aspect.path.notification.shown" value="true" />
|
<property name="aspect.path.notification.shown" value="true" />
|
||||||
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/com/lz/common/utils" />
|
||||||
<property name="settings.editor.selected.configurable" value="MavenSettings" />
|
<property name="settings.editor.selected.configurable" value="MavenSettings" />
|
||||||
</component>
|
</component>
|
||||||
<component name="RecentsManager">
|
<component name="RecentsManager">
|
||||||
<key name="CopyClassDialog.RECENTS_KEY">
|
<key name="CopyClassDialog.RECENTS_KEY">
|
||||||
|
<recent name="com.lz.common.utils" />
|
||||||
<recent name="com.lz.modules.app.Dto" />
|
<recent name="com.lz.modules.app.Dto" />
|
||||||
<recent name="com.lz.modules.app.enums" />
|
<recent name="com.lz.modules.app.enums" />
|
||||||
<recent name="com.lz.modules.app.entity.excel" />
|
<recent name="com.lz.modules.app.entity.excel" />
|
||||||
<recent name="com.lz.modules.job.model.responseBo" />
|
<recent name="com.lz.modules.job.model.responseBo" />
|
||||||
<recent name="com.lz" />
|
</key>
|
||||||
|
<key name="CopyFile.RECENT_KEYS">
|
||||||
|
<recent name="$PROJECT_DIR$/src/main/java/com/lz/common/utils" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunDashboard">
|
<component name="RunDashboard">
|
||||||
@ -160,7 +169,7 @@
|
|||||||
<workItem from="1588159936850" duration="1226000" />
|
<workItem from="1588159936850" duration="1226000" />
|
||||||
<workItem from="1588161274115" duration="1691000" />
|
<workItem from="1588161274115" duration="1691000" />
|
||||||
<workItem from="1588163384182" duration="74761000" />
|
<workItem from="1588163384182" duration="74761000" />
|
||||||
<workItem from="1588936950753" duration="88892000" />
|
<workItem from="1588936950753" duration="95089000" />
|
||||||
</task>
|
</task>
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
@ -190,7 +199,7 @@
|
|||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="java-line">
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
<url>file://$PROJECT_DIR$/src/test/java/com/lz/FumeiaiTest.java</url>
|
<url>file://$PROJECT_DIR$/src/test/java/com/lz/FumeiaiTest.java</url>
|
||||||
<line>190</line>
|
<line>191</line>
|
||||||
<option name="timeStamp" value="43" />
|
<option name="timeStamp" value="43" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="java-line">
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
@ -215,7 +224,7 @@
|
|||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="java-line">
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
<url>file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java</url>
|
<url>file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/service/impl/StaffServiceImpl.java</url>
|
||||||
<line>83</line>
|
<line>93</line>
|
||||||
<option name="timeStamp" value="62" />
|
<option name="timeStamp" value="62" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="java-line">
|
<line-breakpoint enabled="true" type="java-line">
|
||||||
@ -228,11 +237,6 @@
|
|||||||
<line>80</line>
|
<line>80</line>
|
||||||
<option name="timeStamp" value="67" />
|
<option name="timeStamp" value="67" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
<line-breakpoint enabled="true" type="java-line">
|
|
||||||
<url>file://$PROJECT_DIR$/src/main/java/com/lz/modules/app/controller/StaffController.java</url>
|
|
||||||
<line>191</line>
|
|
||||||
<option name="timeStamp" value="75" />
|
|
||||||
</line-breakpoint>
|
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
@ -124,7 +124,7 @@
|
|||||||
<orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
|
<orderEntry type="library" name="Maven: com.mchange:mchange-commons-java:0.2.11" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
<orderEntry type="library" name="Maven: commons-lang:commons-lang:2.6" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.2.2" level="project" />
|
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.2.2" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
|
<orderEntry type="library" name="Maven: commons-io:commons-io:1.3.2" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
|
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.10" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.10" level="project" />
|
<orderEntry type="library" name="Maven: commons-configuration:commons-configuration:1.10" level="project" />
|
||||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
|
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
|
||||||
|
|||||||
6
pom.xml
6
pom.xml
@ -26,6 +26,7 @@
|
|||||||
<commons.io.version>2.5</commons.io.version>
|
<commons.io.version>2.5</commons.io.version>
|
||||||
<commons.codec.version>1.10</commons.codec.version>
|
<commons.codec.version>1.10</commons.codec.version>
|
||||||
<commons.configuration.version>1.10</commons.configuration.version>
|
<commons.configuration.version>1.10</commons.configuration.version>
|
||||||
|
<commons.io.version>1.3.2</commons.io.version>
|
||||||
<shiro.version>1.4.0</shiro.version>
|
<shiro.version>1.4.0</shiro.version>
|
||||||
<jwt.version>0.7.0</jwt.version>
|
<jwt.version>0.7.0</jwt.version>
|
||||||
<kaptcha.version>0.0.9</kaptcha.version>
|
<kaptcha.version>0.0.9</kaptcha.version>
|
||||||
@ -146,6 +147,11 @@
|
|||||||
<artifactId>shiro-spring</artifactId>
|
<artifactId>shiro-spring</artifactId>
|
||||||
<version>${shiro.version}</version>
|
<version>${shiro.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-io</artifactId>
|
||||||
|
<version>${commons.io.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.jsonwebtoken</groupId>
|
<groupId>io.jsonwebtoken</groupId>
|
||||||
<artifactId>jjwt</artifactId>
|
<artifactId>jjwt</artifactId>
|
||||||
|
|||||||
@ -27,6 +27,10 @@ public class DateUtils {
|
|||||||
public final static String DATE_PATTERN = "yyyy-MM-dd";
|
public final static String DATE_PATTERN = "yyyy-MM-dd";
|
||||||
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
||||||
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
/**
|
||||||
|
* yyyyMMdd
|
||||||
|
*/
|
||||||
|
public static final String DEFAULT_PATTERN = "yyyyMMdd";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||||
|
|||||||
1118
src/main/java/com/lz/common/utils/ExcelUtil.java
Normal file
1118
src/main/java/com/lz/common/utils/ExcelUtil.java
Normal file
File diff suppressed because it is too large
Load Diff
90
src/main/java/com/lz/common/utils/excel/ExcelCell.java
Normal file
90
src/main/java/com/lz/common/utils/excel/ExcelCell.java
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
package com.lz.common.utils.excel;
|
||||||
|
|
||||||
|
|
||||||
|
import com.lz.common.utils.StringUtil;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @BelongsProject: ltapi
|
||||||
|
* @BelongsPackage: com.lz.lt.api.common.util.excel
|
||||||
|
* @Author: gui.quanwang
|
||||||
|
* @CreateTime: 2018-11-27 16:53
|
||||||
|
* @Description: 数值型的栏位只能使用Double(自定义注解)
|
||||||
|
* @注意:本内容仅限于杭州霖梓网络科技有限公司内部传阅,禁止外泄以及用于其他的商业目的
|
||||||
|
*/
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
public @interface ExcelCell {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 顺序 default 100
|
||||||
|
*
|
||||||
|
* @return index
|
||||||
|
*/
|
||||||
|
int index();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当值为null时要显示的值 default StringUtils.EMPTY
|
||||||
|
*
|
||||||
|
* @return defaultValue
|
||||||
|
*/
|
||||||
|
String defaultValue() default StringUtil.EMPTY;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于验证
|
||||||
|
*
|
||||||
|
* @return valid
|
||||||
|
*/
|
||||||
|
Valid valid() default @Valid();
|
||||||
|
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
@interface Valid {
|
||||||
|
/**
|
||||||
|
* 必须与in中String相符,目前仅支持String类型
|
||||||
|
*
|
||||||
|
* @return e.g. {"key","value"}
|
||||||
|
*/
|
||||||
|
String[] in() default {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否允许为空,用于验证数据 default true
|
||||||
|
*
|
||||||
|
* @return allowNull
|
||||||
|
*/
|
||||||
|
boolean allowNull() default true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply a "greater than" constraint to the named property
|
||||||
|
*
|
||||||
|
* @return gt
|
||||||
|
*/
|
||||||
|
double gt() default Double.NaN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply a "less than" constraint to the named property
|
||||||
|
*
|
||||||
|
* @return lt
|
||||||
|
*/
|
||||||
|
double lt() default Double.NaN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply a "greater than or equal" constraint to the named property
|
||||||
|
*
|
||||||
|
* @return ge
|
||||||
|
*/
|
||||||
|
double ge() default Double.NaN;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply a "less than or equal" constraint to the named property
|
||||||
|
*
|
||||||
|
* @return le
|
||||||
|
*/
|
||||||
|
double le() default Double.NaN;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
100
src/main/java/com/lz/common/utils/excel/ExcelLog.java
Normal file
100
src/main/java/com/lz/common/utils/excel/ExcelLog.java
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
package com.lz.common.utils.excel;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @BelongsProject: ltapi
|
||||||
|
* @BelongsPackage: com.lz.lt.api.common.util.excel
|
||||||
|
* @Author: gui.quanwang
|
||||||
|
* @CreateTime: 2018-11-27 16:43
|
||||||
|
* @Description: excel输出
|
||||||
|
* @注意:本内容仅限于杭州霖梓网络科技有限公司内部传阅,禁止外泄以及用于其他的商业目的
|
||||||
|
*/
|
||||||
|
public class ExcelLog {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 行数
|
||||||
|
*/
|
||||||
|
private Integer rowNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据
|
||||||
|
*/
|
||||||
|
private Object object;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录
|
||||||
|
*/
|
||||||
|
private String log;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param object
|
||||||
|
* @param log
|
||||||
|
*/
|
||||||
|
public ExcelLog(Object object, String log) {
|
||||||
|
super();
|
||||||
|
this.object = object;
|
||||||
|
this.log = log;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param rowNum
|
||||||
|
* @param object
|
||||||
|
* @param log
|
||||||
|
*/
|
||||||
|
public ExcelLog(Object object, String log, Integer rowNum) {
|
||||||
|
super();
|
||||||
|
this.rowNum = rowNum;
|
||||||
|
this.object = object;
|
||||||
|
this.log = log;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the rowNum
|
||||||
|
*/
|
||||||
|
public Integer getRowNum() {
|
||||||
|
return rowNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param rowNum the rowNum to set
|
||||||
|
*/
|
||||||
|
public void setRowNum(Integer rowNum) {
|
||||||
|
this.rowNum = rowNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the object
|
||||||
|
*/
|
||||||
|
public Object getObject() {
|
||||||
|
return object;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param object the object to set
|
||||||
|
*/
|
||||||
|
public void setObject(Object object) {
|
||||||
|
this.object = object;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the log
|
||||||
|
*/
|
||||||
|
public String getLog() {
|
||||||
|
return log;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param log the log to set
|
||||||
|
*/
|
||||||
|
public void setLog(String log) {
|
||||||
|
this.log = log;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ExcelLog{" +
|
||||||
|
"rowNum=" + rowNum +
|
||||||
|
", object=" + object +
|
||||||
|
", log='" + log + '\'' +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
82
src/main/java/com/lz/common/utils/excel/ExcelLogs.java
Normal file
82
src/main/java/com/lz/common/utils/excel/ExcelLogs.java
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
package com.lz.common.utils.excel;
|
||||||
|
|
||||||
|
import com.lz.common.utils.StringUtil;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @BelongsProject: ltapi
|
||||||
|
* @BelongsPackage: com.lz.lt.api.common.util.excel
|
||||||
|
* @Author: gui.quanwang
|
||||||
|
* @CreateTime: 2018-11-27 16:45
|
||||||
|
* @Description: excel错误日志记录
|
||||||
|
* @注意:本内容仅限于杭州霖梓网络科技有限公司内部传阅,禁止外泄以及用于其他的商业目的
|
||||||
|
*/
|
||||||
|
public class ExcelLogs {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否出错
|
||||||
|
*/
|
||||||
|
private Boolean hasError;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* excel集合
|
||||||
|
*/
|
||||||
|
private List<ExcelLog> logList;
|
||||||
|
|
||||||
|
public ExcelLogs() {
|
||||||
|
super();
|
||||||
|
hasError = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the hasError
|
||||||
|
*/
|
||||||
|
public Boolean getHasError() {
|
||||||
|
return hasError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param hasError the hasError to set
|
||||||
|
*/
|
||||||
|
public void setHasError(Boolean hasError) {
|
||||||
|
this.hasError = hasError;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the logList
|
||||||
|
*/
|
||||||
|
public List<ExcelLog> getLogList() {
|
||||||
|
return logList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param logList the logList to set
|
||||||
|
*/
|
||||||
|
public void setLogList(List<ExcelLog> logList) {
|
||||||
|
this.logList = logList;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取错误excel集合
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<ExcelLog> getErrorLogList() {
|
||||||
|
List<ExcelLog> errList = new ArrayList<>();
|
||||||
|
for (ExcelLog log : this.logList) {
|
||||||
|
if (log != null && StringUtil.isNotBlank(log.getLog())) {
|
||||||
|
errList.add(log);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return errList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ExcelLogs{" +
|
||||||
|
"hasError=" + hasError +
|
||||||
|
", logList=" + logList +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
87
src/main/java/com/lz/common/utils/excel/ExcelSheet.java
Normal file
87
src/main/java/com/lz/common/utils/excel/ExcelSheet.java
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
package com.lz.common.utils.excel;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @BelongsProject: ltapi
|
||||||
|
* @BelongsPackage: com.lz.lt.api.common.util.excel
|
||||||
|
* @Author: gui.quanwang
|
||||||
|
* @CreateTime: 2018-11-27 16:49
|
||||||
|
* @Description: 用于汇出多个sheet的Vo
|
||||||
|
* @注意:本内容仅限于杭州霖梓网络科技有限公司内部传阅,禁止外泄以及用于其他的商业目的
|
||||||
|
*/
|
||||||
|
public class ExcelSheet<T> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sheet名
|
||||||
|
*/
|
||||||
|
private String sheetName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 头部集合(字段属性)
|
||||||
|
*/
|
||||||
|
private Map<String, String> headers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据源
|
||||||
|
*/
|
||||||
|
private Collection<T> dataset;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the sheetName
|
||||||
|
*/
|
||||||
|
public String getSheetName() {
|
||||||
|
return sheetName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel页签名称
|
||||||
|
*
|
||||||
|
* @param sheetName the sheetName to set
|
||||||
|
*/
|
||||||
|
public void setSheetName(String sheetName) {
|
||||||
|
this.sheetName = sheetName;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel表头
|
||||||
|
*
|
||||||
|
* @return the headers
|
||||||
|
*/
|
||||||
|
public Map<String, String> getHeaders() {
|
||||||
|
return headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param headers the headers to set
|
||||||
|
*/
|
||||||
|
public void setHeaders(Map<String, String> headers) {
|
||||||
|
this.headers = headers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Excel数据集合
|
||||||
|
*
|
||||||
|
* @return the dataset
|
||||||
|
*/
|
||||||
|
public Collection<T> getDataset() {
|
||||||
|
return dataset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param dataset the dataset to set
|
||||||
|
*/
|
||||||
|
public void setDataset(Collection<T> dataset) {
|
||||||
|
this.dataset = dataset;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ExcelSheet{" +
|
||||||
|
"sheetName='" + sheetName + '\'' +
|
||||||
|
", headers=" + headers +
|
||||||
|
", dataset=" + dataset +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,80 @@
|
|||||||
|
package com.lz.common.utils.excel;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @BelongsProject: ltapi
|
||||||
|
* @BelongsPackage: com.lz.lt.api.common.util.excel
|
||||||
|
* @Author: gui.quanwang
|
||||||
|
* @CreateTime: 2018-11-27 16:52
|
||||||
|
* @Description: 泛型类反射后的字段封装类
|
||||||
|
* @注意:本内容仅限于杭州霖梓网络科技有限公司内部传阅,禁止外泄以及用于其他的商业目的
|
||||||
|
*/
|
||||||
|
public class FieldForSortting {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 泛型反射
|
||||||
|
*/
|
||||||
|
private Field field;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 索引
|
||||||
|
*/
|
||||||
|
private int index;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param field
|
||||||
|
*/
|
||||||
|
public FieldForSortting(Field field) {
|
||||||
|
super();
|
||||||
|
this.field = field;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param field
|
||||||
|
* @param index
|
||||||
|
*/
|
||||||
|
public FieldForSortting(Field field, int index) {
|
||||||
|
super();
|
||||||
|
this.field = field;
|
||||||
|
this.index = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the field
|
||||||
|
*/
|
||||||
|
public Field getField() {
|
||||||
|
return field;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param field
|
||||||
|
* the field to set
|
||||||
|
*/
|
||||||
|
public void setField(Field field) {
|
||||||
|
this.field = field;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the index
|
||||||
|
*/
|
||||||
|
public int getIndex() {
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param index
|
||||||
|
* the index to set
|
||||||
|
*/
|
||||||
|
public void setIndex(int index) {
|
||||||
|
this.index = index;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "FieldForSortting{" +
|
||||||
|
"field=" + field +
|
||||||
|
", index=" + index +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,29 +1,28 @@
|
|||||||
package com.lz.modules.app.controller;
|
package com.lz.modules.app.controller;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.google.common.collect.Lists;
|
||||||
|
import com.lz.common.utils.*;
|
||||||
|
import com.lz.modules.app.Dto.*;
|
||||||
|
import com.lz.modules.app.entity.DepartmentsEntity;
|
||||||
|
import com.lz.modules.app.entity.StaffEntity;
|
||||||
|
import com.lz.modules.app.service.*;
|
||||||
|
import org.apache.poi.ss.usermodel.Workbook;
|
||||||
|
import org.apache.poi.ss.usermodel.WorkbookFactory;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import java.io.ByteArrayInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.lz.common.utils.DateUtils;
|
|
||||||
import com.lz.modules.app.Dto.*;
|
|
||||||
import com.lz.modules.app.entity.DepartmentsEntity;
|
|
||||||
import com.lz.modules.app.service.*;
|
|
||||||
import com.lz.modules.sys.entity.SysCaptchaEntity;
|
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import com.lz.modules.app.entity.StaffEntity;
|
|
||||||
import com.lz.common.utils.PageUtils;
|
|
||||||
import com.lz.common.utils.R;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 员工基本信息表
|
* 员工基本信息表
|
||||||
*
|
*
|
||||||
@ -188,12 +187,59 @@ public class StaffController {
|
|||||||
educationDistribution.setRows(educationRows);
|
educationDistribution.setRows(educationRows);
|
||||||
data.put("educationDistribution", educationDistribution);
|
data.put("educationDistribution", educationDistribution);
|
||||||
|
|
||||||
|
|
||||||
R ret = R.ok();
|
R ret = R.ok();
|
||||||
ret.put("data", data);
|
ret.put("data", data);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上传Excel,读取Excel中内容
|
||||||
|
*
|
||||||
|
* @param file 文件
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/batchImport")
|
||||||
|
// @RequiresPermissions("user:ltuserrewardlog:upload")
|
||||||
|
public R batchImport(@RequestParam(value = "file") MultipartFile file) {
|
||||||
|
|
||||||
|
InputStream inputStream;
|
||||||
|
try {
|
||||||
|
//判断文件是否为空
|
||||||
|
if (file == null) {
|
||||||
|
return R.error("文件不能为空");
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取文件名
|
||||||
|
String name = file.getOriginalFilename();
|
||||||
|
|
||||||
|
//进一步判断文件是否为空(即判断其大小是否为0或其名称是否为null)验证文件名是否合格
|
||||||
|
long size = file.getSize();
|
||||||
|
if (StringUtil.isBlank(name) || size == 0 || !ExcelUtil.validateExcel(name)) {
|
||||||
|
return R.error("文件格式不正确!请使用.xls或.xlsx后缀文档。");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (name.lastIndexOf(".csv") != -1 || name.lastIndexOf(".CSV") != -1) {
|
||||||
|
inputStream = new ByteArrayInputStream(file.getBytes());
|
||||||
|
} else {
|
||||||
|
inputStream = file.getInputStream();
|
||||||
|
}
|
||||||
|
List<Map<String, String>> sheet12List = Lists.newArrayList();
|
||||||
|
List<Map<String, String>> sheet3List = Lists.newArrayList();
|
||||||
|
List<Map<String, String>> sheet4List = Lists.newArrayList();
|
||||||
|
|
||||||
|
ExcelUtil.getExcelData(inputStream, sheet12List, sheet3List, sheet4List);
|
||||||
|
|
||||||
|
staffService.enterDatabase(sheet12List, sheet3List, sheet4List);
|
||||||
|
|
||||||
|
return R.ok();
|
||||||
|
} catch (IOException e) {
|
||||||
|
return R.error();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -47,5 +47,6 @@ public interface StaffService extends IService<StaffEntity> {
|
|||||||
List<GraphicsStatisticalDto> getEducationData(String departmentId, String beginDate, String endDate);
|
List<GraphicsStatisticalDto> getEducationData(String departmentId, String beginDate, String endDate);
|
||||||
|
|
||||||
|
|
||||||
|
void enterDatabase(List<Map<String, String>> sheet12List, List<Map<String, String>> sheet3List, List<Map<String, String>> sheet4List);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
package com.lz.modules.app.service.impl;
|
package com.lz.modules.app.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
@ -12,8 +14,8 @@ import com.lz.modules.app.Dto.StaffBaseInfoDto;
|
|||||||
import com.lz.modules.app.Dto.StaffDto;
|
import com.lz.modules.app.Dto.StaffDto;
|
||||||
import com.lz.modules.app.Dto.StaffStatisticalDto;
|
import com.lz.modules.app.Dto.StaffStatisticalDto;
|
||||||
import com.lz.modules.app.dao.StaffDao;
|
import com.lz.modules.app.dao.StaffDao;
|
||||||
import com.lz.modules.app.entity.StaffEntity;
|
import com.lz.modules.app.entity.*;
|
||||||
import com.lz.modules.app.service.StaffService;
|
import com.lz.modules.app.service.*;
|
||||||
import com.lz.modules.job.model.responseBo.DepartmentStaffBo;
|
import com.lz.modules.job.model.responseBo.DepartmentStaffBo;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -31,6 +33,14 @@ public class StaffServiceImpl extends ServiceImpl<StaffDao, StaffEntity> impleme
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
StaffDao staffDao;
|
StaffDao staffDao;
|
||||||
|
@Resource
|
||||||
|
StaffOccupationService staffOccupationService;
|
||||||
|
@Resource
|
||||||
|
StaffEducationService staffEducationService;
|
||||||
|
@Resource
|
||||||
|
StaffProjectExperienceService staffProjectExperienceService;
|
||||||
|
@Resource
|
||||||
|
StaffWorkTransferRecordService staffWorkTransferRecordService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageUtils queryPage(Map<String, Object> params) {
|
public PageUtils queryPage(Map<String, Object> params) {
|
||||||
@ -161,6 +171,75 @@ public class StaffServiceImpl extends ServiceImpl<StaffDao, StaffEntity> impleme
|
|||||||
return graphicsStatisticals;
|
return graphicsStatisticals;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void enterDatabase(List<Map<String, String>> sheet12List, List<Map<String, String>> sheet3List, List<Map<String, String>> sheet4List) {
|
||||||
|
for (Map<String, String> map : sheet12List) {
|
||||||
|
StaffEntity staffEntity = JSON.parseObject(JSON.toJSONString(map), StaffEntity.class);
|
||||||
|
StaffOccupationEntity occupationEntity = JSON.parseObject(JSON.toJSONString(map), StaffOccupationEntity.class);
|
||||||
|
StaffEducationEntity educationEntity = JSON.parseObject(JSON.toJSONString(map), StaffEducationEntity.class);
|
||||||
|
StaffEntity Staff = this.getByName(staffEntity.getName());
|
||||||
|
if (Staff == null) {
|
||||||
|
this.save(staffEntity);
|
||||||
|
} else {
|
||||||
|
staffEntity.setId(Staff.getId());
|
||||||
|
this.updateById(staffEntity);
|
||||||
|
}
|
||||||
|
StaffOccupationEntity occupation = staffOccupationService.getOne(new QueryWrapper<StaffOccupationEntity>().eq("staff_id", staffEntity.getId()));
|
||||||
|
if (occupation == null) {
|
||||||
|
occupationEntity.setStaffId(staffEntity.getId());
|
||||||
|
staffOccupationService.save(occupationEntity);
|
||||||
|
} else {
|
||||||
|
occupationEntity.setId(occupation.getId());
|
||||||
|
staffOccupationService.updateById(occupationEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
StaffEducationEntity education = staffEducationService.getOne(new QueryWrapper<StaffEducationEntity>().eq("staff_id", staffEntity.getId()));
|
||||||
|
if (education == null) {
|
||||||
|
educationEntity.setStaffId(staffEntity.getId());
|
||||||
|
staffEducationService.save(educationEntity);
|
||||||
|
} else {
|
||||||
|
educationEntity.setId(education.getId());
|
||||||
|
staffEducationService.updateById(educationEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Map<String, String> map : sheet3List) {
|
||||||
|
StaffProjectExperienceEntity staffProjectExperienceEntity = JSON.parseObject(JSON.toJSONString(map), StaffProjectExperienceEntity.class);
|
||||||
|
StaffEntity Staff = this.getByName(map.get("name"));
|
||||||
|
if (Staff == null) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
staffProjectExperienceService.update(new UpdateWrapper<StaffProjectExperienceEntity>().set("is_delete", 1).eq("staff_id", Staff.getId()));
|
||||||
|
StaffProjectExperienceEntity projectExperienceEntity = staffProjectExperienceService.getOne(new QueryWrapper<StaffProjectExperienceEntity>().eq("staff_id", Staff.getId()).eq("project_name", staffProjectExperienceEntity.getProjectName()));
|
||||||
|
if (projectExperienceEntity == null) {
|
||||||
|
staffProjectExperienceEntity.setStaffId(Staff.getId());
|
||||||
|
staffProjectExperienceService.save(staffProjectExperienceEntity);
|
||||||
|
} else {
|
||||||
|
staffProjectExperienceEntity.setId(projectExperienceEntity.getId());
|
||||||
|
staffProjectExperienceEntity.setIsDelete(0);
|
||||||
|
staffProjectExperienceService.updateById(staffProjectExperienceEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Map<String, String> map : sheet4List) {
|
||||||
|
StaffWorkTransferRecordEntity staffWorkTransferRecordEntity = JSON.parseObject(JSON.toJSONString(map), StaffWorkTransferRecordEntity.class);
|
||||||
|
StaffEntity Staff = this.getByName(map.get("name"));
|
||||||
|
if (Staff == null) {
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
staffWorkTransferRecordService.update(new UpdateWrapper<StaffWorkTransferRecordEntity>().set("is_delete", 1).eq("staff_id", Staff.getId()));
|
||||||
|
StaffWorkTransferRecordEntity workTransferRecordEntity = staffWorkTransferRecordService.getOne(new QueryWrapper<StaffWorkTransferRecordEntity>().eq("staff_id", Staff.getId()).eq("transfer_time", staffWorkTransferRecordEntity.getTransferTime()));
|
||||||
|
if (workTransferRecordEntity == null) {
|
||||||
|
staffWorkTransferRecordEntity.setStaffId(Staff.getId());
|
||||||
|
staffWorkTransferRecordService.save(staffWorkTransferRecordEntity);
|
||||||
|
} else {
|
||||||
|
staffWorkTransferRecordEntity.setId(workTransferRecordEntity.getId());
|
||||||
|
staffWorkTransferRecordEntity.setIsDelete(0);
|
||||||
|
staffWorkTransferRecordService.updateById(staffWorkTransferRecordEntity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private StaffEntity convertStaffEntity(DepartmentStaffBo staffBo) {
|
private StaffEntity convertStaffEntity(DepartmentStaffBo staffBo) {
|
||||||
StaffEntity staffEntity = new StaffEntity();
|
StaffEntity staffEntity = new StaffEntity();
|
||||||
staffEntity.setName(staffBo.getName());//员工姓名
|
staffEntity.setName(staffBo.getName());//员工姓名
|
||||||
|
|||||||
@ -22,8 +22,8 @@ import org.springframework.stereotype.Component;
|
|||||||
*
|
*
|
||||||
* @author fumeiai 20200429
|
* @author fumeiai 20200429
|
||||||
*/
|
*/
|
||||||
@Component("getFeishuDepartmentsJob")
|
@Component("syncnizeFlybookDataJob")
|
||||||
public class GetFeishuDepartmentsJob {
|
public class SyncnizeFlybookDataJob {
|
||||||
private Logger logger = LoggerFactory.getLogger(getClass());
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -31,9 +31,9 @@ public class GetFeishuDepartmentsJob {
|
|||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
logger.info("borrowAndRepayMonitorJob start date == {}", DateUtils.getCurrentDate());
|
logger.info("syncnizeFlybookDataJob start date == {}", DateUtils.getCurrentDate());
|
||||||
feishuBusiness.getFeishuDepartmentsIntoData();
|
feishuBusiness.getFeishuDepartmentsIntoData();
|
||||||
logger.info("borrowAndRepayMonitorJob end date == {}", DateUtils.getCurrentDate());
|
logger.info("syncnizeFlybookDataJob end date == {}", DateUtils.getCurrentDate());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,15 +41,16 @@ public class FumeiaiTest {
|
|||||||
feishuBusiness.getFeishuDepartmentsIntoData();
|
feishuBusiness.getFeishuDepartmentsIntoData();
|
||||||
|
|
||||||
File xlsFile = new File("/Users/fumeiai/tmp/员工档案字段表-0427.xlsx");
|
File xlsFile = new File("/Users/fumeiai/tmp/员工档案字段表-0427.xlsx");
|
||||||
// 获得工作簿
|
|
||||||
Workbook workbook = WorkbookFactory.create(xlsFile);
|
|
||||||
// 获得工作表个数
|
|
||||||
int sheetCount = workbook.getNumberOfSheets();
|
|
||||||
|
|
||||||
List<Map<String, String>> sheet12List = Lists.newArrayList();
|
List<Map<String, String>> sheet12List = Lists.newArrayList();
|
||||||
List<Map<String, String>> sheet3List = Lists.newArrayList();
|
List<Map<String, String>> sheet3List = Lists.newArrayList();
|
||||||
List<Map<String, String>> sheet4List = Lists.newArrayList();
|
List<Map<String, String>> sheet4List = Lists.newArrayList();
|
||||||
|
|
||||||
|
// 获得工作簿
|
||||||
|
Workbook workbook = WorkbookFactory.create(xlsFile);
|
||||||
|
// 获得工作表个数
|
||||||
|
int sheetCount = workbook.getNumberOfSheets();
|
||||||
|
|
||||||
// 遍历工作表
|
// 遍历工作表
|
||||||
for (int i = 0; i < sheetCount; i++) {
|
for (int i = 0; i < sheetCount; i++) {
|
||||||
Sheet sheet = workbook.getSheetAt(i);
|
Sheet sheet = workbook.getSheetAt(i);
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user