增加人员管理模块

This commit is contained in:
Kane Wang 2023-11-24 18:48:05 +08:00
parent c3479d7d8e
commit d1aebdc7f5
5 changed files with 1008 additions and 6 deletions

View File

@ -0,0 +1,39 @@
drop table telsaler;
create table telsaler
(
varchar2(40),
varchar2(40),
varchar2(40),
date,
date,
date,
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
integer,
date,
date,
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40),
varchar2(40)
);

View File

@ -0,0 +1,755 @@
/*
* @Author: Kane
* @Date: 2023-11-24 14:34:16
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TwrTelsalerRecord.java
* @Description:
*
* Copyright (c) ${2023} by Kane, All Rights Reserved.
*/
package com.cpic.xim.mybatis.pojo;
public class TWrTelsalerRecord
{
private String 人员姓名;
private String 人员工号;
private String 籍贯;
private String 参加工作时间;
private String 入职日期;
private String 入司日期;
private String 业务类型;
private String 办公地省;
private String 办公地市;
private String 人员类别;
private String 现任岗位;
private String 现任职级;
private String 机构名称;
private String 职场分类;
private String 片区名称;
private String 团队名称;
private String 对口分公司;
private String 展业地区;
private String 招聘渠道;
private String 渠道明细;
private String 全日制最高学历;
private String 学历类型;
private String 用工性质名称;
private String 合同种类;
private String 合同类型;
private String 合同性质;
private int 合同签订次数;
private String 合同生效日期;
private String 合同到期日期;
private String 人员属性;
private String 保代员工号;
private String 职场属性;
private String 办公性质;
private String 保代人员属性;
private String 人员状态;
public TWrTelsalerRecord( String 人员姓名, String 人员工号, String 籍贯, String 参加工作时间, String 入职日期,
String 入司日期, String 业务类型, String 办公地省, String 办公地市, String 人员类别, String 现任岗位,
String 现任职级, String 机构名称, String 职场分类, String 片区名称, String 团队名称, String 对口分公司,
String 展业地区, String 招聘渠道, String 渠道明细, String 全日制最高学历, String 学历类型, String 用工性质名称,
String 合同种类, String 合同类型, String 合同性质, int 合同签订次数, String 合同生效日期, String 合同到期日期,
String 人员属性, String 保代员工号, String 职场属性, String 办公性质, String 保代人员属性, String 人员状态 )
{
this.人员姓名 = 人员姓名;
this.人员工号 = 人员工号;
this.籍贯 = 籍贯;
this.参加工作时间 = 参加工作时间;
this.入职日期 = 入职日期;
this.入司日期 = 入司日期;
this.业务类型 = 业务类型;
this.办公地省 = 办公地省;
this.办公地市 = 办公地市;
this.人员类别 = 人员类别;
this.现任岗位 = 现任岗位;
this.现任职级 = 现任职级;
this.机构名称 = 机构名称;
this.职场分类 = 职场分类;
this.片区名称 = 片区名称;
this.团队名称 = 团队名称;
this.对口分公司 = 对口分公司;
this.展业地区 = 展业地区;
this.招聘渠道 = 招聘渠道;
this.渠道明细 = 渠道明细;
this.全日制最高学历 = 全日制最高学历;
this.学历类型 = 学历类型;
this.用工性质名称 = 用工性质名称;
this.合同种类 = 合同种类;
this.合同类型 = 合同类型;
this.合同性质 = 合同性质;
this.合同签订次数 = 合同签订次数;
this.合同生效日期 = 合同生效日期;
this.合同到期日期 = 合同到期日期;
this.人员属性 = 人员属性;
this.保代员工号 = 保代员工号;
this.职场属性 = 职场属性;
this.办公性质 = 办公性质;
this.保代人员属性 = 保代人员属性;
this.人员状态 = 人员状态;
}
@Override
public String toString()
{
return "TWrTelsalerRecord [人员姓名=" + 人员姓名 + ", 人员工号=" + 人员工号 + ", 籍贯=" + 籍贯 + ", 参加工作时间="
+ 参加工作时间 + ", 入职日期=" + 入职日期 + ", 入司日期=" + 入司日期 + ", 业务类型=" + 业务类型 + ", 办公地省=" + 办公地省
+ ", 办公地市=" + 办公地市 + ", 人员类别=" + 人员类别 + ", 现任岗位=" + 现任岗位 + ", 现任职级=" + 现任职级
+ ", 机构名称=" + 机构名称 + ", 职场分类=" + 职场分类 + ", 片区名称=" + 片区名称 + ", 团队名称=" + 团队名称
+ ", 对口分公司=" + 对口分公司 + ", 展业地区=" + 展业地区 + ", 招聘渠道=" + 招聘渠道 + ", 渠道明细=" + 渠道明细
+ ", 全日制最高学历=" + 全日制最高学历 + ", 学历类型=" + 学历类型 + ", 用工性质名称=" + 用工性质名称 + ", 合同种类="
+ 合同种类 + ", 合同类型=" + 合同类型 + ", 合同性质=" + 合同性质 + ", 合同签订次数=" + 合同签订次数 + ", 合同生效日期="
+ 合同生效日期 + ", 合同到期日期=" + 合同到期日期 + ", 人员属性=" + 人员属性 + ", 保代员工号=" + 保代员工号 + ", 职场属性="
+ 职场属性 + ", 办公性质=" + 办公性质 + ", 保代人员属性=" + 保代人员属性 + ", 人员状态=" + 人员状态 + "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((人员姓名 == null) ? 0 : 人员姓名.hashCode());
result = prime * result + ((人员工号 == null) ? 0 : 人员工号.hashCode());
result = prime * result + ((籍贯 == null) ? 0 : 籍贯.hashCode());
result = prime * result + ((参加工作时间 == null) ? 0 : 参加工作时间.hashCode());
result = prime * result + ((入职日期 == null) ? 0 : 入职日期.hashCode());
result = prime * result + ((入司日期 == null) ? 0 : 入司日期.hashCode());
result = prime * result + ((业务类型 == null) ? 0 : 业务类型.hashCode());
result = prime * result + ((办公地省 == null) ? 0 : 办公地省.hashCode());
result = prime * result + ((办公地市 == null) ? 0 : 办公地市.hashCode());
result = prime * result + ((人员类别 == null) ? 0 : 人员类别.hashCode());
result = prime * result + ((现任岗位 == null) ? 0 : 现任岗位.hashCode());
result = prime * result + ((现任职级 == null) ? 0 : 现任职级.hashCode());
result = prime * result + ((机构名称 == null) ? 0 : 机构名称.hashCode());
result = prime * result + ((职场分类 == null) ? 0 : 职场分类.hashCode());
result = prime * result + ((片区名称 == null) ? 0 : 片区名称.hashCode());
result = prime * result + ((团队名称 == null) ? 0 : 团队名称.hashCode());
result = prime * result + ((对口分公司 == null) ? 0 : 对口分公司.hashCode());
result = prime * result + ((展业地区 == null) ? 0 : 展业地区.hashCode());
result = prime * result + ((招聘渠道 == null) ? 0 : 招聘渠道.hashCode());
result = prime * result + ((渠道明细 == null) ? 0 : 渠道明细.hashCode());
result = prime * result + ((全日制最高学历 == null) ? 0 : 全日制最高学历.hashCode());
result = prime * result + ((学历类型 == null) ? 0 : 学历类型.hashCode());
result = prime * result + ((用工性质名称 == null) ? 0 : 用工性质名称.hashCode());
result = prime * result + ((合同种类 == null) ? 0 : 合同种类.hashCode());
result = prime * result + ((合同类型 == null) ? 0 : 合同类型.hashCode());
result = prime * result + ((合同性质 == null) ? 0 : 合同性质.hashCode());
result = prime * result + 合同签订次数;
result = prime * result + ((合同生效日期 == null) ? 0 : 合同生效日期.hashCode());
result = prime * result + ((合同到期日期 == null) ? 0 : 合同到期日期.hashCode());
result = prime * result + ((人员属性 == null) ? 0 : 人员属性.hashCode());
result = prime * result + ((保代员工号 == null) ? 0 : 保代员工号.hashCode());
result = prime * result + ((职场属性 == null) ? 0 : 职场属性.hashCode());
result = prime * result + ((办公性质 == null) ? 0 : 办公性质.hashCode());
result = prime * result + ((保代人员属性 == null) ? 0 : 保代人员属性.hashCode());
result = prime * result + ((人员状态 == null) ? 0 : 人员状态.hashCode());
return result;
}
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
TWrTelsalerRecord other = (TWrTelsalerRecord) obj;
if ( 人员姓名 == null )
{
if ( other.人员姓名 != null )
return false;
}
else if ( !人员姓名.equals( other.人员姓名 ) )
return false;
if ( 人员工号 == null )
{
if ( other.人员工号 != null )
return false;
}
else if ( !人员工号.equals( other.人员工号 ) )
return false;
if ( 籍贯 == null )
{
if ( other.籍贯 != null )
return false;
}
else if ( !籍贯.equals( other.籍贯 ) )
return false;
if ( 参加工作时间 == null )
{
if ( other.参加工作时间 != null )
return false;
}
else if ( !参加工作时间.equals( other.参加工作时间 ) )
return false;
if ( 入职日期 == null )
{
if ( other.入职日期 != null )
return false;
}
else if ( !入职日期.equals( other.入职日期 ) )
return false;
if ( 入司日期 == null )
{
if ( other.入司日期 != null )
return false;
}
else if ( !入司日期.equals( other.入司日期 ) )
return false;
if ( 业务类型 == null )
{
if ( other.业务类型 != null )
return false;
}
else if ( !业务类型.equals( other.业务类型 ) )
return false;
if ( 办公地省 == null )
{
if ( other.办公地省 != null )
return false;
}
else if ( !办公地省.equals( other.办公地省 ) )
return false;
if ( 办公地市 == null )
{
if ( other.办公地市 != null )
return false;
}
else if ( !办公地市.equals( other.办公地市 ) )
return false;
if ( 人员类别 == null )
{
if ( other.人员类别 != null )
return false;
}
else if ( !人员类别.equals( other.人员类别 ) )
return false;
if ( 现任岗位 == null )
{
if ( other.现任岗位 != null )
return false;
}
else if ( !现任岗位.equals( other.现任岗位 ) )
return false;
if ( 现任职级 == null )
{
if ( other.现任职级 != null )
return false;
}
else if ( !现任职级.equals( other.现任职级 ) )
return false;
if ( 机构名称 == null )
{
if ( other.机构名称 != null )
return false;
}
else if ( !机构名称.equals( other.机构名称 ) )
return false;
if ( 职场分类 == null )
{
if ( other.职场分类 != null )
return false;
}
else if ( !职场分类.equals( other.职场分类 ) )
return false;
if ( 片区名称 == null )
{
if ( other.片区名称 != null )
return false;
}
else if ( !片区名称.equals( other.片区名称 ) )
return false;
if ( 团队名称 == null )
{
if ( other.团队名称 != null )
return false;
}
else if ( !团队名称.equals( other.团队名称 ) )
return false;
if ( 对口分公司 == null )
{
if ( other.对口分公司 != null )
return false;
}
else if ( !对口分公司.equals( other.对口分公司 ) )
return false;
if ( 展业地区 == null )
{
if ( other.展业地区 != null )
return false;
}
else if ( !展业地区.equals( other.展业地区 ) )
return false;
if ( 招聘渠道 == null )
{
if ( other.招聘渠道 != null )
return false;
}
else if ( !招聘渠道.equals( other.招聘渠道 ) )
return false;
if ( 渠道明细 == null )
{
if ( other.渠道明细 != null )
return false;
}
else if ( !渠道明细.equals( other.渠道明细 ) )
return false;
if ( 全日制最高学历 == null )
{
if ( other.全日制最高学历 != null )
return false;
}
else if ( !全日制最高学历.equals( other.全日制最高学历 ) )
return false;
if ( 学历类型 == null )
{
if ( other.学历类型 != null )
return false;
}
else if ( !学历类型.equals( other.学历类型 ) )
return false;
if ( 用工性质名称 == null )
{
if ( other.用工性质名称 != null )
return false;
}
else if ( !用工性质名称.equals( other.用工性质名称 ) )
return false;
if ( 合同种类 == null )
{
if ( other.合同种类 != null )
return false;
}
else if ( !合同种类.equals( other.合同种类 ) )
return false;
if ( 合同类型 == null )
{
if ( other.合同类型 != null )
return false;
}
else if ( !合同类型.equals( other.合同类型 ) )
return false;
if ( 合同性质 == null )
{
if ( other.合同性质 != null )
return false;
}
else if ( !合同性质.equals( other.合同性质 ) )
return false;
if ( 合同签订次数 != other.合同签订次数 )
return false;
if ( 合同生效日期 == null )
{
if ( other.合同生效日期 != null )
return false;
}
else if ( !合同生效日期.equals( other.合同生效日期 ) )
return false;
if ( 合同到期日期 == null )
{
if ( other.合同到期日期 != null )
return false;
}
else if ( !合同到期日期.equals( other.合同到期日期 ) )
return false;
if ( 人员属性 == null )
{
if ( other.人员属性 != null )
return false;
}
else if ( !人员属性.equals( other.人员属性 ) )
return false;
if ( 保代员工号 == null )
{
if ( other.保代员工号 != null )
return false;
}
else if ( !保代员工号.equals( other.保代员工号 ) )
return false;
if ( 职场属性 == null )
{
if ( other.职场属性 != null )
return false;
}
else if ( !职场属性.equals( other.职场属性 ) )
return false;
if ( 办公性质 == null )
{
if ( other.办公性质 != null )
return false;
}
else if ( !办公性质.equals( other.办公性质 ) )
return false;
if ( 保代人员属性 == null )
{
if ( other.保代人员属性 != null )
return false;
}
else if ( !保代人员属性.equals( other.保代人员属性 ) )
return false;
if ( 人员状态 == null )
{
if ( other.人员状态 != null )
return false;
}
else if ( !人员状态.equals( other.人员状态 ) )
return false;
return true;
}
public String get人员姓名()
{
return 人员姓名;
}
public void set人员姓名( String 人员姓名 )
{
this.人员姓名 = 人员姓名;
}
public String get人员工号()
{
return 人员工号;
}
public void set人员工号( String 人员工号 )
{
this.人员工号 = 人员工号;
}
public String get籍贯()
{
return 籍贯;
}
public void set籍贯( String 籍贯 )
{
this.籍贯 = 籍贯;
}
public String get参加工作时间()
{
return 参加工作时间;
}
public void set参加工作时间( String 参加工作时间 )
{
this.参加工作时间 = 参加工作时间;
}
public String get入职日期()
{
return 入职日期;
}
public void set入职日期( String 入职日期 )
{
this.入职日期 = 入职日期;
}
public String get入司日期()
{
return 入司日期;
}
public void set入司日期( String 入司日期 )
{
this.入司日期 = 入司日期;
}
public String get业务类型()
{
return 业务类型;
}
public void set业务类型( String 业务类型 )
{
this.业务类型 = 业务类型;
}
public String get办公地省()
{
return 办公地省;
}
public void set办公地省( String 办公地省 )
{
this.办公地省 = 办公地省;
}
public String get办公地市()
{
return 办公地市;
}
public void set办公地市( String 办公地市 )
{
this.办公地市 = 办公地市;
}
public String get人员类别()
{
return 人员类别;
}
public void set人员类别( String 人员类别 )
{
this.人员类别 = 人员类别;
}
public String get现任岗位()
{
return 现任岗位;
}
public void set现任岗位( String 现任岗位 )
{
this.现任岗位 = 现任岗位;
}
public String get现任职级()
{
return 现任职级;
}
public void set现任职级( String 现任职级 )
{
this.现任职级 = 现任职级;
}
public String get机构名称()
{
return 机构名称;
}
public void set机构名称( String 机构名称 )
{
this.机构名称 = 机构名称;
}
public String get职场分类()
{
return 职场分类;
}
public void set职场分类( String 职场分类 )
{
this.职场分类 = 职场分类;
}
public String get片区名称()
{
return 片区名称;
}
public void set片区名称( String 片区名称 )
{
this.片区名称 = 片区名称;
}
public String get团队名称()
{
return 团队名称;
}
public void set团队名称( String 团队名称 )
{
this.团队名称 = 团队名称;
}
public String get对口分公司()
{
return 对口分公司;
}
public void set对口分公司( String 对口分公司 )
{
this.对口分公司 = 对口分公司;
}
public String get展业地区()
{
return 展业地区;
}
public void set展业地区( String 展业地区 )
{
this.展业地区 = 展业地区;
}
public String get招聘渠道()
{
return 招聘渠道;
}
public void set招聘渠道( String 招聘渠道 )
{
this.招聘渠道 = 招聘渠道;
}
public String get渠道明细()
{
return 渠道明细;
}
public void set渠道明细( String 渠道明细 )
{
this.渠道明细 = 渠道明细;
}
public String get全日制最高学历()
{
return 全日制最高学历;
}
public void set全日制最高学历( String 全日制最高学历 )
{
this.全日制最高学历 = 全日制最高学历;
}
public String get学历类型()
{
return 学历类型;
}
public void set学历类型( String 学历类型 )
{
this.学历类型 = 学历类型;
}
public String get用工性质名称()
{
return 用工性质名称;
}
public void set用工性质名称( String 用工性质名称 )
{
this.用工性质名称 = 用工性质名称;
}
public String get合同种类()
{
return 合同种类;
}
public void set合同种类( String 合同种类 )
{
this.合同种类 = 合同种类;
}
public String get合同类型()
{
return 合同类型;
}
public void set合同类型( String 合同类型 )
{
this.合同类型 = 合同类型;
}
public String get合同性质()
{
return 合同性质;
}
public void set合同性质( String 合同性质 )
{
this.合同性质 = 合同性质;
}
public int get合同签订次数()
{
return 合同签订次数;
}
public void set合同签订次数( int 合同签订次数 )
{
this.合同签订次数 = 合同签订次数;
}
public String get合同生效日期()
{
return 合同生效日期;
}
public void set合同生效日期( String 合同生效日期 )
{
this.合同生效日期 = 合同生效日期;
}
public String get合同到期日期()
{
return 合同到期日期;
}
public void set合同到期日期( String 合同到期日期 )
{
this.合同到期日期 = 合同到期日期;
}
public String get人员属性()
{
return 人员属性;
}
public void set人员属性( String 人员属性 )
{
this.人员属性 = 人员属性;
}
public String get保代员工号()
{
return 保代员工号;
}
public void set保代员工号( String 保代员工号 )
{
this.保代员工号 = 保代员工号;
}
public String get职场属性()
{
return 职场属性;
}
public void set职场属性( String 职场属性 )
{
this.职场属性 = 职场属性;
}
public String get办公性质()
{
return 办公性质;
}
public void set办公性质( String 办公性质 )
{
this.办公性质 = 办公性质;
}
public String get保代人员属性()
{
return 保代人员属性;
}
public void set保代人员属性( String 保代人员属性 )
{
this.保代人员属性 = 保代人员属性;
}
public String get人员状态()
{
return 人员状态;
}
public void set人员状态( String 人员状态 )
{
this.人员状态 = 人员状态;
}
}

View File

@ -0,0 +1,190 @@
/*
* @Author: Kane
* @Date: 2023-11-24 11:09:46
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportTWRTelsalerData.java
* @Description:
*
* Copyright (c) ${2023} by Kane, All Rights Reserved.
*/
package com.cpic.xim.utils.data;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.cpic.xim.mybatis.pojo.TWrTelsalerRecord;
import com.cpic.xim.utils.poi.MyPOIUtils;
public class ImportTWRTelsalerData
{
private static Logger logger = LoggerFactory.getLogger( ImportTWRTelsalerData.class );
private static String[] TwrTelsalerListExcelTitle = new String[]
{ "人员姓名", "人员工号", "籍 贯", "参加工作时间", "入职日期", "入司日期", "业务类型", "办公地省", "办公地市", "人员类别", "现任岗位",
"现任职级", "机构名称", "职场分类", "片区名称", "团队名称", "对口分公司", "展业地区", "招聘渠道", "渠道明细", "全日制最高学历",
"学历类型", "用工性质名称", "合同种类", "合同类型", "合同性质", "合同签订次数", "合同生效日期", "合同到期日期", "人员属性", "保代员工号",
"职场属性", "办公性质", "保代人员属性", "人员状态",};
public static void importTWrTelsalerDataFromExcel( String filePath, int sheetIndex,
int firstRow ) throws IOException, InvalidFormatException
{
ArrayList<TWrTelsalerRecord> records = new ArrayList<>( 200 );
Workbook wb = null;
Sheet sheet = null;
try
{
wb = WorkbookFactory.create( new File( filePath ) );
sheet = wb.getSheetAt( sheetIndex );
// 先验证格式不对就抛出错误
if ( !checkExcelFormat( sheet, null, 0, TwrTelsalerListExcelTitle, 0 ) )
{
throw new InvalidFormatException( "Excel文件格式错误请检查报表内容" );
}
for ( Row row : sheet )
{
int rowIndex = row.getRowNum();
// 从数据行开始
if ( row.getRowNum() < firstRow )
{
continue;
}
try
{
String 人员姓名 = MyPOIUtils.getStringCellValue( row, 0 );
String 人员工号 = MyPOIUtils.getStringCellValue( row, 1 );
String 籍贯 = MyPOIUtils.getStringCellValue( row, 2 );
String 参加工作时间 = MyPOIUtils.getStringCellValue( row, 3 );
String 入职日期 = MyPOIUtils.getStringCellValue( row, 4 );
String 入司日期 = MyPOIUtils.getStringCellValue( row, 5 );
String 业务类型 = MyPOIUtils.getStringCellValue( row, 6 );
String 办公地省 = MyPOIUtils.getStringCellValue( row, 7 );
String 办公地市 = MyPOIUtils.getStringCellValue( row, 8 );
String 人员类别 = MyPOIUtils.getStringCellValue( row, 9 );
String 现任岗位 = MyPOIUtils.getStringCellValue( row, 10 );
String 现任职级 = MyPOIUtils.getStringCellValue( row, 11 );
String 机构名称 = MyPOIUtils.getStringCellValue( row, 12 );
String 职场分类 = MyPOIUtils.getStringCellValue( row, 13 );
String 片区名称 = MyPOIUtils.getStringCellValue( row, 14 );
String 团队名称 = MyPOIUtils.getStringCellValue( row, 15 );
String 对口分公司 = MyPOIUtils.getStringCellValue( row, 16 );
String 展业地区 = MyPOIUtils.getStringCellValue( row, 17 );
String 招聘渠道 = MyPOIUtils.getStringCellValue( row, 18 );
String 渠道明细 = MyPOIUtils.getStringCellValue( row, 19 );
String 全日制最高学历 = MyPOIUtils.getStringCellValue( row, 20 );
String 学历类型 = MyPOIUtils.getStringCellValue( row, 21 );
String 用工性质名称 = MyPOIUtils.getStringCellValue( row, 22 );
String 合同种类 = MyPOIUtils.getStringCellValue( row, 23 );
String 合同类型 = MyPOIUtils.getStringCellValue( row, 24 );
String 合同性质 = MyPOIUtils.getStringCellValue( row, 25 );
int 合同签订次数 = (int)MyPOIUtils.getNumbericCellValue( row, 26 );
String 合同生效日期 = MyPOIUtils.getStringCellValue( row, 27 );
String 合同到期日期 = MyPOIUtils.getStringCellValue( row, 28 );
String 人员属性 = MyPOIUtils.getStringCellValue( row, 29 );
String 保代员工号 = MyPOIUtils.getStringCellValue( row, 30 );
String 职场属性 = MyPOIUtils.getStringCellValue( row, 31 );
String 办公性质 = MyPOIUtils.getStringCellValue( row, 32 );
String 保代人员属性 = MyPOIUtils.getStringCellValue( row, 33 );
String 人员状态 = MyPOIUtils.getStringCellValue( row, 34 );
TWrTelsalerRecord record = new TWrTelsalerRecord(人员姓名, 人员工号, 籍贯, 参加工作时间, 入职日期, 入司日期, 业务类型, 办公地省, 办公地市, 人员类别, 现任岗位, 现任职级, 机构名称, 职场分类, 片区名称, 团队名称, 对口分公司, 展业地区, 招聘渠道, 渠道明细, 全日制最高学历, 学历类型, 用工性质名称, 合同种类, 合同类型, 合同性质, 合同签订次数, 合同生效日期, 合同到期日期, 人员属性, 保代员工号, 职场属性, 办公性质, 保代人员属性, 人员状态);
records.add(record);
}
catch ( IllegalStateException error )
{
error.printStackTrace();
}
catch ( NumberFormatException error )
{
error.printStackTrace();
}
catch ( NullPointerException error )
{
String message = "" + String.valueOf( rowIndex ) + "行出现NullPointerException异常";
logger.error( message, error );
}
}
}
finally
{
try
{
if ( wb != null )
{
wb.close();
}
}
catch ( IOException error )
{
error.printStackTrace();
}
}
}
private static boolean checkExcelFormat( Sheet sheet, String caption, int captionRowIndex,
String[] title, int titleRowIndex )
{
boolean result = true;
Row captionRow = sheet.getRow( captionRowIndex );
Row titleRow = sheet.getRow( titleRowIndex );
if ( caption != null && !caption.isEmpty() )
{
try
{
int captionCellNum = captionRow.getFirstCellNum();
String captionString = MyPOIUtils.getStringCellValue( captionRow, captionCellNum );
if ( !caption.equals( captionString ) )
{
result = false;
}
}
catch ( NullPointerException error )
{
result = false;
}
}
if ( title.length != 0 )
{
int cellIndex = 0;
try
{
for ( Cell cell : titleRow )
{
String cellString = MyPOIUtils.getStringCellValue( cell );
if ( !cellString.equals( title[cellIndex] ) )
{
result = false;
break;
}
cellIndex++;
}
}
catch ( NullPointerException error )
{
result = false;
}
}
return result;
}
}

View File

@ -10,6 +10,7 @@
package com.cpic.xim.utils.poi;
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.Row.MissingCellPolicy;
@ -17,7 +18,7 @@ public class MyPOIUtils
{
public static String getStringCellValue( Cell cell )
{
switch( cell.getCellType() )
switch ( cell.getCellType())
{
case STRING:
return cell.getStringCellValue();
@ -28,9 +29,9 @@ public class MyPOIUtils
public static String getStringCellValue( Row row, int columnIndex )
{
Cell cell = row.getCell(columnIndex, MissingCellPolicy.RETURN_NULL_AND_BLANK);
Cell cell = row.getCell( columnIndex, MissingCellPolicy.RETURN_NULL_AND_BLANK );
switch( cell.getCellType() )
switch ( cell.getCellType())
{
case STRING:
return cell.getStringCellValue();
@ -43,7 +44,7 @@ public class MyPOIUtils
{
double value = 0.0;
switch ( cell.getCellType() )
switch ( cell.getCellType())
{
case NUMERIC:
value = cell.getNumericCellValue();
@ -59,12 +60,29 @@ public class MyPOIUtils
public static double getNumbericCellValue( Row row, int columnIndex )
{
double value = 0.0;
String strValue;
Cell cell = row.getCell( columnIndex, MissingCellPolicy.RETURN_NULL_AND_BLANK );
CellType type = cell.getCellType();
switch ( cell.getCellType() )
switch ( type )
{
case NUMERIC:
value = cell.getNumericCellValue();
break;
case STRING:
// 字符串类型尝试转换成数字
strValue = cell.getStringCellValue();
try
{
value = Double.parseDouble( strValue );
}
// 任何异常都视为转换失败
catch ( Exception error )
{
value = 0.0;
}
break;
default:
value = 0.0;
@ -73,4 +91,4 @@ public class MyPOIUtils
return value;
}
}
}

Binary file not shown.