diff --git a/code/db/BI相关常用语句.sql b/code/db/BI相关常用语句.sql new file mode 100644 index 0000000..ac3eec1 --- /dev/null +++ b/code/db/BI相关常用语句.sql @@ -0,0 +1,18 @@ +SELECT * + FROM BI͸ͳƱ; + +SELECT * + FROM BIϯ͸ͳƱ; + +SELECT * + FROM BIϯͳƱ; + +/* +truncate table BIϯ͸ͳƱ; + +BEGIN + telsale_bi_utils.BIϯ͸ͳƱ; + telsale_bi_utils.BIϯͳƱ; + telsale_bi_utils.BIҵͳƱ; +END; +*/ diff --git a/code/db/pkg/telsale_bi_utils.pck b/code/db/pkg/telsale_bi_utils.pck new file mode 100644 index 0000000..0527b8d --- /dev/null +++ b/code/db/pkg/telsale_bi_utils.pck @@ -0,0 +1,36 @@ +CREATE OR REPLACE PACKAGE telsale_bi_utils IS + + -- Author : WANGWEI-202 + -- Created : 2023/10/12 15:31:13 + -- Purpose : biݱصĹ + + PROCEDURE BIϯ͸ͳƱ; + + PROCEDURE BIϯͳƱ; + + PROCEDURE BIҵͳƱ; + +END telsale_bi_utils; +/ +CREATE OR REPLACE PACKAGE BODY telsale_bi_utils IS + + PROCEDURE BIϯ͸ͳƱ IS + BEGIN + EXECUTE IMMEDIATE 'truncate table BIϯ͸ͳƱ'; + END; + + PROCEDURE BIϯͳƱ IS + BEGIN + EXECUTE IMMEDIATE 'truncate table BIϯͳƱ'; + END; + + PROCEDURE BIҵͳƱ IS + BEGIN + EXECUTE IMMEDIATE 'truncate table BI͸ͳƱ'; + END; + +BEGIN + -- Initialization + NULL; +END telsale_bi_utils; +/ diff --git a/code/db/建表/BI电销坐席续保率统计表.sql b/code/db/建表/BI电销坐席续保率统计表.sql new file mode 100644 index 0000000..ac01831 --- /dev/null +++ b/code/db/建表/BI电销坐席续保率统计表.sql @@ -0,0 +1,14 @@ +--drop table BIϯͳƱ; +create table BIϯͳƱ +( + summary_date date default sysdate not null, + varchar2(20) not null, + Ŀֵ NUMBER default 0 not null, + ȫ NUMBER default 0 not null, + ʱռ NUMBER default 0 not null, + ʱ NUMBER default 0 not null, + ȫ NUMBER default 0 not null, + NUMBER default 0 not null, + NUMBER default 0 not null +); +comment on table BIϯͳƱ is 'ڴBIϯȫݡ'; diff --git a/code/db/建表/BI电销坐席车非渗透统计表.sql b/code/db/建表/BI电销坐席车非渗透统计表.sql new file mode 100644 index 0000000..c426302 --- /dev/null +++ b/code/db/建表/BI电销坐席车非渗透统计表.sql @@ -0,0 +1,23 @@ +-- Create table +create table BIϯ͸ͳƱ +( + summary_date DATE default sysdate not null, + ϯ varchar2(20) not null, + ձ NUMBER default 0 not null, + ձռ NUMBER default 0 not null, + dz NUMBER default 0 not null, + ±͸ NUMBER default 0 not null, + ͸ʻ NUMBER default 0 not null, + ¿ͻ͸ NUMBER default 0 not null, + ͻ͸ʻ NUMBER default 0 not null, + ³ǿ; NUMBER default 0 not null, + ;ѻ NUMBER default 0 not null +) +tablespace DESKTOP_ARCHIEVEMENT + pctfree 10 + initrans 1 + maxtrans 255; +-- Add comments to the table +comment on table BIϯ͸ͳƱ + is 'ڴBIÿյϯշdzձѺͳ͸ݡ'; + diff --git a/code/db/建表/BI部门渗透率续保率统计表.sql b/code/db/建表/BI部门渗透率续保率统计表.sql new file mode 100644 index 0000000..f08d07c --- /dev/null +++ b/code/db/建表/BI部门渗透率续保率统计表.sql @@ -0,0 +1,17 @@ +drop table BI͸ͳƱ; +create table BI͸ͳƱ +( + varchar2(100) not null, + "Ŀֵ-" number default 0 not null, + Ŀ number default 0 not null, + "ձ()" number default 0 not null, + ձռ number default 0 not null, + "dz()" number default 0 not null, + ±͸ number default 0 not null, + ͸ʻ number default 0 not null, + ¿ͻ͸ number default 0 not null, + ͻ͸ʻ number default 0 not null, + ³ǿ; number default 0 not null, + ;ѻ number default 0 not null +); +comment on table BI͸ͳƱ is 'BIϵͳ͸'; diff --git a/code/db/建表/电销坐席车非渗透统计表.sql b/code/db/建表/电销坐席车非渗透统计表.sql deleted file mode 100644 index 5c3500c..0000000 --- a/code/db/建表/电销坐席车非渗透统计表.sql +++ /dev/null @@ -1,33 +0,0 @@ --- Create table -create table 电销坐席车非渗透统计表 -( - summary_date DATE default sysdate not null, - telsaler_name VARCHAR2(20) not null, - moto_premium NUMBER default 0 not null, - nomoto_premium NUMBER default 0 not null, - moto_premium_proportion NUMBER default 0 not null, - attaching_rate NUMBER default 0 not null, - attaching_rate_change NUMBER default 0 not null -) -tablespace DESKTOP_ARCHIEVEMENT - pctfree 10 - initrans 1 - maxtrans 255; --- Add comments to the table -comment on table 电销坐席车非渗透统计表 - is '用于存放BI导出每日电销坐席车险非车险保费和车非渗透率数据。'; --- Add comments to the columns -comment on column 电销坐席车非渗透统计表.summary_date - is '统计日期'; -comment on column 电销坐席车非渗透统计表.telsaler_name - is '坐席名称'; -comment on column 电销坐席车非渗透统计表.moto_premium - is '车险保费'; -comment on column 电销坐席车非渗透统计表.nomoto_premium - is '非车险保费'; -comment on column 电销坐席车非渗透统计表.moto_premium_proportion - is '车险保费占比'; -comment on column 电销坐席车非渗透统计表.attaching_rate - is '渗透率'; -comment on column 电销坐席车非渗透统计表.attaching_rate_change - is '渗透率环比上月'; diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportArchievementDataMapper.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportArchievementDataMapper.java deleted file mode 100644 index 52a79c6..0000000 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportArchievementDataMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * @Author: Kane - * @Date: 2023-10-11 16:47:59 - * @LastEditors: Kane - * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportArchievementDataMapper.java - * @Description: - * - * Copyright (c) ${2023} by Kane, All Rights Reserved. - */ -package com.cpic.xim.mybatis.mapper; - -import com.cpic.xim.mybatis.pojo.TelsalerAttachingRateRecord; - -public interface ImportArchievementDataMapper -{ - public void importTesalerAttachingRateDataToDB( TelsalerAttachingRateRecord record); -} \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportBIArchievementDataMapper.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportBIArchievementDataMapper.java new file mode 100644 index 0000000..4790398 --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportBIArchievementDataMapper.java @@ -0,0 +1,29 @@ +/* + * @Author: Kane + * @Date: 2023-10-11 16:47:59 + * @LastEditors: Kane + * @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/ImportArchievementDataMapper.java + * @Description: + * + * Copyright (c) ${2023} by Kane, All Rights Reserved. + */ +package com.cpic.xim.mybatis.mapper; + +import com.cpic.xim.mybatis.pojo.BITelsalerAttachingRateRecord; +import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord; +import com.cpic.xim.mybatis.pojo.BIDepartmentArchievementRecord; + +public interface ImportBIArchievementDataMapper +{ + public void insertTelsalerAttachingRateDataToDB( BITelsalerAttachingRateRecord record); + + public void insertTelsalerRenewalRateDataToDB( BITelsalerRenewalRateRecord record ); + + public void insertDepartmentAttachingRenewalRateDataToDB(BIDepartmentArchievementRecord record); + + public void cleanTelsalerAttachingRateData(); + + public void cleanTelsalerRenewalRateData(); + + public void cleanDepartmentAttachingRenewalRateData(); +} \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/DepartmentArchievementRecord.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentArchievementRecord.java similarity index 97% rename from code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/DepartmentArchievementRecord.java rename to code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentArchievementRecord.java index 63f8a0a..e8924f7 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/DepartmentArchievementRecord.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BIDepartmentArchievementRecord.java @@ -9,7 +9,7 @@ */ package com.cpic.xim.mybatis.pojo; -public class DepartmentArchievementRecord +public class BIDepartmentArchievementRecord { // 部门 private String departmentName; @@ -36,7 +36,7 @@ public class DepartmentArchievementRecord // 客均保费环比上月 private double premiumPerCustomerChange; - public DepartmentArchievementRecord( String departmentName, double departmentObject, + public BIDepartmentArchievementRecord( String departmentName, double departmentObject, double objectGap, double motoPremium, double motoPremiumProPortion, double nomotoPremium, double attachingRate, double attachingRateChange, double customerHandleRate, double customerHandleRateChange, double premiumPerCustomer, @@ -110,7 +110,7 @@ public class DepartmentArchievementRecord return false; if ( getClass() != obj.getClass() ) return false; - DepartmentArchievementRecord other = (DepartmentArchievementRecord) obj; + BIDepartmentArchievementRecord other = (BIDepartmentArchievementRecord) obj; if ( departmentName == null ) { if ( other.departmentName != null ) diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerAttachingRateRecord.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerAttachingRateRecord.java similarity index 71% rename from code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerAttachingRateRecord.java rename to code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerAttachingRateRecord.java index 74e2393..a6d2733 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerAttachingRateRecord.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerAttachingRateRecord.java @@ -12,7 +12,7 @@ package com.cpic.xim.mybatis.pojo; import java.time.LocalDate; import com.fasterxml.jackson.annotation.JsonProperty; -public class TelsalerAttachingRateRecord +public class BITelsalerAttachingRateRecord { // 统计日期 @JsonProperty( "summaryDate" ) @@ -44,28 +44,17 @@ public class TelsalerAttachingRateRecord // 当月客户渗透率 @JsonProperty( "customerHandleRateCell" ) - private double customerHandleRateCell; + private double customerHandleRate; // 客户渗透率环比上月 @JsonProperty( "customerHandleRateChangeCell" ) - private double customerHandleRateChangeCell; + private double customerHandleRateChange; - // 当月车非客均保费 - @JsonProperty( "noMotoPremiumPerCustomerCell" ) - private double noMotoPremiumPerCustomerCell; - - // 客均保费环比上月 - @JsonProperty( "noMotoPremiumPerCustomerChangeCell" ) - private double noMotoPremiumPerCustomerChangeCell; - - public TelsalerAttachingRateRecord() - {} - - public TelsalerAttachingRateRecord( LocalDate summaryDate, String telsalerName, + public BITelsalerAttachingRateRecord( LocalDate summaryDate, String telsalerName, double motoPremium, double nomotoPremium, double motoPremiumProportion, - double attachingRate, double attachingRateChange, double customerHandleRateCell, - double customerHandleRateChangeCell, double noMotoPremiumPerCustomerCell, - double noMotoPremiumPerCustomerChangeCell ) + double attachingRate, double attachingRateChange, double customerHandleRate, + double customerHandleRateChange, double noMotoPremiumPerCustomer, + double noMotoPremiumPerCustomerChange ) { this.summaryDate = summaryDate; this.telsalerName = telsalerName; @@ -74,64 +63,74 @@ public class TelsalerAttachingRateRecord this.motoPremiumProportion = motoPremiumProportion; this.attachingRate = attachingRate; this.attachingRateChange = attachingRateChange; - this.customerHandleRateCell = customerHandleRateCell; - this.customerHandleRateChangeCell = customerHandleRateChangeCell; - this.noMotoPremiumPerCustomerCell = noMotoPremiumPerCustomerCell; - this.noMotoPremiumPerCustomerChangeCell = noMotoPremiumPerCustomerChangeCell; + this.customerHandleRate = customerHandleRate; + this.customerHandleRateChange = customerHandleRateChange; + this.noMotoPremiumPerCustomer = noMotoPremiumPerCustomer; + this.noMotoPremiumPerCustomerChange = noMotoPremiumPerCustomerChange; } - public double getCustomerHandleRateCell() + public double getCustomerHandleRate() { - return customerHandleRateCell; + return customerHandleRate; } - public void setCustomerHandleRateCell( double customerHandleRateCell ) + public void setCustomerHandleRate( double customerHandleRate ) { - this.customerHandleRateCell = customerHandleRateCell; + this.customerHandleRate = customerHandleRate; } - public double getCustomerHandleRateChangeCell() + public double getCustomerHandleRateChange() { - return customerHandleRateChangeCell; + return customerHandleRateChange; } - public void setCustomerHandleRateChangeCell( double customerHandleRateChangeCell ) + public void setCustomerHandleRateChange( double customerHandleRateChange ) { - this.customerHandleRateChangeCell = customerHandleRateChangeCell; + this.customerHandleRateChange = customerHandleRateChange; } - public double getNoMotoPremiumPerCustomerCell() + public double getNoMotoPremiumPerCustomer() { - return noMotoPremiumPerCustomerCell; + return noMotoPremiumPerCustomer; } - public void setNoMotoPremiumPerCustomerCell( double noMotoPremiumPerCustomerCell ) + public void setNoMotoPremiumPerCustomer( double noMotoPremiumPerCustomer ) { - this.noMotoPremiumPerCustomerCell = noMotoPremiumPerCustomerCell; + this.noMotoPremiumPerCustomer = noMotoPremiumPerCustomer; } - public double getNoMotoPremiumPerCustomerChangeCell() + public double getNoMotoPremiumPerCustomerChange() { - return noMotoPremiumPerCustomerChangeCell; + return noMotoPremiumPerCustomerChange; } - public void setNoMotoPremiumPerCustomerChangeCell( double noMotoPremiumPerCustomerChangeCell ) + public void setNoMotoPremiumPerCustomerChange( double noMotoPremiumPerCustomerChange ) { - this.noMotoPremiumPerCustomerChangeCell = noMotoPremiumPerCustomerChangeCell; + this.noMotoPremiumPerCustomerChange = noMotoPremiumPerCustomerChange; } + // 当月车非客均保费 + @JsonProperty( "noMotoPremiumPerCustomerCell" ) + private double noMotoPremiumPerCustomer; + + // 客均保费环比上月 + @JsonProperty( "noMotoPremiumPerCustomerChangeCell" ) + private double noMotoPremiumPerCustomerChange; + + public BITelsalerAttachingRateRecord() + {} + @Override public String toString() { - return "TelsalerAttachingRateRecord [summaryDate=" + summaryDate + ", telsalerName=" + return "BITelsalerAttachingRateRecord [summaryDate=" + summaryDate + ", telsalerName=" + telsalerName + ", motoPremium=" + motoPremium + ", nomotoPremium=" + nomotoPremium + ", motoPremiumProportion=" + motoPremiumProportion + ", attachingRate=" + attachingRate + ", attachingRateChange=" + attachingRateChange - + ", customerHandleRateCell=" + customerHandleRateCell - + ", customerHandleRateChangeCell=" + customerHandleRateChangeCell - + ", noMotoPremiumPerCustomerCell=" + noMotoPremiumPerCustomerCell - + ", noMotoPremiumPerCustomerChangeCell=" + noMotoPremiumPerCustomerChangeCell - + "]"; + + ", customerHandleRate=" + customerHandleRate + ", customerHandleRateChange=" + + customerHandleRateChange + ", noMotoPremiumPerCustomer=" + + noMotoPremiumPerCustomer + ", noMotoPremiumPerCustomerChange=" + + noMotoPremiumPerCustomerChange + "]"; } @Override @@ -152,13 +151,13 @@ public class TelsalerAttachingRateRecord result = prime * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits( attachingRateChange ); result = prime * result + (int) (temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits( customerHandleRateCell ); + temp = Double.doubleToLongBits( customerHandleRate ); result = prime * result + (int) (temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits( customerHandleRateChangeCell ); + temp = Double.doubleToLongBits( customerHandleRateChange ); result = prime * result + (int) (temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits( noMotoPremiumPerCustomerCell ); + temp = Double.doubleToLongBits( noMotoPremiumPerCustomer ); result = prime * result + (int) (temp ^ (temp >>> 32)); - temp = Double.doubleToLongBits( noMotoPremiumPerCustomerChangeCell ); + temp = Double.doubleToLongBits( noMotoPremiumPerCustomerChange ); result = prime * result + (int) (temp ^ (temp >>> 32)); return result; } @@ -172,7 +171,7 @@ public class TelsalerAttachingRateRecord return false; if ( getClass() != obj.getClass() ) return false; - TelsalerAttachingRateRecord other = (TelsalerAttachingRateRecord) obj; + BITelsalerAttachingRateRecord other = (BITelsalerAttachingRateRecord) obj; if ( summaryDate == null ) { if ( other.summaryDate != null ) @@ -202,17 +201,17 @@ public class TelsalerAttachingRateRecord if ( Double.doubleToLongBits( attachingRateChange ) != Double .doubleToLongBits( other.attachingRateChange ) ) return false; - if ( Double.doubleToLongBits( customerHandleRateCell ) != Double - .doubleToLongBits( other.customerHandleRateCell ) ) + if ( Double.doubleToLongBits( customerHandleRate ) != Double + .doubleToLongBits( other.customerHandleRate ) ) return false; - if ( Double.doubleToLongBits( customerHandleRateChangeCell ) != Double - .doubleToLongBits( other.customerHandleRateChangeCell ) ) + if ( Double.doubleToLongBits( customerHandleRateChange ) != Double + .doubleToLongBits( other.customerHandleRateChange ) ) return false; - if ( Double.doubleToLongBits( noMotoPremiumPerCustomerCell ) != Double - .doubleToLongBits( other.noMotoPremiumPerCustomerCell ) ) + if ( Double.doubleToLongBits( noMotoPremiumPerCustomer ) != Double + .doubleToLongBits( other.noMotoPremiumPerCustomer ) ) return false; - if ( Double.doubleToLongBits( noMotoPremiumPerCustomerChangeCell ) != Double - .doubleToLongBits( other.noMotoPremiumPerCustomerChangeCell ) ) + if ( Double.doubleToLongBits( noMotoPremiumPerCustomerChange ) != Double + .doubleToLongBits( other.noMotoPremiumPerCustomerChange ) ) return false; return true; } diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerRenewalRateRecord.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerRenewalRateRecord.java similarity index 94% rename from code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerRenewalRateRecord.java rename to code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerRenewalRateRecord.java index 9c38c07..7b0b03a 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerRenewalRateRecord.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerRenewalRateRecord.java @@ -9,7 +9,7 @@ */ package com.cpic.xim.mybatis.pojo; -public class TelsalerRenewalRateRecord +public class BITelsalerRenewalRateRecord { private String 责任人; private double 机构目标值; @@ -20,7 +20,7 @@ public class TelsalerRenewalRateRecord private double 环比昨日; private double 环比上月; - public TelsalerRenewalRateRecord( String 责任人, double 机构目标值, double 到期数全月, double 序时到期数占比, double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月 ) + public BITelsalerRenewalRateRecord( String 责任人, double 机构目标值, double 到期数全月, double 序时到期数占比, double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月 ) { this.责任人 = 责任人; this.机构目标值 = 机构目标值; @@ -65,7 +65,7 @@ public class TelsalerRenewalRateRecord return false; if ( getClass() != obj.getClass() ) return false; - TelsalerRenewalRateRecord other = (TelsalerRenewalRateRecord) obj; + BITelsalerRenewalRateRecord other = (BITelsalerRenewalRateRecord) obj; if ( 责任人 == null ) { if ( other.责任人 != null ) diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/TelsalerArchievementData.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportBIData.java similarity index 90% rename from code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/TelsalerArchievementData.java rename to code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportBIData.java index cc4a02f..635840e 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/TelsalerArchievementData.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportBIData.java @@ -26,9 +26,9 @@ import com.cpic.xim.utils.poi.MyPOIUtils; /** * 坐席业绩相关的数据操作方法。 */ -public class TelsalerArchievementData +public class ImportBIData { - private static Logger logger = LoggerFactory.getLogger( TelsalerArchievementData.class ); + private static Logger logger = LoggerFactory.getLogger( ImportBIData.class ); /** * 从excel文件读取坐席的车非渗透率数据 @@ -38,11 +38,11 @@ public class TelsalerArchievementData * @throws IOException 打开excel文件错误时抛出。 * @throws InvalidFormatException excel单元格格式错误时抛出 */ - public static ArrayList importTelsalerAttachingRateRecordFromXlsx( + public static ArrayList importBITelsalerAttachingRateRecordFromXlsx( String filePath, LocalDate summaryDate, boolean hasCaptionRow ) throws IOException, InvalidFormatException { - ArrayList records = new ArrayList<>( 200 ); + ArrayList records = new ArrayList<>( 200 ); Workbook wb = null; Sheet sheet = null; @@ -94,7 +94,7 @@ public class TelsalerArchievementData double noMotoPremiumPerCustomerChangeCell = MyPOIUtils.getNumbericCellValue( row, 10 ); - TelsalerAttachingRateRecord record = new TelsalerAttachingRateRecord( + BITelsalerAttachingRateRecord record = new BITelsalerAttachingRateRecord( summaryDate, name, motoPremium, nomotoPremium, motoPremiumProPortion, attachingRate, attachingRateChange, customerHandleRateCell, customerHandleRateChangeCell, noMotoPremiumPerCustomerCell, @@ -142,11 +142,11 @@ public class TelsalerArchievementData * @param summaryDate * @return */ - public static ArrayList importTelsalerRenewalRateFromXlsx( + public static ArrayList importBITelsalerRenewalRateFromXlsx( String filePath, String sheetName, boolean hasCaptionRow, LocalDate summaryDate ) throws IOException { - ArrayList records = new ArrayList<>( 200 ); + ArrayList records = new ArrayList<>( 200 ); Workbook wb = null; Sheet sheet = null; @@ -183,7 +183,7 @@ public class TelsalerArchievementData double 环比昨日 = MyPOIUtils.getNumbericCellValue( row, 6 ); double 环比上月 = MyPOIUtils.getNumbericCellValue( row, 7 ); - TelsalerRenewalRateRecord record = new TelsalerRenewalRateRecord( 责任人, 机构目标值, + BITelsalerRenewalRateRecord record = new BITelsalerRenewalRateRecord( 责任人, 机构目标值, 到期数全月, 序时到期数占比, 个车续保率序时, 个车续保率全月, 环比昨日, 环比上月 ); records.add( record ); @@ -214,10 +214,10 @@ public class TelsalerArchievementData return records; } - public static ArrayList importDepartmentArchievementRecords( + public static ArrayList importBIDepartmentArchievementRecords( String filePath, String sheetName, boolean hasCaptionRow ) throws IOException { - ArrayList records = new ArrayList<>( 5 ); + ArrayList records = new ArrayList<>( 5 ); Workbook wb = null; @@ -241,7 +241,7 @@ public class TelsalerArchievementData { String departmentName = MyPOIUtils.getStringCellValue( row, 0 ); - if ( departmentName.isEmpty() ) + if ( departmentName.isEmpty() || departmentName.equals("合计") ) { continue; } @@ -258,7 +258,7 @@ public class TelsalerArchievementData double premiumPerCustomer = MyPOIUtils.getNumbericCellValue( row, 1 ); double premiumPerCustomerChange = MyPOIUtils.getNumbericCellValue( row, 1 ); - DepartmentArchievementRecord record = new DepartmentArchievementRecord( + BIDepartmentArchievementRecord record = new BIDepartmentArchievementRecord( departmentName, departmentObject, objectGap, motoPremium, motoPremiumProPortion, nomotoPremium, attachingRate, attachingRateChange, customerHandleRate, customerHandleRateChange, diff --git a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/TelsalerArchievement/ImportTelsalerArchievementController.java b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/TelsalerArchievement/ImportTelsalerArchievementController.java index f255559..39a793a 100644 --- a/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/TelsalerArchievement/ImportTelsalerArchievementController.java +++ b/code/后端/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/TelsalerArchievement/ImportTelsalerArchievementController.java @@ -16,10 +16,10 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; -import com.cpic.xim.mybatis.mapper.ImportArchievementDataMapper; -import com.cpic.xim.mybatis.pojo.TelsalerAttachingRateRecord; +import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper; +import com.cpic.xim.mybatis.pojo.BITelsalerAttachingRateRecord; import com.cpic.xim.mybatis.utils.MybatisUtils; -import com.cpic.xim.utils.data.TelsalerArchievementData; +import com.cpic.xim.utils.data.ImportBIData; @Controller @RequestMapping(method=RequestMethod.POST, path="/import_telsaler_archievement") @@ -32,14 +32,14 @@ public class ImportTelsalerArchievementController try { - ArrayList records = TelsalerArchievementData.importTelsalerAttachingRateRecordFromXlsx( filePath, null, + ArrayList records = ImportBIData.importBITelsalerAttachingRateRecordFromXlsx( filePath, null, true ); session = MybatisUtils.getSqlSessionBatch(); - ImportArchievementDataMapper mapper = session.getMapper( ImportArchievementDataMapper.class ); + ImportBIArchievementDataMapper mapper = session.getMapper( ImportBIArchievementDataMapper.class ); - for ( TelsalerAttachingRateRecord record : records ) + for ( BITelsalerAttachingRateRecord record : records ) { - mapper.importTesalerAttachingRateDataToDB(record); + mapper.insertTelsalerAttachingRateDataToDB(record); } session.commit(); diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportArchievementDataMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportArchievementDataMapper.xml deleted file mode 100644 index baf0b0f..0000000 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportArchievementDataMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - insert into 电销坐席车非渗透统计表 ( telsaler_name, moto_premium, nomoto_premium, moto_premium_proportion, attaching_rate, attaching_rate_change ) - values ( #{telsalerName}, #{motoPremium}, #{nomotoPremium}, #{motoPremiumProportion}, #{attachingRate}, #{attachingRateChange} ) - - \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportBIArchievementDataMapper.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportBIArchievementDataMapper.xml new file mode 100644 index 0000000..a679ba8 --- /dev/null +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mapper/ImportBIArchievementDataMapper.xml @@ -0,0 +1,37 @@ + + + + + insert into BI电销坐席车非渗透统计表 ( 坐席名称, 车险保费, 非车保费, 车险保费占比, + 当月保费渗透率, 保费渗透率环比上月, 当月客户渗透率, 客户渗透率环比上月, + 当月车非客均保费, 客均保费环比上月 ) + values ( #{telsalerName}, #{motoPremium}, #{nomotoPremium}, #{motoPremiumProportion}, + #{attachingRate}, #{attachingRateChange}, #{customerHandleRate}, + #{customerHandleRateChange}, #{noMotoPremiumPerCustomer}, #{noMotoPremiumPerCustomerChange} ) + + + + insert into BI坐席续保率统计表 (责任人,机构目标值,到期数全月,序时到期数占比,个车续保率序时,个车续保率全月,环比昨日,环比上月) + values (#{责任人},#{机构目标值},#{到期数全月},#{序时到期数占比}, + #{个车续保率序时},#{个车续保率全月},#{环比昨日},#{环比上月}) + + + + insert into BI部门渗透率续保率统计表 ( 部门,"目标值-机构",目标差距,"车险保费(万)", + 车险保费占比,"非车保费(万)",当月保费渗透率,保费渗透率环比上月,当月客户渗透率, + 客户渗透率环比上月,当月车非客均保费,客均保费环比上月) + values (#{departmentName},#{departmentObject},#{objectGap},#{motoPremium}, + #{motoPremiumProPortion},#{nomotoPremium},#{attachingRate},#{attachingRateChange}, + #{customerHandleRate},#{customerHandleRateChange},#{premiumPerCustomer},#{premiumPerCustomerChange} ) + + + + + + \ No newline at end of file diff --git a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml index 01d45cf..bf44152 100644 --- a/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml +++ b/code/后端/desktop_archievement_backend/src/main/resources/mybatis/mybatis-config.xml @@ -26,6 +26,6 @@ - + \ No newline at end of file diff --git a/数据/测试用/BI部门渗透率续保率.xlsx b/数据/测试用/BI部门渗透率续保率.xlsx new file mode 100644 index 0000000..16aecf1 Binary files /dev/null and b/数据/测试用/BI部门渗透率续保率.xlsx differ diff --git a/数据/测试用/坐席续保率 - 当月个车续保率跟踪报表【机构】.xlsx b/数据/测试用/坐席续保率 .xlsx similarity index 100% rename from 数据/测试用/坐席续保率 - 当月个车续保率跟踪报表【机构】.xlsx rename to 数据/测试用/坐席续保率 .xlsx diff --git a/数据/测试用/坐席车非渗透.xlsx b/数据/测试用/坐席车非渗透.xlsx index 0d86386..e57de6c 100644 Binary files a/数据/测试用/坐席车非渗透.xlsx and b/数据/测试用/坐席车非渗透.xlsx differ