保存进度!

This commit is contained in:
Kane Wang 2023-05-15 20:06:17 +08:00
parent b2ca0d946b
commit 21732f6bd2
6 changed files with 138 additions and 31 deletions

View File

@ -4,10 +4,11 @@ CREATE OR REPLACE PACKAGE telsale_archievement_pkg IS
-- Created : 2023/3/10 15:13:34
-- Purpose : 桌面霸屏项目基础数据生成包
PROCEDURE department_attaching_rate
PROCEDURE department_archievement
(
department_code IN VARCHAR2,
attaching_rate OUT VARCHAR2
a_department_code IN VARCHAR2,
a_attaching_rate OUT VARCHAR2,
a_renewal_rate OUT VARCHAR2
);
END telsale_archievement_pkg;
@ -15,22 +16,41 @@ END telsale_archievement_pkg;
CREATE OR REPLACE PACKAGE BODY telsale_archievement_pkg IS
-- 保费渗透率
PROCEDURE department_attaching_rate
PROCEDURE department_archievement
(
department_code IN VARCHAR2,
attaching_rate OUT VARCHAR2
a_department_code IN VARCHAR2,
a_attaching_rate OUT VARCHAR2,
a_renewal_rate OUT VARCHAR2
) IS
l_this_month VARCHAR2(4);
l_this_month VARCHAR2(4);
l_department_name VARCHAR2(100);
BEGIN
l_this_month := to_char(SYSDATE,
'mm') || '月';
SELECT round((SUM(cf.车非融合保费) / SUM(cf.车险个人客户保费) * 100),
2) || '%'
INTO attaching_rate
SELECT decode(SUM(cf.车险个人客户保费),
0,
0,
round((SUM(cf.车非融合保费) / SUM(cf.车险个人客户保费) * 100),
2))
INTO a_attaching_rate
FROM 车非每日保费 cf
WHERE cf.月份 = l_this_month
AND 部门代码 = department_code;
AND 部门代码 = a_department_code;
SELECT bm.department_name
INTO l_department_name
FROM idst0.bm_t bm
WHERE bm.department_code = a_department_code;
SELECT decode(SUM(到期数),
0,
0,
round(SUM(已续保累计) / SUM(到期数) * 100,
2))
INTO a_renewal_rate
FROM 坐席续保统计
WHERE 部门 = l_department_name;
END;
BEGIN

View File

@ -31,7 +31,6 @@
"eslint-plugin-vue": "^9.12.0",
"sass": "^1.62.1",
"typescript": "^5.0.4",
"vite": "^4.3.5",
"vue-eslint-parser": "^9.3.0"
}
},
@ -426,6 +425,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -442,6 +442,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -458,6 +459,7 @@
"os": [
"android"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -474,6 +476,7 @@
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -490,6 +493,7 @@
"os": [
"darwin"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -506,6 +510,7 @@
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -522,6 +527,7 @@
"os": [
"freebsd"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -538,6 +544,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -554,6 +561,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -570,6 +578,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -586,6 +595,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -602,6 +612,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -618,6 +629,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -634,6 +646,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -650,6 +663,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -666,6 +680,7 @@
"os": [
"linux"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -682,6 +697,7 @@
"os": [
"netbsd"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -698,6 +714,7 @@
"os": [
"openbsd"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -714,6 +731,7 @@
"os": [
"sunos"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -730,6 +748,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -746,6 +765,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -762,6 +782,7 @@
"os": [
"win32"
],
"peer": true,
"engines": {
"node": ">=12"
}
@ -4379,6 +4400,7 @@
"integrity": "sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==",
"dev": true,
"hasInstallScript": true,
"peer": true,
"bin": {
"esbuild": "bin/esbuild"
},
@ -10795,6 +10817,7 @@
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.21.0.tgz",
"integrity": "sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==",
"dev": true,
"peer": true,
"bin": {
"rollup": "dist/bin/rollup"
},
@ -12027,6 +12050,7 @@
"resolved": "https://registry.npmmirror.com/vite/-/vite-4.3.5.tgz",
"integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==",
"dev": true,
"peer": true,
"dependencies": {
"esbuild": "^0.17.5",
"postcss": "^8.4.23",

View File

@ -32,7 +32,6 @@
"eslint-plugin-vue": "^9.12.0",
"sass": "^1.62.1",
"typescript": "^5.0.4",
"vite": "^4.3.5",
"vue-eslint-parser": "^9.3.0"
}
}

View File

@ -0,0 +1,14 @@
{
// 使 IntelliSense
//
// 访: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Current File",
"request": "launch",
"mainClass": "${file}"
}
]
}

View File

@ -18,10 +18,11 @@
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
@ -29,7 +30,12 @@
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
@ -103,16 +109,16 @@
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -14,13 +14,23 @@ import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.CallableStatement;
import java.util.Vector;
import com.fasterxml.jackson.annotation.JsonProperty;
public class DepartmentArchievement
{
public DepartmentArchievement()
// 以后要改
private static String jdbcURL = "jdbc:oracle:thin:@10.39.0.86:1521:xmcx1";
private static String userName = "desktop_archievement_admin";
private static String password = "Cpic123456";
/**
* 默认的构造函数提供给json使用
*/
public DepartmentArchievement()
{
this.totalArchievement = 0;
this.mensualArchievementList = new Vector<>();
@ -28,14 +38,48 @@ public class DepartmentArchievement
this.attachingRate = "";
}
/**
* @brief 构造函数提供所有成员对象的值
* @param totalArchievement
* @param mensualArchievementList
* @param insuranceRenewalRate
* @param attachingRate
*/
public DepartmentArchievement( int totalArchievement, Vector<Integer> mensualArchievementList,
String insuranceRenewalRate, String attachingRate)
{
this.totalArchievement = totalArchievement;
this.mensualArchievementList = mensualArchievementList;
this.insuranceRenewalRate = insuranceRenewalRate;
this.attachingRate = attachingRate;
}
/**
* 静态方法用于根据部门代码查询部门业绩生成一个 DepartmentArchievement 对象
* @param departmentCode 部门代码
* @return
* @throws SQLException
* @throws ClassNotFoundException
*/
public static DepartmentArchievement queryDepartmentArchievement( String departmentCode )
throws SQLException, ClassNotFoundException
{
DepartmentArchievement archievement = new DepartmentArchievement();
String sql = """
""";
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 );
statement.setString( 1, departmentCode );
statement.registerOutParameter( 2, java.sql.Types.VARCHAR );
statement.registerOutParameter( 3, java.sql.Types.VARCHAR );
statement.execute();
String attach_rate = statement.getString(2);
String renewal_rate = statement.getString( 3 );
return archievement;
}
@ -93,4 +137,4 @@ public class DepartmentArchievement
@JsonProperty( "attaching_rate" )
private String attachingRate; // 车非渗透率
}
}