保存进度!
This commit is contained in:
parent
e805bf914b
commit
6d06ad934d
@ -0,0 +1,179 @@
|
||||
/*
|
||||
* @Author: Kane
|
||||
* @Date: 2023-10-09 21:45:39
|
||||
* @LastEditors: Kane
|
||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerRenewalRateRecord.java
|
||||
* @Description: BI导出的续保率Excel文件行记录。
|
||||
*
|
||||
* Copyright (c) ${2023} by Kane, All Rights Reserved.
|
||||
*/
|
||||
package com.cpic.xim.mybatis.pojo;
|
||||
|
||||
public class TelsalerRenewalRateRecord
|
||||
{
|
||||
private String 责任人;
|
||||
private double 机构目标值;
|
||||
private double 到期数全月;
|
||||
private double 序时到期数占比;
|
||||
private double 个车续保率序时;
|
||||
private double 个车续保率全月;
|
||||
private double 环比昨日;
|
||||
private double 环比上月;
|
||||
|
||||
public TelsalerRenewalRateRecord( String 责任人, double 机构目标值, double 到期数全月, double 序时到期数占比, double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月 )
|
||||
{
|
||||
this.责任人 = 责任人;
|
||||
this.机构目标值 = 机构目标值;
|
||||
this.到期数全月 = 到期数全月;
|
||||
this.序时到期数占比 = 序时到期数占比;
|
||||
this.个车续保率序时 = 个车续保率序时;
|
||||
this.个车续保率全月 = 个车续保率全月;
|
||||
this.环比昨日 = 环比昨日;
|
||||
this.环比上月 = 环比上月;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + ((责任人 == null) ? 0 : 责任人.hashCode());
|
||||
long temp;
|
||||
temp = Double.doubleToLongBits( 机构目标值 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 到期数全月 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 序时到期数占比 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 个车续保率序时 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 个车续保率全月 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 环比昨日 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
temp = Double.doubleToLongBits( 环比上月 );
|
||||
result = prime * result + (int) (temp ^ (temp >>> 32));
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals( Object obj )
|
||||
{
|
||||
if ( this == obj )
|
||||
return true;
|
||||
if ( obj == null )
|
||||
return false;
|
||||
if ( getClass() != obj.getClass() )
|
||||
return false;
|
||||
TelsalerRenewalRateRecord other = (TelsalerRenewalRateRecord) obj;
|
||||
if ( 责任人 == null )
|
||||
{
|
||||
if ( other.责任人 != null )
|
||||
return false;
|
||||
}
|
||||
else if ( !责任人.equals( other.责任人 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 机构目标值 ) != Double.doubleToLongBits( other.机构目标值 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 到期数全月 ) != Double.doubleToLongBits( other.到期数全月 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 序时到期数占比 ) != Double.doubleToLongBits( other.序时到期数占比 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 个车续保率序时 ) != Double.doubleToLongBits( other.个车续保率序时 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 个车续保率全月 ) != Double.doubleToLongBits( other.个车续保率全月 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 环比昨日 ) != Double.doubleToLongBits( other.环比昨日 ) )
|
||||
return false;
|
||||
if ( Double.doubleToLongBits( 环比上月 ) != Double.doubleToLongBits( other.环比上月 ) )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "TelsalerRenewalRateRecord [责任人=" + 责任人 + ", 机构目标值=" + 机构目标值 + ", 到期数全月=" + 到期数全月
|
||||
+ ", 序时到期数占比=" + 序时到期数占比 + ", 个车续保率序时=" + 个车续保率序时 + ", 个车续保率全月=" + 个车续保率全月
|
||||
+ ", 环比昨日=" + 环比昨日 + ", 环比上月=" + 环比上月 + "]";
|
||||
}
|
||||
|
||||
public String get责任人()
|
||||
{
|
||||
return 责任人;
|
||||
}
|
||||
|
||||
public void set责任人( String 责任人 )
|
||||
{
|
||||
this.责任人 = 责任人;
|
||||
}
|
||||
|
||||
public double get机构目标值()
|
||||
{
|
||||
return 机构目标值;
|
||||
}
|
||||
|
||||
public void set机构目标值( double 机构目标值 )
|
||||
{
|
||||
this.机构目标值 = 机构目标值;
|
||||
}
|
||||
|
||||
public double get到期数全月()
|
||||
{
|
||||
return 到期数全月;
|
||||
}
|
||||
|
||||
public void set到期数全月( double 到期数全月 )
|
||||
{
|
||||
this.到期数全月 = 到期数全月;
|
||||
}
|
||||
|
||||
public double get序时到期数占比()
|
||||
{
|
||||
return 序时到期数占比;
|
||||
}
|
||||
public void set序时到期数占比( double 序时到期数占比 )
|
||||
{
|
||||
this.序时到期数占比 = 序时到期数占比;
|
||||
}
|
||||
|
||||
public double get个车续保率序时()
|
||||
{
|
||||
return 个车续保率序时;
|
||||
}
|
||||
|
||||
public void set个车续保率序时( double 个车续保率序时 )
|
||||
{
|
||||
this.个车续保率序时 = 个车续保率序时;
|
||||
}
|
||||
|
||||
public double get个车续保率全月()
|
||||
{
|
||||
return 个车续保率全月;
|
||||
}
|
||||
|
||||
public void set个车续保率全月( double 个车续保率全月 )
|
||||
{
|
||||
this.个车续保率全月 = 个车续保率全月;
|
||||
}
|
||||
|
||||
public double get环比昨日()
|
||||
{
|
||||
return 环比昨日;
|
||||
}
|
||||
|
||||
public void set环比昨日( double 环比昨日 )
|
||||
{
|
||||
this.环比昨日 = 环比昨日;
|
||||
}
|
||||
|
||||
public double get环比上月()
|
||||
{
|
||||
return 环比上月;
|
||||
}
|
||||
|
||||
public void set环比上月( double 环比上月 )
|
||||
{
|
||||
this.环比上月 = 环比上月;
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ 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 com.cpic.xim.mybatis.pojo.TelsalerAttachingRateRecord;
|
||||
import com.cpic.xim.mybatis.pojo.*;
|
||||
import com.cpic.xim.utils.poi.MyPOIUtils;
|
||||
|
||||
/**
|
||||
@ -31,7 +31,7 @@ public class TelsalerArchievementData
|
||||
private static Logger logger = LoggerFactory.getLogger( TelsalerArchievementData.class );
|
||||
|
||||
/**
|
||||
*
|
||||
* 从excel文件读取坐席的车非渗透率数据
|
||||
* @param filePath 文件路径
|
||||
* @param summaryDate 统计日期
|
||||
* @return 返回一个ArrayList保存的TelsalerAttachingRateRecord记录数组。
|
||||
@ -39,7 +39,8 @@ public class TelsalerArchievementData
|
||||
* @throws InvalidFormatException excel单元格格式错误时抛出
|
||||
*/
|
||||
public static ArrayList<TelsalerAttachingRateRecord> importTelsalerAttachingRateRecordFromXlsx(
|
||||
String filePath, LocalDate summaryDate, boolean hasCaptionRow ) throws IOException, InvalidFormatException
|
||||
String filePath, LocalDate summaryDate, boolean hasCaptionRow )
|
||||
throws IOException, InvalidFormatException
|
||||
{
|
||||
ArrayList<TelsalerAttachingRateRecord> records = new ArrayList<>( 200 );
|
||||
|
||||
@ -67,6 +68,7 @@ public class TelsalerArchievementData
|
||||
// 坐席名称
|
||||
name = MyPOIUtils.getStringCellValue( row, 1 );
|
||||
|
||||
// 忽略坐席名称为空的行
|
||||
if ( name.equals( "全流程" ) || name.equals( "其他" ) || name.isEmpty() )
|
||||
{
|
||||
continue;
|
||||
@ -110,8 +112,8 @@ public class TelsalerArchievementData
|
||||
}
|
||||
catch ( NullPointerException error )
|
||||
{
|
||||
String message = "第" + String.valueOf(rowIndex) + "行出现NullPointerException异常";
|
||||
logger.error(message, error);
|
||||
String message = "第" + String.valueOf( rowIndex ) + "行出现NullPointerException异常";
|
||||
logger.error( message, error );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -132,4 +134,82 @@ public class TelsalerArchievementData
|
||||
|
||||
return records;
|
||||
}
|
||||
|
||||
/**
|
||||
* 从excel文件读取坐席的车非渗透率数据。
|
||||
* @param filePath
|
||||
* @param hasCaptionRow
|
||||
* @param summaryDate
|
||||
* @return
|
||||
*/
|
||||
public static ArrayList<TelsalerRenewalRateRecord> importTelsalerRenewalRateFromXlsx(
|
||||
String filePath, String sheetName, boolean hasCaptionRow, LocalDate summaryDate )
|
||||
throws IOException
|
||||
{
|
||||
ArrayList<TelsalerRenewalRateRecord> records = new ArrayList<>( 200 );
|
||||
|
||||
Workbook wb = null;
|
||||
Sheet sheet = null;
|
||||
|
||||
try
|
||||
{
|
||||
wb = WorkbookFactory.create( new File( filePath ) );
|
||||
sheet = wb.getSheet( sheetName );
|
||||
int rowIndex = 0;
|
||||
|
||||
for ( Row row : sheet )
|
||||
{
|
||||
rowIndex = row.getRowNum();
|
||||
|
||||
if ( hasCaptionRow == true && rowIndex == 0 )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
String 责任人 = MyPOIUtils.getStringCellValue( row, 0 );
|
||||
|
||||
if ( 责任人.isEmpty() == true )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
double 机构目标值 = MyPOIUtils.getNumbericCellValue( row, 1 );
|
||||
double 到期数全月 = MyPOIUtils.getNumbericCellValue( row, 2 );
|
||||
double 序时到期数占比 = MyPOIUtils.getNumbericCellValue( row, 3 );
|
||||
double 个车续保率序时 = MyPOIUtils.getNumbericCellValue( row, 4 );
|
||||
double 个车续保率全月 = MyPOIUtils.getNumbericCellValue( row, 5 );
|
||||
double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 );
|
||||
double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 );
|
||||
|
||||
TelsalerRenewalRateRecord record = new TelsalerRenewalRateRecord(责任人, 机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月);
|
||||
|
||||
records.add(record);
|
||||
}
|
||||
catch ( NullPointerException error )
|
||||
{
|
||||
String message = "第" + String.valueOf( rowIndex ) + "行出现NullPointerException异常";
|
||||
|
||||
logger.error( message, error );
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
try
|
||||
{
|
||||
if ( wb != null )
|
||||
{
|
||||
wb.close();
|
||||
}
|
||||
}
|
||||
catch ( Exception error )
|
||||
{
|
||||
error.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
return records;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user