完成业绩基本代码

This commit is contained in:
2023-05-18 18:22:05 +08:00
parent fa79a8f8d1
commit e48e68d680
8 changed files with 162 additions and 139 deletions

View File

@@ -18,7 +18,7 @@ import java.sql.CallableStatement;
import java.util.Vector;
import com.fasterxml.jackson.annotation.JsonProperty;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;
public class DepartmentArchievement
@@ -47,7 +47,7 @@ public class DepartmentArchievement
* @param insuranceRenewalRate
* @param attachingRate
*/
public DepartmentArchievement( int totalArchievement, Vector<Integer> mensualArchievementList,
public DepartmentArchievement( long totalArchievement, Vector<Long> mensualArchievementList,
String insuranceRenewalRate, String attachingRate)
{
this.totalArchievement = totalArchievement;
@@ -66,48 +66,102 @@ public class DepartmentArchievement
public static DepartmentArchievement queryDepartmentArchievement( String departmentCode )
throws SQLException, ClassNotFoundException
{
DepartmentArchievement archievement = new DepartmentArchievement();
Connection connection = null;
java.sql.CallableStatement statement = null;
ResultSet menusual_cursor = null;
DepartmentArchievement archievement = null;
String sql = "{call telsale_archievement_pkg.department_archievement(?,?,?,?,?)}";
Class.forName( "oracle.jdbc.driver.OracleDriver" );
Connection connection = DriverManager.getConnection( jdbcURL, userName, password );
java.sql.CallableStatement statement = connection.prepareCall( sql );
try
{
Class.forName( "oracle.jdbc.driver.OracleDriver" );
connection = DriverManager.getConnection( jdbcURL, userName, password );
statement = connection.prepareCall( sql );
statement.setString( 1, departmentCode );
statement.registerOutParameter( 2, java.sql.Types.VARCHAR );
statement.registerOutParameter( 3, java.sql.Types.VARCHAR );
statement.registerOutParameter( 4, java.sql.Types.VARCHAR );
statement.registerOutParameter( 5, OracleTypes.CURSOR );
statement.execute();
statement.setString( 1, departmentCode );
statement.registerOutParameter( 2, java.sql.Types.VARCHAR );
statement.registerOutParameter( 3, java.sql.Types.VARCHAR );
statement.registerOutParameter( 4, java.sql.Types.INTEGER );
statement.registerOutParameter( 5, OracleTypes.CURSOR );
String attach_rate = statement.getString( 2 );
String renewal_rate = statement.getString( 3 );
String totalArchievement = statement.getString( 4 );
statement.execute();
archievement.setAttachingRate( attach_rate );
archievement.setInsuranceRenewalRate( renewal_rate );
Vector<Long> menusual_list = new Vector<Long>();
String attach_rate = statement.getString( 2 );
String renewal_rate = statement.getString( 3 );
long totalArchievement = statement.getInt( 4 );
menusual_cursor = ((OracleCallableStatement) statement).getCursor( 5 );
while ( menusual_cursor.next())
{
menusual_list.add( menusual_cursor.getLong( 2 ) );
}
archievement = new DepartmentArchievement( totalArchievement, menusual_list,
renewal_rate, attach_rate );
}
finally
{
try
{
if ( menusual_cursor != null )
{
menusual_cursor.close();
}
}
catch ( Exception exception )
{
exception.printStackTrace();
}
try
{
if ( statement != null )
{
statement.close();
}
}
catch ( Exception exception )
{
exception.printStackTrace();
}
try
{
if ( connection != null )
{
connection.close();
}
}
catch ( Exception exception )
{
exception.printStackTrace();
}
}
return archievement;
}
public int getTotalArchievement()
public long getTotalArchievement()
{
return totalArchievement;
}
public void setTotalArchievement( int totalArchievement )
public void setTotalArchievement( long totalArchievement )
{
this.totalArchievement = totalArchievement;
}
public Vector<Integer> getMensualArchievementList()
public Vector<Long> getMensualArchievementList()
{
return mensualArchievementList;
}
public void setMensualArchievementList( Vector<Integer> mensualArchievementList )
public void setMensualArchievementList( Vector<Long> mensualArchievementList )
{
this.mensualArchievementList = mensualArchievementList;
}
@@ -133,12 +187,12 @@ public class DepartmentArchievement
}
@JsonProperty( "total_archievement" )
private int totalArchievement; // 总业绩
private long totalArchievement; // 总业绩
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private Vector<Integer> mensualArchievementList;
private Vector<Long> mensualArchievementList;
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率

View File

@@ -55,25 +55,14 @@ public class ArchievementQueryController
departmentArch = DepartmentArchievement
.queryDepartmentArchievement( request.getDepartmentCode() );
Vector<Integer> mensual_archievement = new Vector<Integer>();
mensual_archievement.add( 200 );
mensual_archievement.add( 213 );
mensual_archievement.add( 333 );
mensual_archievement.add( 444 );
mensual_archievement.add( 555 );
mensual_archievement.add( 666 );
result.setSuccess( true );
result.setMessage( "成功" );
result.setTotalArchievement( 1234567890 );
result.setTotalArchievement( departmentArch.getTotalArchievement() );
result.setInsuranceRenewalRate( departmentArch.getInsuranceRenewalRate() );
result.setAttachingRate( departmentArch.getAttachingRate() );
result.addAdvanceRewardGainer( "沈群" );
result.addLeadingRewardGainer( "王鸿津" );
result.addLeadingRewardGainer( "林宗泽" );
result.addBackwardStaff( "王炜" );
result.setMensualArchievementList( mensual_archievement );
result.setMensualArchievementList( departmentArch.getMensualArchievementList() );
}
catch ( SQLException error )
{
@@ -84,29 +73,9 @@ public class ArchievementQueryController
}
result.setSuccess( true );
result.setMessage( "成功" );
return result;
}
void genTestDepartmentData( DepartmentArchievementQueryResult data )
{
Vector<Integer> mensual_archievement = new Vector<Integer>();
mensual_archievement.add( 200 );
mensual_archievement.add( 213 );
mensual_archievement.add( 333 );
mensual_archievement.add( 444 );
mensual_archievement.add( 555 );
mensual_archievement.add( 666 );
data.setSuccess( true );
data.setMessage( "成功" );
data.setTotalArchievement( 1234567890 );
data.setInsuranceRenewalRate( "65" );
data.setAttachingRate( "75" );
data.addAdvanceRewardGainer( "沈群" );
data.addLeadingRewardGainer( "王鸿津" );
data.addLeadingRewardGainer( "林宗泽" );
data.addBackwardStaff( "王炜" );
data.setMensualArchievementList( mensual_archievement );
}
}

View File

@@ -22,28 +22,28 @@ public class DepartmentArchievementQueryResult extends QueryResult
{
DepartmentArchievementQueryResult()
{
mensualArchievementList = new Vector<Integer>();
mensualArchievementList = new Vector<Long>();
advanceRewardGainers = new Vector<String>();
leadingRewardGainers = new Vector<String>();
backwardList = new Vector<String>();
}
public int getTotalArchievement()
public long getTotalArchievement()
{
return totalArchievement;
}
public void setTotalArchievement( int totalArchievement )
public void setTotalArchievement( long totalArchievement )
{
this.totalArchievement = totalArchievement;
}
public Vector<Integer> getMensualArchievementList()
public Vector<Long> getMensualArchievementList()
{
return mensualArchievementList;
}
public void setMensualArchievementList( Vector<Integer> mensualArchievementList )
public void setMensualArchievementList( Vector<Long> mensualArchievementList )
{
this.mensualArchievementList = mensualArchievementList;
}
@@ -114,12 +114,12 @@ public class DepartmentArchievementQueryResult extends QueryResult
}
@JsonProperty( "total_archievement" )
private int totalArchievement; // 总业绩
private long totalArchievement; // 总业绩
// 每月业绩列表
// 要保证数据是按照月份排序。
@JsonProperty( "mensual_archievement_list" )
private Vector<Integer> mensualArchievementList;
private Vector<Long> mensualArchievementList;
@JsonProperty( "insurance_renewal_rate" )
private String insuranceRenewalRate; // 续保率

View File

@@ -28,20 +28,18 @@ public class CrosFilter implements Filter
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
String method = request.getMethod();
String originHeader = null;
String originHeader = request.getHeader( "Origin" );
// 如果是Options请求就直接返回200状态码
if ( method.equals( HttpMethod.OPTIONS.toString() ) )
System.out.println( "收到" + method + "请求,来自" + originHeader);
// 如果是Options请求
if ( method.equals(HttpMethod.OPTIONS.toString()) )
{
originHeader = "*";
}
else
{
originHeader = request.getHeader( "Origin" );
}
response.setHeader( "Access-Control-Allow-Origin", originHeader );
response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" );
response.setHeader( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT" );
response.setHeader( "Access-Control-Max-Age", "0" );
response.setHeader( "Access-Control-Allow-Headers",
"Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token" );