保存进度!
This commit is contained in:
parent
492239f269
commit
d202d976a3
8
code/web/task_schedule/package-lock.json
generated
8
code/web/task_schedule/package-lock.json
generated
@ -19,7 +19,7 @@
|
|||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/eslint-parser": "^7.22.15",
|
"@babel/eslint-parser": "^7.23.3",
|
||||||
"@rushstack/eslint-patch": "^1.5.1",
|
"@rushstack/eslint-patch": "^1.5.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
||||||
"@vitejs/plugin-vue": "^4.4.1",
|
"@vitejs/plugin-vue": "^4.4.1",
|
||||||
@ -126,9 +126,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/eslint-parser": {
|
"node_modules/@babel/eslint-parser": {
|
||||||
"version": "7.22.15",
|
"version": "7.23.3",
|
||||||
"resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz",
|
"resolved": "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz",
|
||||||
"integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==",
|
"integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
|
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/eslint-parser": "^7.22.15",
|
"@babel/eslint-parser": "^7.23.3",
|
||||||
"@rushstack/eslint-patch": "^1.5.1",
|
"@rushstack/eslint-patch": "^1.5.1",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
"@typescript-eslint/eslint-plugin": "^6.10.0",
|
||||||
"@vitejs/plugin-vue": "^4.4.1",
|
"@vitejs/plugin-vue": "^4.4.1",
|
||||||
|
@ -85,9 +85,62 @@ interface QueryBITelsalerRenewalRateReportResponse
|
|||||||
records: BITelsalerRenewalRateRecord[];
|
records: BITelsalerRenewalRateRecord[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 机构 ***/
|
||||||
|
// 机构渗透率
|
||||||
|
/**
|
||||||
|
* 机构渗漏率报表记录
|
||||||
|
*/
|
||||||
|
interface BIDepartmentAttachingRateRecord
|
||||||
|
{
|
||||||
|
departmentName: string;
|
||||||
|
departmentObject: number;
|
||||||
|
objectGap: number;
|
||||||
|
motoPremium: number;
|
||||||
|
motoPremiumProPortion: number;
|
||||||
|
nomotoPremium: number;
|
||||||
|
attachingRate: number;
|
||||||
|
attachingRateChange: number;
|
||||||
|
motoInsuranceCustomerCount: number;
|
||||||
|
customerHandleRate: number;
|
||||||
|
customerHandleRateChange: number;
|
||||||
|
premiumPerCustomer: number;
|
||||||
|
premiumPerCustomerChange: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface QueryBIDepartmentAttachingRateResponse
|
||||||
|
{
|
||||||
|
success: boolean;
|
||||||
|
message: string;
|
||||||
|
records: BIDepartmentAttachingRateRecord[];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 机构续保率
|
||||||
|
interface BIDepartmentRenewalRateRecord
|
||||||
|
{
|
||||||
|
责任部门: string;
|
||||||
|
机构目标值: number;
|
||||||
|
到期数全月: number;
|
||||||
|
序时到期数占比: number;
|
||||||
|
个车续保率序时: number;
|
||||||
|
个车续保率全月: number;
|
||||||
|
环比昨日: number;
|
||||||
|
环比上月: number;
|
||||||
|
平均提前签单天数: number;
|
||||||
|
环比: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface QueryBIDepartmentRenewalRateResponse
|
||||||
|
{
|
||||||
|
success: boolean;
|
||||||
|
message: string;
|
||||||
|
records: BIDepartmentRenewalRateRecord[];
|
||||||
|
}
|
||||||
|
|
||||||
type ImportBIReportResponseHandler = ( response: ImportBIReportResponse, error: any ) => void;
|
type ImportBIReportResponseHandler = ( response: ImportBIReportResponse, error: any ) => void;
|
||||||
type QueryBITelsalerAttachingRateDataHandler = ( response: QueryBITelsalerAttachingRateReportResponse, error: any ) => void;
|
type QueryBITelsalerAttachingRateDataHandler = ( response: QueryBITelsalerAttachingRateReportResponse, error: any ) => void;
|
||||||
type QueryBITelsalerRenewalRateDataHandler = ( response: QueryBITelsalerRenewalRateReportResponse, error: any ) => void;
|
type QueryBITelsalerRenewalRateDataHandler = ( response: QueryBITelsalerRenewalRateReportResponse, error: any ) => void;
|
||||||
|
type QueryBIDepartmentAttachingRateDataHandler = ( response: QueryBIDepartmentAttachingRateResponse, error: any ) => void;
|
||||||
|
type QueryBIDepartmentRenewalRateDataHandler = ( response: QueryBIDepartmentRenewalRateResponse, error: any ) => void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -198,6 +251,74 @@ function queryBITelsalerRenewalData( handler: QueryBITelsalerRenewalRateDataHand
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function queryDepartmentAttachingRateData( handler: QueryBIDepartmentAttachingRateDataHandler ): void
|
||||||
|
{
|
||||||
|
const queryResponse: QueryBIDepartmentAttachingRateResponse = {
|
||||||
|
success: false,
|
||||||
|
message: "",
|
||||||
|
records: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
instance.request({
|
||||||
|
url: API_URL.URL_BI_DEPARTMENT_ATTACHINGRATE,
|
||||||
|
method: "post",
|
||||||
|
})
|
||||||
|
.then(( response: AxiosResponse<any, any> ): void =>
|
||||||
|
{
|
||||||
|
const data = response.data ?? {};
|
||||||
|
|
||||||
|
queryResponse.success = data.success ?? false;
|
||||||
|
queryResponse.message = data.message ?? "请求完成,但结果未知!";
|
||||||
|
queryResponse.records = data.records ?? [];
|
||||||
|
|
||||||
|
handler( queryResponse, null );
|
||||||
|
})
|
||||||
|
.catch(( error: any ): void =>
|
||||||
|
{
|
||||||
|
queryResponse.success = false;
|
||||||
|
queryResponse.message = "查询BI机构续渗透失败,请查看控制台!";
|
||||||
|
queryResponse.records = [];
|
||||||
|
|
||||||
|
console.log( "查询BI机构渗透率失败:", error );
|
||||||
|
|
||||||
|
handler( queryResponse, error );
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function queryDepartmentRenewalRateData( handler: QueryBIDepartmentRenewalRateDataHandler ): void
|
||||||
|
{
|
||||||
|
const queryResponse: QueryBIDepartmentRenewalRateResponse = {
|
||||||
|
success: false,
|
||||||
|
message: "",
|
||||||
|
records: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
instance.request({
|
||||||
|
url: API_URL.URL_BI_DEPARTMENT_RENEWALRATE,
|
||||||
|
method: "post",
|
||||||
|
})
|
||||||
|
.then(( response: AxiosResponse<any, any> ): void =>
|
||||||
|
{
|
||||||
|
const data = response.data ?? {};
|
||||||
|
|
||||||
|
queryResponse.success = data.success ?? false;
|
||||||
|
queryResponse.message = data.message ?? "请求完成,但结果未知!";
|
||||||
|
queryResponse.records = data.records ?? [];
|
||||||
|
|
||||||
|
handler( queryResponse, null );
|
||||||
|
})
|
||||||
|
.catch(( error: any ): void =>
|
||||||
|
{
|
||||||
|
queryResponse.success = false;
|
||||||
|
queryResponse.message = "查询BI机构续保率失败,请查看控制台!";
|
||||||
|
queryResponse.records = [];
|
||||||
|
|
||||||
|
console.log( "查询BI机构续保率失败:", error );
|
||||||
|
|
||||||
|
handler( queryResponse, error );
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
type BIReportType,
|
type BIReportType,
|
||||||
type ImportBIReportRequest,
|
type ImportBIReportRequest,
|
||||||
@ -209,7 +330,15 @@ export {
|
|||||||
type QueryBITelsalerRenewalRateDataHandler,
|
type QueryBITelsalerRenewalRateDataHandler,
|
||||||
type BITelsalerRenewalRateRecord,
|
type BITelsalerRenewalRateRecord,
|
||||||
type QueryBITelsalerRenewalRateReportResponse,
|
type QueryBITelsalerRenewalRateReportResponse,
|
||||||
|
type BIDepartmentAttachingRateRecord,
|
||||||
|
type QueryBIDepartmentAttachingRateResponse,
|
||||||
|
type QueryBIDepartmentAttachingRateDataHandler,
|
||||||
|
type BIDepartmentRenewalRateRecord,
|
||||||
|
type QueryBIDepartmentRenewalRateResponse,
|
||||||
|
type QueryBIDepartmentRenewalRateDataHandler,
|
||||||
importBIReport,
|
importBIReport,
|
||||||
queryBITelsalerAttachingRateData,
|
queryBITelsalerAttachingRateData,
|
||||||
queryBITelsalerRenewalData
|
queryBITelsalerRenewalData,
|
||||||
|
queryDepartmentAttachingRateData,
|
||||||
|
queryDepartmentRenewalRateData
|
||||||
};
|
};
|
||||||
|
@ -22,7 +22,8 @@ public class BIDepartmentRenewalRateRecord
|
|||||||
private int 平均提前签单天数;
|
private int 平均提前签单天数;
|
||||||
private double 环比;
|
private double 环比;
|
||||||
|
|
||||||
public BIDepartmentRenewalRateRecord() {}
|
public BIDepartmentRenewalRateRecord()
|
||||||
|
{}
|
||||||
|
|
||||||
public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
|
public BIDepartmentRenewalRateRecord( String 责任部门, double 机构目标值, int 到期数全月, double 序时到期数占比,
|
||||||
double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月, int 平均提前签单天数, double 环比 )
|
double 个车续保率序时, double 个车续保率全月, double 环比昨日, double 环比上月, int 平均提前签单天数, double 环比 )
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.cpic.xim.mybatis.mapper.ArchievementMapper">
|
<mapper namespace="com.cpic.xim.mybatis.mapper.ArchievementMapper">
|
||||||
<select id="getDepartmentArchievement" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
<select id="getDepartmentArchievement" useCache="false" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
||||||
call telsale_archievement_pkg.department_archievement(
|
call telsale_archievement_pkg.department_archievement(
|
||||||
#{a_department_code, mode=IN, jdbcType=VARCHAR},
|
#{a_department_code, mode=IN, jdbcType=VARCHAR},
|
||||||
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
|
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
|
||||||
@ -9,7 +9,7 @@
|
|||||||
#{a_total, mode=OUT, jdbcType=INTEGER, javaType=Integer},
|
#{a_total, mode=OUT, jdbcType=INTEGER, javaType=Integer},
|
||||||
#{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper})
|
#{a_mensual_cur, mode=OUT, jdbcType=CURSOR, resultMap=MensualArchievementMapper})
|
||||||
</select>
|
</select>
|
||||||
<select id="getCallerArchievement" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
<select id="getCallerArchievement" useCache="false" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
||||||
call telsale_archievement_pkg.caller_archievement(
|
call telsale_archievement_pkg.caller_archievement(
|
||||||
#{a_caller_code, mode=IN, jdbcType=VARCHAR},
|
#{a_caller_code, mode=IN, jdbcType=VARCHAR},
|
||||||
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
|
#{a_attaching_rate, mode=OUT, jdbcType=VARCHAR},
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<mapper namespace="com.cpic.xim.mybatis.mapper.QueryBIArchievementDataMapper">
|
<mapper namespace="com.cpic.xim.mybatis.mapper.QueryBIArchievementDataMapper">
|
||||||
|
|
||||||
<!-- 查询坐席车非渗透率报表 -->
|
<!-- 查询坐席车非渗透率报表 -->
|
||||||
<select id="queryBITelsalerAttachingRate" resultMap="BITelsalerAttachingRate">
|
<select id="queryBITelsalerAttachingRate" statementType="STATEMENT" resultMap="BITelsalerAttachingRate" useCache="false" flushCache="true">
|
||||||
SELECT t.部门,
|
SELECT t.部门,
|
||||||
t.经办,
|
t.经办,
|
||||||
t."车险保费(万)" as 车险保费,
|
t."车险保费(万)" as 车险保费,
|
||||||
t.车险保费占比,
|
t.车险保费占比,
|
||||||
@ -15,8 +15,8 @@
|
|||||||
t.客户渗透率环比上月,
|
t.客户渗透率环比上月,
|
||||||
t.当月车非客均保费,
|
t.当月车非客均保费,
|
||||||
t.客均保费环比上月
|
t.客均保费环比上月
|
||||||
FROM BI电销坐席车非渗透率跟踪表 t
|
FROM BI电销坐席车非渗透率跟踪表 t
|
||||||
ORDER BY t.部门
|
ORDER BY t.部门
|
||||||
</select>
|
</select>
|
||||||
<!-- 坐席车非渗透率报表记录 -->
|
<!-- 坐席车非渗透率报表记录 -->
|
||||||
<resultMap id="BITelsalerAttachingRate" type="com.cpic.xim.mybatis.pojo.BITelsalerAttachingRateRecord">
|
<resultMap id="BITelsalerAttachingRate" type="com.cpic.xim.mybatis.pojo.BITelsalerAttachingRateRecord">
|
||||||
@ -34,7 +34,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 坐席续保率 -->
|
<!-- 坐席续保率 -->
|
||||||
<select id="queryBITesalerRenewalRate" resultMap="BITelsalerRenewalRate">
|
<select id="queryBITesalerRenewalRate" statementType="STATEMENT" resultMap="BITelsalerRenewalRate" useCache="false" flushCache="true">
|
||||||
select t.责任部门,
|
select t.责任部门,
|
||||||
t.责任人,
|
t.责任人,
|
||||||
t."机构目标值1(%)" as 机构目标值,
|
t."机构目标值1(%)" as 机构目标值,
|
||||||
@ -63,7 +63,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 机构渗透率 -->
|
<!-- 机构渗透率 -->
|
||||||
<select id="queryBIDepartmentAttachingRate" resultMap="BIDepartmentAttachingRate">
|
<select id="queryBIDepartmentAttachingRate" statementType="STATEMENT" resultMap="BIDepartmentAttachingRate" useCache="false" flushCache="true">
|
||||||
select t.部门,
|
select t.部门,
|
||||||
t."目标值-机构" as 目标值机构,
|
t."目标值-机构" as 目标值机构,
|
||||||
t.目标差距,
|
t.目标差距,
|
||||||
@ -96,7 +96,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 机构续保率 -->
|
<!-- 机构续保率 -->
|
||||||
<select id="queryBIDepartmentRenewalRate" resultMap="BIDepartmentRenewalRate">
|
<select id="queryBIDepartmentRenewalRate" statementType="STATEMENT" resultMap="BIDepartmentRenewalRate" useCache="false" flushCache="true">
|
||||||
select t.责任部门,
|
select t.责任部门,
|
||||||
t."机构目标值1(%)" as 机构目标值,
|
t."机构目标值1(%)" as 机构目标值,
|
||||||
t."到期数-全月" as 到期数全月,
|
t."到期数-全月" as 到期数全月,
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.cpic.xim.mybatis.mapper.RewardsMapper">
|
<mapper namespace="com.cpic.xim.mybatis.mapper.RewardsMapper">
|
||||||
<select id="queryRewardProjects" resultMap="RewardProjectMap">
|
<select id="queryRewardProjects" statementType="STATEMENT" resultMap="RewardProjectMap" useCache="false" flushCache="true">
|
||||||
select reward_index, reward_name from reward_projects order by reward_index desc
|
select reward_index, reward_name from reward_projects order by reward_index desc
|
||||||
</select>
|
</select>
|
||||||
<resultMap id="RewardProjectMap" type="com.cpic.xim.mybatis.pojo.RewardProject">
|
<resultMap id="RewardProjectMap" type="com.cpic.xim.mybatis.pojo.RewardProject">
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<result property="rewardName" column="reward_name" javaType="String"/>
|
<result property="rewardName" column="reward_name" javaType="String"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="queryRewardTelsaler" flushCache="true" resultMap="RewardGainerMapper">
|
<select id="queryRewardTelsaler" statementType="STATEMENT" resultMap="RewardGainerMapper" useCache="false" flushCache="true">
|
||||||
SELECT hjr.rec_id rec_id,
|
SELECT hjr.rec_id rec_id,
|
||||||
hjr.telsaler_name telsaler_name,
|
hjr.telsaler_name telsaler_name,
|
||||||
hjr.telsaler_code telsaler_code,
|
hjr.telsaler_code telsaler_code,
|
||||||
@ -28,20 +28,20 @@
|
|||||||
<result column="reward_index" property="rewardProjectCode" />
|
<result column="reward_index" property="rewardProjectCode" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="addRewardTelSaler" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
<select id="addRewardTelSaler" statementType="CALLABLE" parameterType="java.util.HashMap" useCache="false" flushCache="true" >
|
||||||
call telsaler_reward_pkg.add_telsaler_reward(
|
call telsaler_reward_pkg.add_telsaler_reward(
|
||||||
#{a_reward_index,mode=IN,jdbcType=VARCHAR},
|
#{a_reward_index,mode=IN,jdbcType=VARCHAR},
|
||||||
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR})
|
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR})
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 删除获奖坐席记录 -->
|
<!-- 删除获奖坐席记录 -->
|
||||||
<select id="deleteRewardTelSaler" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
|
<select id="deleteRewardTelSaler" statementType="CALLABLE" parameterType="java.util.HashMap" useCache="false" flushCache="true" >
|
||||||
call telsaler_reward_pkg.delete_telsaler_reward(
|
call telsaler_reward_pkg.delete_telsaler_reward(
|
||||||
#{a_rec_id,mode=IN,jdbcType=INTEGER})
|
#{a_rec_id,mode=IN,jdbcType=INTEGER})
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 更新获奖坐席 -->
|
<!-- 更新获奖坐席 -->
|
||||||
<select id="updateRewardTelSaler" statementType="CALLABLE" flushCache="true" parameterType="java.util.HashMap" >
|
<select id="updateRewardTelSaler" statementType="CALLABLE" parameterType="java.util.HashMap" useCache="false" flushCache="true" >
|
||||||
call telsaler_reward_pkg.update_telsaler_reward(
|
call telsaler_reward_pkg.update_telsaler_reward(
|
||||||
#{a_rec_id,mode=IN,jdbcType=INTEGER},
|
#{a_rec_id,mode=IN,jdbcType=INTEGER},
|
||||||
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR},
|
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR},
|
||||||
|
@ -3,6 +3,11 @@
|
|||||||
<configuration>
|
<configuration>
|
||||||
<properties resource="mybatis/jdbc.properties" />
|
<properties resource="mybatis/jdbc.properties" />
|
||||||
|
|
||||||
|
<settings>
|
||||||
|
<!-- 二级缓存开启 -->
|
||||||
|
<setting name="cacheEnabled" value="false" />
|
||||||
|
</settings>
|
||||||
|
|
||||||
<!-- 类型别名 -->
|
<!-- 类型别名 -->
|
||||||
<typeAliases>
|
<typeAliases>
|
||||||
<package name="com.cpic.xim.mybatis.pojo" />
|
<package name="com.cpic.xim.mybatis.pojo" />
|
||||||
@ -29,4 +34,5 @@
|
|||||||
<mapper resource="mybatis/mapper/ImportBIArchievementDataMapper.xml" />
|
<mapper resource="mybatis/mapper/ImportBIArchievementDataMapper.xml" />
|
||||||
<mapper resource="mybatis/mapper/QueryBIArchievementDataMapper.xml" />
|
<mapper resource="mybatis/mapper/QueryBIArchievementDataMapper.xml" />
|
||||||
</mappers>
|
</mappers>
|
||||||
|
|
||||||
</configuration>
|
</configuration>
|
Loading…
x
Reference in New Issue
Block a user