diff --git a/code/db/pkg/TELSALER_TWR_UTILS.pck b/code/db/pkg/TELSALER_TWR_UTILS.pck
new file mode 100644
index 0000000..43b19b4
--- /dev/null
+++ b/code/db/pkg/TELSALER_TWR_UTILS.pck
@@ -0,0 +1,28 @@
+CREATE OR REPLACE PACKAGE TELSALER_TWR_UTILS IS
+
+ -- Author : KANE
+ -- Created : 2023/12/19 16:27:20
+ -- Purpose : twr数据报表相关的工具函数
+
+ PROCEDURE 清理TWR坐席清单;
+
+ PROCEDURE 清理TWR团队清单;
+
+END TELSALER_TWR_UTILS;
+/
+CREATE OR REPLACE PACKAGE BODY TELSALER_TWR_UTILS IS
+
+ PROCEDURE 清理TWR坐席清单 IS
+ BEGIN
+ EXECUTE IMMEDIATE 'truncate table twr_telsaler_dev';
+ END;
+
+ PROCEDURE 清理TWR团队清单 IS
+ BEGIN
+ EXECUTE IMMEDIATE 'truncate table twr_telsaler_team_dev';
+ END;
+
+BEGIN
+ NULL;
+END TELSALER_TWR_UTILS;
+/
diff --git a/code/web/task_schedule/src/views/data/DataUploadView.vue b/code/web/task_schedule/src/views/data/DataUploadView.vue
index fc1dc0a..c9ab99c 100644
--- a/code/web/task_schedule/src/views/data/DataUploadView.vue
+++ b/code/web/task_schedule/src/views/data/DataUploadView.vue
@@ -104,19 +104,19 @@ export default {
selectedReportType: 0,
reportType: [
{
- reportTypeCode: 0,
+ reportTypeCode: 1,
reportTypeName: "鍧愬腑杞﹂潪娓楅忕巼",
},
{
- reportTypeCode: 1,
+ reportTypeCode: 2,
reportTypeName: "鍧愬腑缁繚鐜",
},
{
- reportTypeCode: 2,
+ reportTypeCode: 3,
reportTypeName: "閮ㄩ棬杞﹂潪娓楅忕巼",
},
{
- reportTypeCode: 3,
+ reportTypeCode: 4,
reportTypeName: "褰撴湀涓溅缁繚鐜囪窡韪姤琛ㄣ愭満鏋勩",
},
{
diff --git a/code/web/task_schedule/src/views/data/bi/DepartmentAttachingRateView.vue b/code/web/task_schedule/src/views/data/bi/DepartmentAttachingRateView.vue
index a374d89..bef4c76 100644
--- a/code/web/task_schedule/src/views/data/bi/DepartmentAttachingRateView.vue
+++ b/code/web/task_schedule/src/views/data/bi/DepartmentAttachingRateView.vue
@@ -92,7 +92,7 @@
:close-on-press-escape="false"
:show-close="true"
>
-
+
diff --git a/code/web/task_schedule/src/views/data/bi/DepartmentRenewalRateView.vue b/code/web/task_schedule/src/views/data/bi/DepartmentRenewalRateView.vue
index bfa7780..d685247 100644
--- a/code/web/task_schedule/src/views/data/bi/DepartmentRenewalRateView.vue
+++ b/code/web/task_schedule/src/views/data/bi/DepartmentRenewalRateView.vue
@@ -108,7 +108,7 @@
:close-on-press-escape="false"
:show-close="true"
>
-
+
diff --git a/code/web/task_schedule/src/views/data/bi/TelsalerAttachingRateView.vue b/code/web/task_schedule/src/views/data/bi/TelsalerAttachingRateView.vue
index 641d445..2951dd2 100644
--- a/code/web/task_schedule/src/views/data/bi/TelsalerAttachingRateView.vue
+++ b/code/web/task_schedule/src/views/data/bi/TelsalerAttachingRateView.vue
@@ -109,7 +109,7 @@
:close-on-press-escape="false"
:show-close="true"
>
-
+
diff --git a/code/web/task_schedule/src/views/data/bi/TelsalerRenewalRateView.vue b/code/web/task_schedule/src/views/data/bi/TelsalerRenewalRateView.vue
index 8300405..a714838 100644
--- a/code/web/task_schedule/src/views/data/bi/TelsalerRenewalRateView.vue
+++ b/code/web/task_schedule/src/views/data/bi/TelsalerRenewalRateView.vue
@@ -99,7 +99,7 @@
:close-on-press-escape="false"
:show-close="true"
>
-
+
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/TWrTelsalerMapper.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/TWrTelsalerMapper.java
index 6b96998..641c96f 100644
--- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/TWrTelsalerMapper.java
+++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/mapper/TWrTelsalerMapper.java
@@ -17,4 +17,8 @@ public interface TWrTelsalerMapper
public TWrTelsalerRecord queryTWrTelsalerInfo( @Param("telsaler") String telsaler );
public void insertTWrTelsalerRecordToDB( TWrTelsalerRecord record );
+
+ public void cleanTWrTelsalerRecord();
+
+ public void cleanTWrTelsalerTeamRecord();
}
\ No newline at end of file
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportTWRTelsalerData.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportTWRTelsalerData.java
index a0f04a9..782d549 100644
--- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportTWRTelsalerData.java
+++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/utils/data/ImportTWRTelsalerData.java
@@ -32,7 +32,7 @@ public class ImportTWRTelsalerData
"瀛﹀巻绫诲瀷", "鐢ㄥ伐鎬ц川鍚嶇О", "鍚堝悓绉嶇被", "鍚堝悓绫诲瀷", "鍚堝悓鎬ц川", "鍚堝悓绛捐娆℃暟", "鍚堝悓鐢熸晥鏃ユ湡", "鍚堝悓鍒版湡鏃ユ湡", "浜哄憳灞炴", "淇濅唬鍛樺伐鍙",
"鑱屽満灞炴", "鍔炲叕鎬ц川", "淇濅唬浜哄憳灞炴", "浜哄憳鐘舵",};
- public static void importTWrTelsalerDataFromExcel( String filePath, int sheetIndex,
+ public static ArrayList importTWrTelsalerDataFromExcel( String filePath, int sheetIndex,
int firstRow ) throws IOException, InvalidFormatException
{
ArrayList records = new ArrayList<>( 200 );
@@ -132,6 +132,8 @@ public class ImportTWRTelsalerData
error.printStackTrace();
}
}
+
+ return records;
}
private static boolean checkExcelFormat( Sheet sheet, String caption, int captionRowIndex,
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/ReportType.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/ReportType.java
new file mode 100644
index 0000000..2f4f546
--- /dev/null
+++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/ReportType.java
@@ -0,0 +1,35 @@
+package com.cpic.xim.web.controllers.dataimport;
+
+public enum ReportType {
+ BiTelsalerAttachingRateReport(1,"鍧愬腑杞﹂潪娓楅忕巼"),
+ BiTelsalerRenewalRateReport(2,"鍧愬腑缁繚鐜"),
+ BiDepartmentAttachingRateReport(3,"閮ㄩ棬杞﹂潪娓楅忕巼"),
+ BiDepartmentRenewalRateReport(4,"褰撴湀涓溅缁繚鐜囪窡韪姤琛ㄣ愭満鏋勩"),
+ TWrTelsalerList(10,"TWr鍧愬腑娓呭崟"); // Twr鍧愬腑娓呭崟
+
+ private int reportTypeCode;
+
+ private String reportTypeName;
+ private ReportType( final int code, final String name )
+ {
+ this.reportTypeCode = code;
+ this.reportTypeName = name;
+ }
+ public int getReportTypeCode()
+ {
+ return reportTypeCode;
+ }
+ public void setReportTypeCode( int reportTypeCode )
+ {
+ this.reportTypeCode = reportTypeCode;
+ }
+
+ public String getReportTypeName()
+ {
+ return reportTypeName;
+ }
+ public void setReportTypeName( String reportTypeName )
+ {
+ this.reportTypeName = reportTypeName;
+ }
+ }
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataController.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataController.java
index 5a0c095..39abb36 100644
--- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataController.java
+++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataController.java
@@ -10,7 +10,6 @@
package com.cpic.xim.web.controllers.dataimport.bi;
import java.io.IOException;
-import java.time.LocalDate;
import java.util.ArrayList;
import org.apache.ibatis.exceptions.PersistenceException;
import org.apache.ibatis.session.SqlSession;
@@ -23,13 +22,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.cpic.xim.mybatis.mapper.ImportBIArchievementDataMapper;
+import com.cpic.xim.mybatis.mapper.TWrTelsalerMapper;
import com.cpic.xim.mybatis.pojo.BIDepartmentAttachingRateRecord;
import com.cpic.xim.mybatis.pojo.BIDepartmentRenewalRateRecord;
import com.cpic.xim.mybatis.pojo.BITelsalerAttachingRateRecord;
import com.cpic.xim.mybatis.pojo.BITelsalerRenewalRateRecord;
+import com.cpic.xim.mybatis.pojo.TWrTelsalerRecord;
import com.cpic.xim.mybatis.utils.MybatisUtils;
import com.cpic.xim.utils.data.ImportBIExcelData;
-import com.cpic.xim.web.controllers.dataimport.bi.ImportBIDataRequest.ReportType;
+import com.cpic.xim.utils.data.ImportTWRTelsalerData;
+import com.cpic.xim.web.controllers.dataimport.ReportType;;
@Controller
@RequestMapping( method = RequestMethod.POST, path = "/import_bi_data" )
@@ -43,29 +45,33 @@ public class ImportBIDataController
{
ImportBIDataResponse response = new ImportBIDataResponse();
String filePath = request.getFilePath();
- ReportType type = request.getReportType();
+ int type = request.getReportType();
int firstRow = request.getFirstRow();
int sheetIndex = request.getSheetIndex();
int importedCount = 0;
try
{
- if ( type == ReportType.TelsalerAttachingRateReport )
+ if ( type == ReportType.BiTelsalerAttachingRateReport.getReportTypeCode() )
{
importedCount = importBITelsalerAttachingRate( filePath, sheetIndex, firstRow );
}
- else if ( type == ReportType.TelsalerRenewalRateReport )
+ else if ( type == ReportType.BiTelsalerRenewalRateReport.getReportTypeCode() )
{
importedCount = importBITeslsalerRenewalRate( filePath, sheetIndex, firstRow );
}
- else if ( type == ReportType.DepartmentAttachingRateReport )
+ else if ( type == ReportType.BiDepartmentAttachingRateReport.getReportTypeCode() )
{
importedCount = importBIDepartmentAttachingRate( filePath, sheetIndex, firstRow );
}
- else if ( type == ReportType.DepartmentRenewalRateReport )
+ else if ( type == ReportType.BiDepartmentRenewalRateReport.getReportTypeCode() )
{
importedCount = importBIDepartmentRenewalRate( filePath, sheetIndex, firstRow );
}
+ else if ( type == ReportType.TWrTelsalerList.getReportTypeCode() )
+ {
+ importedCount = importTWrTelsalerList( filePath, sheetIndex, firstRow );
+ }
response.setImportedCount( importedCount );
response.setSuccess( true );
@@ -254,4 +260,43 @@ public class ImportBIDataController
return importedCount;
}
+
+ private static int importTWrTelsalerList( String filePath, int sheetIndex, int firstRow )
+ throws PersistenceException, IOException, InvalidFormatException
+ {
+
+ ArrayList records = null;
+ SqlSession session = null;
+ TWrTelsalerMapper mapper = null;
+ int importedCount = 0;
+
+ try
+ {
+ records = ImportTWRTelsalerData.importTWrTelsalerDataFromExcel(filePath, sheetIndex, firstRow);
+ session = MybatisUtils.getSqlSessionBatch();
+ mapper = session.getMapper(TWrTelsalerMapper.class);
+
+ mapper.cleanTWrTelsalerTeamRecord();
+
+ for ( TWrTelsalerRecord record : records )
+ {
+ mapper.insertTWrTelsalerRecordToDB(record);
+
+ importedCount++;
+ }
+
+ session.commit();
+ }
+ catch ( Exception error)
+ {
+ if ( session != null )
+ {
+ session.rollback();
+ }
+
+ throw error;
+ }
+
+ return importedCount;
+ }
}
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataRequest.java b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataRequest.java
index 85d7322..842ddb0 100644
--- a/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataRequest.java
+++ b/code/鍚庣/desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataRequest.java
@@ -3,78 +3,65 @@
* @Date: 2023-10-13 14:39:06
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/dataimport/bi/ImportBIDataRequest.java
- * @Description:
- *
- * Copyright (c) ${2023} by Kane, All Rights Reserved.
+ * @Description:
+ *
+ * Copyright (c) ${2023} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.dataimport.bi;
-import org.springframework.stereotype.Controller;
import com.fasterxml.jackson.annotation.JsonProperty;
+import org.springframework.stereotype.Controller;
@Controller
-public class ImportBIDataRequest
-{
- public enum ReportType {
- TelsalerAttachingRateReport, TelsalerRenewalRateReport, DepartmentAttachingRateReport, DepartmentRenewalRateReport
- };
+public class ImportBIDataRequest {
// 瀵煎叆鏂囦欢鐨勮矾寰
- @JsonProperty( "filePath" )
- private String filePath;
+ @JsonProperty("filePath")
+ private String filePath;
// 鎶ヨ〃鍚嶇О
- @JsonProperty( "reportType" )
- private ReportType reportType;
+ @JsonProperty("reportType")
+ private int reportType;
// 鏄惁鏈夋爣棰樿
- @JsonProperty( "firstRow" )
- private int firstRow;
+ @JsonProperty("firstRow")
+ private int firstRow;
// sheet绱㈠紩
- @JsonProperty( "sheetIndex" )
- private int sheetIndex;
+ @JsonProperty("sheetIndex")
+ private int sheetIndex;
- public ImportBIDataRequest()
- {}
+ public ImportBIDataRequest() {}
- public int getFirstRow()
- {
+ public int getFirstRow() {
return firstRow;
}
- public void setFirstRow( int firstRow )
- {
+ public void setFirstRow(int firstRow) {
this.firstRow = firstRow;
}
- public int getSheetIndex()
- {
+ public int getSheetIndex() {
return sheetIndex;
}
- public void setSheetIndex( int sheetIndex )
- {
+ public void setSheetIndex(int sheetIndex) {
this.sheetIndex = sheetIndex;
}
- public String getFilePath()
- {
+ public String getFilePath() {
return filePath;
}
- public void setFilePath( String filePath )
- {
+ public void setFilePath(String filePath) {
this.filePath = filePath;
}
- public ReportType getReportType()
- {
+ public int getReportType() {
return reportType;
}
- public void setReportType( ReportType reportType )
- {
+ public void setReportType(int reportType) {
this.reportType = reportType;
}
@@ -84,7 +71,7 @@ public class ImportBIDataRequest
final int prime = 31;
int result = 1;
result = prime * result + ((filePath == null) ? 0 : filePath.hashCode());
- result = prime * result + ((reportType == null) ? 0 : reportType.hashCode());
+ result = prime * result + reportType;
result = prime * result + firstRow;
result = prime * result + sheetIndex;
return result;
@@ -117,11 +104,17 @@ public class ImportBIDataRequest
}
@Override
- public String toString()
- {
- return "ImportBIDataRequest [filePath=" + filePath + ", reportType=" + reportType
- + ", firstRow=" + firstRow + ", sheetIndex=" + sheetIndex + "]";
+ public String toString() {
+ return (
+ "ImportBIDataRequest [filePath=" +
+ filePath +
+ ", reportType=" +
+ reportType +
+ ", firstRow=" +
+ firstRow +
+ ", sheetIndex=" +
+ sheetIndex +
+ "]"
+ );
}
-
-
}
diff --git a/code/鍚庣/desktop_archievement_backend/src/main/resources/mybatis/mapper/TWrTelsalerMapper.xml b/code/鍚庣/desktop_archievement_backend/src/main/resources/mybatis/mapper/TWrTelsalerMapper.xml
index 7d5fe47..ee55c6c 100644
--- a/code/鍚庣/desktop_archievement_backend/src/main/resources/mybatis/mapper/TWrTelsalerMapper.xml
+++ b/code/鍚庣/desktop_archievement_backend/src/main/resources/mybatis/mapper/TWrTelsalerMapper.xml
@@ -79,6 +79,86 @@
-
+
+ insert into TWR_TELSALER_DEV(
+ 浜哄憳濮撳悕,
+ 浜哄憳宸ュ彿,
+ 绫嶈疮,
+ 鍙傚姞宸ヤ綔鏃堕棿,
+ 鍏ヨ亴鏃ユ湡,
+ 鍏ュ徃鏃ユ湡,
+ 涓氬姟绫诲瀷,
+ 鍔炲叕鍦扮渷,
+ 鍔炲叕鍦板競,
+ 浜哄憳绫诲埆,
+ 鐜颁换宀椾綅,
+ 鐜颁换鑱岀骇,
+ 鏈烘瀯鍚嶇О,
+ 鑱屽満鍒嗙被,
+ 鐗囧尯鍚嶇О,
+ 鍥㈤槦鍚嶇О,
+ 瀵瑰彛鍒嗗叕鍙,
+ 灞曚笟鍦板尯,
+ 鎷涜仒娓犻亾,
+ 娓犻亾鏄庣粏,
+ 鍏ㄦ棩鍒舵渶楂樺鍘,
+ 瀛﹀巻绫诲瀷,
+ 鐢ㄥ伐鎬ц川鍚嶇О,
+ 鍚堝悓绉嶇被,
+ 鍚堝悓绫诲瀷,
+ 鍚堝悓鎬ц川,
+ 鍚堝悓绛捐娆℃暟,
+ 鍚堝悓鐢熸晥鏃ユ湡,
+ 鍚堝悓鍒版湡鏃ユ湡,
+ 浜哄憳灞炴,
+ 淇濅唬鍛樺伐鍙,
+ 鑱屽満灞炴,
+ 鍔炲叕鎬ц川,
+ 淇濅唬浜哄憳灞炴,
+ 浜哄憳鐘舵)
+ values (
+ #{浜哄憳濮撳悕},
+ #{浜哄憳宸ュ彿},
+ #{绫嶈疮},
+ #{鍙傚姞宸ヤ綔鏃堕棿},
+ #{鍏ヨ亴鏃ユ湡},
+ #{鍏ュ徃鏃ユ湡},
+ #{涓氬姟绫诲瀷},
+ #{鍔炲叕鍦扮渷},
+ #{鍔炲叕鍦板競},
+ #{浜哄憳绫诲埆},
+ #{鐜颁换宀椾綅},
+ #{鐜颁换鑱岀骇},
+ #{鏈烘瀯鍚嶇О},
+ #{鑱屽満鍒嗙被},
+ #{鐗囧尯鍚嶇О},
+ #{鍥㈤槦鍚嶇О},
+ #{瀵瑰彛鍒嗗叕鍙竲,
+ #{灞曚笟鍦板尯},
+ #{鎷涜仒娓犻亾},
+ #{娓犻亾鏄庣粏},
+ #{鍏ㄦ棩鍒舵渶楂樺鍘唥,
+ #{瀛﹀巻绫诲瀷},
+ #{鐢ㄥ伐鎬ц川鍚嶇О},
+ #{鍚堝悓绉嶇被},
+ #{鍚堝悓绫诲瀷},
+ #{鍚堝悓鎬ц川},
+ #{鍚堝悓绛捐娆℃暟},
+ #{鍚堝悓鐢熸晥鏃ユ湡},
+ #{鍚堝悓鍒版湡鏃ユ湡},
+ #{浜哄憳灞炴,
+ #{淇濅唬鍛樺伐鍙穧,
+ #{鑱屽満灞炴,
+ #{鍔炲叕鎬ц川},
+ #{淇濅唬浜哄憳灞炴,
+ #{浜哄憳鐘舵亇 )
+
+
+
+
\ 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 79d4042..39eba52 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
@@ -32,7 +32,8 @@
-
+
+
\ No newline at end of file
diff --git a/鏁版嵁/鍧愬腑/TWr涓氬姟鍛樹汉鍔涙煡璇 (1).xlsx b/鏁版嵁/鍧愬腑/TWr涓氬姟鍛樹汉鍔涙煡璇 (1).xlsx
index 26b2dd5..efd105e 100644
Binary files a/鏁版嵁/鍧愬腑/TWr涓氬姟鍛樹汉鍔涙煡璇 (1).xlsx and b/鏁版嵁/鍧愬腑/TWr涓氬姟鍛樹汉鍔涙煡璇 (1).xlsx differ