From 21732f6bd2812f73f00dd851272e292f0f96e1f6 Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Mon, 15 May 2023 20:06:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=BF=9B=E5=BA=A6=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/db/pkg/telsale_archievement_pkg.pck | 42 ++++++++++---- code/web/task_schedule/package-lock.json | 26 ++++++++- code/web/task_schedule/package.json | 1 - .../.vscode/launch.json | 14 +++++ .../desktop_archievement_backend/pom.xml | 30 ++++++---- .../archievement/DepartmentArchievement.java | 56 +++++++++++++++++-- 6 files changed, 138 insertions(+), 31 deletions(-) create mode 100644 code/鍚庣/desktop_archievement_backend/.vscode/launch.json diff --git a/code/db/pkg/telsale_archievement_pkg.pck b/code/db/pkg/telsale_archievement_pkg.pck index 55b88c2..45b3f88 100644 --- a/code/db/pkg/telsale_archievement_pkg.pck +++ b/code/db/pkg/telsale_archievement_pkg.pck @@ -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 diff --git a/code/web/task_schedule/package-lock.json b/code/web/task_schedule/package-lock.json index 5b2af5c..9d4b197 100644 --- a/code/web/task_schedule/package-lock.json +++ b/code/web/task_schedule/package-lock.json @@ -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", diff --git a/code/web/task_schedule/package.json b/code/web/task_schedule/package.json index 91c5f93..353b734 100644 --- a/code/web/task_schedule/package.json +++ b/code/web/task_schedule/package.json @@ -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" } } diff --git a/code/鍚庣/desktop_archievement_backend/.vscode/launch.json b/code/鍚庣/desktop_archievement_backend/.vscode/launch.json new file mode 100644 index 0000000..cdd87cb --- /dev/null +++ b/code/鍚庣/desktop_archievement_backend/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + // 浣跨敤 IntelliSense 浜嗚В鐩稿叧灞炴с + // 鎮仠浠ユ煡鐪嬬幇鏈夊睘鎬х殑鎻忚堪銆 + // 娆蹭簡瑙f洿澶氫俊鎭紝璇疯闂: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "java", + "name": "Current File", + "request": "launch", + "mainClass": "${file}" + } + ] +} \ No newline at end of file diff --git a/code/鍚庣/desktop_archievement_backend/pom.xml b/code/鍚庣/desktop_archievement_backend/pom.xml index ab7c9df..b79b43b 100644 --- a/code/鍚庣/desktop_archievement_backend/pom.xml +++ b/code/鍚庣/desktop_archievement_backend/pom.xml @@ -18,10 +18,11 @@ + junit junit - 3.8.1 + 4.13.2 test @@ -29,7 +30,12 @@ spring-context ${spring.version} - + + org.springframework + spring-test + ${spring.version} + test + org.springframework spring-web @@ -103,16 +109,16 @@ true - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 17 - 17 - UTF-8 - - + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 17 + 17 + UTF-8 + + \ No newline at end of file diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java index 6657e04..aacff5f 100644 --- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java +++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/archievement/DepartmentArchievement.java @@ -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"; + + /** + * 榛樿鐨勬瀯閫犲嚱鏁帮紝鎻愪緵缁檍son浣跨敤銆 + */ + 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 mensualArchievementList, + String insuranceRenewalRate, String attachingRate) + { + this.totalArchievement = totalArchievement; + this.mensualArchievementList = mensualArchievementList; + this.insuranceRenewalRate = insuranceRenewalRate; + this.attachingRate = attachingRate; + } + + /** + * 闈欐佹柟娉曪紝鐢ㄤ簬鏍规嵁閮ㄩ棬浠g爜锛屾煡璇㈤儴闂ㄤ笟缁╋紝鐢熸垚涓涓 DepartmentArchievement 瀵硅薄銆 + * @param departmentCode 閮ㄩ棬浠g爜 + * @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; // 杞﹂潪娓楅忕巼 -} \ No newline at end of file +}