保存进度!
This commit is contained in:
parent
cb1c08fff4
commit
636ae55b43
16
code/web/task_schedule/package-lock.json
generated
16
code/web/task_schedule/package-lock.json
generated
@ -10,7 +10,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@element-plus/icons-vue": "^2.1.0",
|
"@element-plus/icons-vue": "^2.1.0",
|
||||||
"echarts": "^5.4.3",
|
"echarts": "^5.4.3",
|
||||||
"element-plus": "^2.3.14",
|
"element-plus": "^2.4.0",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"sass-loader": "^13.3.2",
|
"sass-loader": "^13.3.2",
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"eslint-config-standard-with-typescript": "^39.1.1",
|
"eslint-config-standard-with-typescript": "^39.1.1",
|
||||||
"eslint-plugin-vue": "^9.17.0",
|
"eslint-plugin-vue": "^9.17.0",
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"sass": "^1.69.2",
|
"sass": "^1.69.3",
|
||||||
"style-loader": "^3.3.3",
|
"style-loader": "^3.3.3",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"vue-eslint-parser": "^9.3.2"
|
"vue-eslint-parser": "^9.3.2"
|
||||||
@ -4962,9 +4962,9 @@
|
|||||||
"integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA=="
|
"integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA=="
|
||||||
},
|
},
|
||||||
"node_modules/element-plus": {
|
"node_modules/element-plus": {
|
||||||
"version": "2.3.14",
|
"version": "2.4.0",
|
||||||
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.3.14.tgz",
|
"resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.4.0.tgz",
|
||||||
"integrity": "sha512-9yvxUaU4jXf2ZNPdmIxoj/f8BG8CDcGM6oHa9JIqxLjQlfY4bpzR1E5CjNimnOX3rxO93w1TQ0jTVt0RSxh9kA==",
|
"integrity": "sha512-yJEa8LXkGOOgkfkeqMMEdeX/Dc8EH9qPcRuX91dlhSXxgCKKbp9tH3QFTOG99ibZsrN/Em62nh7ddvbc7I1frw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ctrl/tinycolor": "^3.4.1",
|
"@ctrl/tinycolor": "^3.4.1",
|
||||||
"@element-plus/icons-vue": "^2.0.6",
|
"@element-plus/icons-vue": "^2.0.6",
|
||||||
@ -12813,9 +12813,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/sass": {
|
"node_modules/sass": {
|
||||||
"version": "1.69.2",
|
"version": "1.69.3",
|
||||||
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.2.tgz",
|
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.69.3.tgz",
|
||||||
"integrity": "sha512-48lDtG/9OuSQZ9oNmJMUXI2QdCakAWrAGjpX/Fy6j4Og8dEAyE598x5GqCqnHkwV7+I5w8DJpqjm581q5HNh3w==",
|
"integrity": "sha512-X99+a2iGdXkdWn1akFPs0ZmelUzyAQfvqYc2P/MPTrJRuIRoTffGzT9W9nFqG00S+c8hXzVmgxhUuHFdrwxkhQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chokidar": ">=3.0.0 <4.0.0",
|
"chokidar": ">=3.0.0 <4.0.0",
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@element-plus/icons-vue": "^2.1.0",
|
"@element-plus/icons-vue": "^2.1.0",
|
||||||
"echarts": "^5.4.3",
|
"echarts": "^5.4.3",
|
||||||
"element-plus": "^2.3.14",
|
"element-plus": "^2.4.0",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"sass-loader": "^13.3.2",
|
"sass-loader": "^13.3.2",
|
||||||
@ -32,7 +32,7 @@
|
|||||||
"eslint-config-standard-with-typescript": "^39.1.1",
|
"eslint-config-standard-with-typescript": "^39.1.1",
|
||||||
"eslint-plugin-vue": "^9.17.0",
|
"eslint-plugin-vue": "^9.17.0",
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"sass": "^1.69.2",
|
"sass": "^1.69.3",
|
||||||
"style-loader": "^3.3.3",
|
"style-loader": "^3.3.3",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"vue-eslint-parser": "^9.3.2"
|
"vue-eslint-parser": "^9.3.2"
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2023-10-08 14:45:13
|
* @Date: 2023-10-08 14:45:13
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/TelsalerAttachingRateRecord.java
|
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/mybatis/pojo/BITelsalerAttachingRateRecord.java
|
||||||
* @Description: 用于存放BI导出每日电销坐席车险非车险保费和车非渗透率数据.
|
* @Description: 用于存放BI导出每日电销坐席车险非车险保费和车非渗透率数据.
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2023} by Kane, All Rights Reserved.
|
* Copyright (c) ${2023} by Kane, All Rights Reserved.
|
||||||
@ -20,41 +20,37 @@ public class BITelsalerAttachingRateRecord
|
|||||||
|
|
||||||
// 坐席名称
|
// 坐席名称
|
||||||
@JsonProperty( "telsalerName" )
|
@JsonProperty( "telsalerName" )
|
||||||
private String telsalerName;
|
private String telsalerName;
|
||||||
|
|
||||||
// 车险保费
|
// 车险保费
|
||||||
@JsonProperty( "motoPremium" )
|
@JsonProperty( "motoPremium" )
|
||||||
private double motoPremium;
|
private double motoPremium;
|
||||||
|
|
||||||
// 非车险保费
|
// 非车险保费
|
||||||
@JsonProperty( "nomotoPremium" )
|
@JsonProperty( "nomotoPremium" )
|
||||||
private double nomotoPremium;
|
private double nomotoPremium;
|
||||||
|
|
||||||
// 车险保费占比
|
// 车险保费占比
|
||||||
@JsonProperty( "motoPremiumProportion" )
|
@JsonProperty( "motoPremiumProportion" )
|
||||||
private double motoPremiumProportion;
|
private double motoPremiumProportion;
|
||||||
|
|
||||||
// 渗透率
|
// 渗透率
|
||||||
@JsonProperty( "attachingRate" )
|
@JsonProperty( "attachingRate" )
|
||||||
private double attachingRate;
|
private double attachingRate;
|
||||||
|
|
||||||
// 渗透率环比上月
|
// 渗透率环比上月
|
||||||
@JsonProperty( "attachingRateChange" )
|
@JsonProperty( "attachingRateChange" )
|
||||||
private double attachingRateChange;
|
private double attachingRateChange;
|
||||||
|
|
||||||
// 当月客户渗透率
|
// 当月客户渗透率
|
||||||
@JsonProperty( "customerHandleRateCell" )
|
@JsonProperty( "customerHandleRateCell" )
|
||||||
private double customerHandleRate;
|
private double customerHandleRate;
|
||||||
|
|
||||||
// 客户渗透率环比上月
|
// 客户渗透率环比上月
|
||||||
@JsonProperty( "customerHandleRateChangeCell" )
|
@JsonProperty( "customerHandleRateChangeCell" )
|
||||||
private double customerHandleRateChange;
|
private double customerHandleRateChange;
|
||||||
|
|
||||||
public BITelsalerAttachingRateRecord( LocalDate summaryDate, String telsalerName,
|
public BITelsalerAttachingRateRecord( LocalDate summaryDate, String telsalerName, double motoPremium, double nomotoPremium, double motoPremiumProportion, double attachingRate, double attachingRateChange, double customerHandleRate, double customerHandleRateChange, double noMotoPremiumPerCustomer, double noMotoPremiumPerCustomerChange )
|
||||||
double motoPremium, double nomotoPremium, double motoPremiumProportion,
|
|
||||||
double attachingRate, double attachingRateChange, double customerHandleRate,
|
|
||||||
double customerHandleRateChange, double noMotoPremiumPerCustomer,
|
|
||||||
double noMotoPremiumPerCustomerChange )
|
|
||||||
{
|
{
|
||||||
this.summaryDate = summaryDate;
|
this.summaryDate = summaryDate;
|
||||||
this.telsalerName = telsalerName;
|
this.telsalerName = telsalerName;
|
||||||
|
@ -72,6 +72,11 @@ public class MybatisUtils
|
|||||||
return sessionBatch;
|
return sessionBatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
public static SqlSession getSqlSession() throws IOException
|
public static SqlSession getSqlSession() throws IOException
|
||||||
{
|
{
|
||||||
// 根据配置文件的路径,查找是否已经创建了对应的session
|
// 根据配置文件的路径,查找是否已经创建了对应的session
|
||||||
@ -94,6 +99,13 @@ public class MybatisUtils
|
|||||||
return session;
|
return session;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取一个Batch模式的sqlsession,使用默认路径的mybatis-config.xml文件。
|
||||||
|
* 先判断SessionMapBatch中是否有和配置文件对应的缓存的sqlsession对象,有就直接使用。
|
||||||
|
* 没有就创建一个新的,然后放入SessionMapBatch中。
|
||||||
|
* @return ExecutorType.BATCH模式的sqlsession实例对象
|
||||||
|
* @throws IOException 读取配置文件错误时抛出IOException异常
|
||||||
|
*/
|
||||||
public static SqlSession getSqlSessionBatch() throws IOException
|
public static SqlSession getSqlSessionBatch() throws IOException
|
||||||
{
|
{
|
||||||
SqlSession sessionBatch = SessionMapBatch.get( DEFAULT_CONFIGFILE );
|
SqlSession sessionBatch = SessionMapBatch.get( DEFAULT_CONFIGFILE );
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: Kane
|
* @Author: Kane
|
||||||
* @Date: 2023-04-05 22:34:36
|
* @Date: 2023-04-05 22:34:36
|
||||||
* @LastEditors: Kane
|
* @LastEditors: Kane
|
||||||
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/QueryResult.java
|
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/QueryResponse.java
|
||||||
* @Description:
|
* @Description:
|
||||||
*
|
*
|
||||||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||||||
@ -11,36 +11,49 @@ package com.cpic.xim.web.controllers;
|
|||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
|
||||||
public class QueryResponse {
|
public class QueryResponse
|
||||||
|
{
|
||||||
|
@JsonProperty( "success" )
|
||||||
|
private boolean success;
|
||||||
|
|
||||||
public QueryResponse(boolean success, String message) {
|
@JsonProperty( "message" )
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
public QueryResponse( boolean success, String message )
|
||||||
|
{
|
||||||
this.success = success;
|
this.success = success;
|
||||||
this.message = message;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public QueryResponse() {
|
public QueryResponse()
|
||||||
|
{
|
||||||
this.success = false;
|
this.success = false;
|
||||||
this.message = "";
|
this.message = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isSuccess() {
|
public boolean isSuccess()
|
||||||
|
{
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSuccess(boolean success) {
|
public void setSuccess( boolean success )
|
||||||
|
{
|
||||||
this.success = success;
|
this.success = success;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getMessage() {
|
public String getMessage()
|
||||||
|
{
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMessage(String message) {
|
public void setMessage( String message )
|
||||||
|
{
|
||||||
this.message = message;
|
this.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode()
|
||||||
|
{
|
||||||
final int prime = 31;
|
final int prime = 31;
|
||||||
int result = 1;
|
int result = 1;
|
||||||
result = prime * result + (success ? 1231 : 1237);
|
result = prime * result + (success ? 1231 : 1237);
|
||||||
@ -49,26 +62,30 @@ public class QueryResponse {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals( Object obj )
|
||||||
if (this == obj) return true;
|
{
|
||||||
if (obj == null) return false;
|
if ( this == obj )
|
||||||
if (getClass() != obj.getClass()) return false;
|
return true;
|
||||||
|
if ( obj == null )
|
||||||
|
return false;
|
||||||
|
if ( getClass() != obj.getClass() )
|
||||||
|
return false;
|
||||||
QueryResponse other = (QueryResponse) obj;
|
QueryResponse other = (QueryResponse) obj;
|
||||||
if (success != other.success) return false;
|
if ( success != other.success )
|
||||||
if (message == null) {
|
return false;
|
||||||
if (other.message != null) return false;
|
if ( message == null )
|
||||||
} else if (!message.equals(other.message)) return false;
|
{
|
||||||
|
if ( other.message != null )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if ( !message.equals( other.message ) )
|
||||||
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString()
|
||||||
|
{
|
||||||
return "QueryResult [success=" + success + ", message=" + message + "]";
|
return "QueryResult [success=" + success + ", message=" + message + "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonProperty("success")
|
|
||||||
private boolean success;
|
|
||||||
|
|
||||||
@JsonProperty("message")
|
|
||||||
private String message;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,14 @@ import com.fasterxml.jackson.annotation.JsonProperty;
|
|||||||
|
|
||||||
public class ImportTelsalersRequest
|
public class ImportTelsalersRequest
|
||||||
{
|
{
|
||||||
|
// 是否全量导入
|
||||||
|
@JsonProperty( "fullImport" )
|
||||||
|
private boolean fullImport;
|
||||||
|
|
||||||
|
// 文件路径
|
||||||
|
@JsonProperty( "filePath" )
|
||||||
|
private String filePath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造函数
|
* 构造函数
|
||||||
* @param fullImport 是否全量导入
|
* @param fullImport 是否全量导入
|
||||||
@ -87,12 +95,4 @@ public class ImportTelsalersRequest
|
|||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 是否全量导入
|
|
||||||
@JsonProperty( "fullImport" )
|
|
||||||
private boolean fullImport;
|
|
||||||
|
|
||||||
// 文件路径
|
|
||||||
@JsonProperty( "filePath" )
|
|
||||||
private String filePath;
|
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ public class ImportBIDataRequest
|
|||||||
|
|
||||||
// 导入文件的路径
|
// 导入文件的路径
|
||||||
@JsonProperty( "filePath" )
|
@JsonProperty( "filePath" )
|
||||||
private String filePath;
|
private String filePath;
|
||||||
|
|
||||||
// 报表名称
|
// 报表名称
|
||||||
@JsonProperty( "reportType" )
|
@JsonProperty( "reportType" )
|
||||||
@ -29,11 +29,11 @@ public class ImportBIDataRequest
|
|||||||
|
|
||||||
// 是否有标题行
|
// 是否有标题行
|
||||||
@JsonProperty( "hasCaption" )
|
@JsonProperty( "hasCaption" )
|
||||||
private boolean hasCaption;
|
private boolean hasCaption;
|
||||||
|
|
||||||
// sheet索引
|
// sheet索引
|
||||||
@JsonProperty( "sheetIndex" )
|
@JsonProperty( "sheetIndex" )
|
||||||
private int sheetIndex;
|
private int sheetIndex;
|
||||||
|
|
||||||
public ImportBIDataRequest()
|
public ImportBIDataRequest()
|
||||||
{}
|
{}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user