Commit d51d07b9 by chenjinjing

no message

parent 01bfd7a3
import { info } from "console"; import { info } from "console";
import { get选手详细分析 } from "../data/analysisData"; import { get选手详细分析 } from "../data/analysisData";
import { getBaseData, get单前比赛对局时间节点, get右侧数据, get图表, get散点图, get比赛详情, get近期比赛概览 } from "../data/xsxxfxData"; import { getBaseData, get单前比赛对局时间节点, get右侧数据, get图表, get散点图, get比赛详情, get近期比赛概览 } from "../data/xsxxfxData";
import { getChartData, objKeyReplace, getKeyValue, getSingleYAndMoreData, getListData, getMoreYChartData } from "../util/tools"; import { getChartData, objKeyReplace, getKeyValue, getSingleYAndMoreData, getListData, getMoreYChartData, getKeyStringValue } from "../util/tools";
export async function getData(req, res) { export async function getData(req, res) {
let ret:any = {}; let ret:any = {};
...@@ -9,11 +9,9 @@ export async function getData(req, res) { ...@@ -9,11 +9,9 @@ export async function getData(req, res) {
pid = parseInt(pid); pid = parseInt(pid);
let baseInfo:any = await getBaseData(pid); let baseInfo:any = await getBaseData(pid);
let 基础信息DataAndUnit = objKeyReplace(baseInfo.基础信息); ret["base1"] = getKeyStringValue("基础信息", baseInfo["基础信息"] );
ret["base1"] = getKeyValue("基础信息", 基础信息DataAndUnit.dataMap, 基础信息DataAndUnit.unitMap, false, false );
let 技术特点评分DataAndUnit = objKeyReplace(baseInfo.技术特点评分); ret["base2"] = getKeyStringValue("技术特点评分", baseInfo["击球信息"] );
ret["base2"] = getKeyValue("技术特点评分", 技术特点评分DataAndUnit.dataMap, 技术特点评分DataAndUnit.unitMap, false, false );
let jqbsglInfo = await 近期比赛概览(pid, null); let jqbsglInfo = await 近期比赛概览(pid, null);
ret["jqbsgl"] = jqbsglInfo; ret["jqbsgl"] = jqbsglInfo;
...@@ -41,9 +39,9 @@ export async function getData(req, res) { ...@@ -41,9 +39,9 @@ export async function getData(req, res) {
//接口2 近期比赛概览 //接口2 近期比赛概览
export async function getjqbsgl(req, res) { export async function getjqbsgl(req, res) {
let { PID, date } = req.query; let { pid, date } = req.query;
let ret:any = {}; let ret:any = {};
ret["jqbsgl"] = await 近期比赛概览(PID, date); ret["jqbsgl"] = await 近期比赛概览(pid, date);
res.send(ret); res.send(ret);
} }
...@@ -85,9 +83,9 @@ export async function get图表数据(req, res) { ...@@ -85,9 +83,9 @@ export async function get图表数据(req, res) {
async function 近期比赛概览(PID, inTime) { async function 近期比赛概览(pid, inTime) {
let time = inTime || new Date(); let time = inTime || new Date();
let 近期比赛概览数据 = await get近期比赛概览(PID, time); let 近期比赛概览数据 = await get近期比赛概览(pid, time);
let subTitle = 近期比赛概览数据.length > 0 ? 近期比赛概览数据[0].date : ""; let subTitle = 近期比赛概览数据.length > 0 ? 近期比赛概览数据[0].date : "";
return { return {
title:"近期比赛概览", title:"近期比赛概览",
......
...@@ -6,8 +6,8 @@ export async function getData(req, res) { ...@@ -6,8 +6,8 @@ export async function getData(req, res) {
let dataInfo:any = await get运动员概览(); let dataInfo:any = await get运动员概览();
let 特化左上数据 = []; let 特化左上数据 = [];
特化左上数据.push({key:"训练学生数", number:dataInfo.左上数据["训练学生数"], rate:dataInfo.左上数据["训练学生数增幅"] }); 特化左上数据.push({key:"训练学生数", number:parseInt(dataInfo.左上数据["训练学生数"]), rate:parseInt(dataInfo.左上数据["训练学生数增幅"]), unit:"" });
特化左上数据.push({key:"训练视频采集数", number:dataInfo.左上数据["训练视频采集数"], rate:dataInfo.左上数据["训练视频采集数增幅"] }); 特化左上数据.push({key:"训练视频采集数", number:parseInt(dataInfo.左上数据["训练视频采集数"]), rate:parseInt(dataInfo.左上数据["训练视频采集数增幅"]) , unit:"" });
// let 左上数据DataAndUnit = objKeyReplace(dataInfo.左上数据); // let 左上数据DataAndUnit = objKeyReplace(dataInfo.左上数据);
// ret["api1"] = getKeyValue("左上数据", 左上数据DataAndUnit.dataMap, 左上数据DataAndUnit.unitMap, false, false ); // ret["api1"] = getKeyValue("左上数据", 左上数据DataAndUnit.dataMap, 左上数据DataAndUnit.unitMap, false, false );
...@@ -21,8 +21,15 @@ export async function getData(req, res) { ...@@ -21,8 +21,15 @@ export async function getData(req, res) {
ret["api4"] = getKeyValue("训练类型", 训练类型DataAndUnit.dataMap, 训练类型DataAndUnit.unitMap, false, false ); ret["api4"] = getKeyValue("训练类型", 训练类型DataAndUnit.dataMap, 训练类型DataAndUnit.unitMap, false, false );
let 动作模型练习DataAndUnit = objKeyReplace(dataInfo.动作模型练习); let 动作模型练习DataAndUnit = objKeyReplace(dataInfo.动作模型练习);
ret["api5"] = getKeyValue("动作模型练习", 动作模型练习DataAndUnit.dataMap, 动作模型练习DataAndUnit.unitMap, false, false ); ret["api5"] = getKeyValue("动作模型练习", 动作模型练习DataAndUnit.dataMap, 动作模型练习DataAndUnit.unitMap, false, false );
let 右上数据DataAndUnit = objKeyReplace(dataInfo.右上数据);
ret["api9"] = getKeyValue("右上数据", 右上数据DataAndUnit.dataMap, 右上数据DataAndUnit.unitMap, false, false );
let 特化右上数据 = [];
特化右上数据.push({key:"比赛场次", number:parseInt(dataInfo.右上数据["比赛场次"]), rate:parseInt(dataInfo.右上数据["比赛场次增幅"]), unit:"" });
特化右上数据.push({key:"参赛覆盖人员", number:parseInt(dataInfo.右上数据["参赛覆盖人员"]), rate:parseInt(dataInfo.右上数据["参赛覆盖人员增幅"]) , unit:"" });
// let 右上数据DataAndUnit = objKeyReplace(dataInfo.右上数据);
// ret["api9"] = getKeyValue("右上数据", 右上数据DataAndUnit.dataMap, 右上数据DataAndUnit.unitMap, false, false );
ret["api9"] = 特化右上数据;
let 比赛类型DataAndUnit = objKeyReplace(dataInfo.比赛类型); let 比赛类型DataAndUnit = objKeyReplace(dataInfo.比赛类型);
ret["api10"] = getKeyValue("比赛类型", 比赛类型DataAndUnit.dataMap, 比赛类型DataAndUnit.unitMap, false, false ); ret["api10"] = getKeyValue("比赛类型", 比赛类型DataAndUnit.dataMap, 比赛类型DataAndUnit.unitMap, false, false );
let 参赛性别占比DataAndUnit = objKeyReplace(dataInfo.参赛性别占比); let 参赛性别占比DataAndUnit = objKeyReplace(dataInfo.参赛性别占比);
......
...@@ -30,7 +30,9 @@ export async function selectData(sqlStr, ...placeholders) { ...@@ -30,7 +30,9 @@ export async function selectData(sqlStr, ...placeholders) {
}); });
let result; let result;
if (placeholders.length) result = await orcaleDB.execute(str, paramaterList); if (placeholders.length) {
result = await orcaleDB.execute(str, paramaterList);
}
else result = await orcaleDB.execute(str); else result = await orcaleDB.execute(str);
return result.rows; return result.rows;
......
...@@ -5,7 +5,7 @@ export async function getBaseData(id) { ...@@ -5,7 +5,7 @@ export async function getBaseData(id) {
let result = {}; let result = {};
let sql = 'select * from students_detail where p_id=Placeholder1'; let sql = 'select * from students_detail where p_id=Placeholder1';
let baseObj = { "img":"SELF_PIC","姓名":"NAME", "性别" :"SEX", "英语名字":"EN_NAME", "主教练" :"COACH", "出生年份" :"BIRTH", "身高" :"HEIGHT", "体重" :"WEIGHT", "比赛场次" :"MATCH_COUNT", "胜场" :"WIN_COUNT", "胜率" :"WIN_RATE&%", "排名" :"RANK", "惯用手" :"HABITUAL_HAND" }; let baseObj = { "img":"SELF_PIC","姓名":"P_NAME", "性别" :"SEX", "英语名字":"EN_NAME", "主教练" :"COACH", "出生年份" :"BIRTH", "身高" :"HEIGHT", "体重" :"WEIGHT", "比赛场次" :"MATCH_COUNT", "胜场" :"WIN_COUNT", "胜率" :"WIN_RATE&%", "排名" :"RANK", "惯用手" :"HABITUAL_HAND" };
let scoreObj = { "击球速度":"HIT_SPEED", "击球力量":"HIT_POWER", "正手能力":"FOREHAND", "反手能力":"BACKHAND", "得分率":"SCORE_RATE&%"}; let scoreObj = { "击球速度":"HIT_SPEED", "击球力量":"HIT_POWER", "正手能力":"FOREHAND", "反手能力":"BACKHAND", "得分率":"SCORE_RATE&%"};
let selectResult = await selectOnceObjectData(sql, id); let selectResult = await selectOnceObjectData(sql, id);
...@@ -40,23 +40,23 @@ function checkUnit(str, data, allUnit?) { ...@@ -40,23 +40,23 @@ function checkUnit(str, data, allUnit?) {
export async function get近期比赛概览(PID, checkDate) { export async function get近期比赛概览(PID, checkDate) {
let sql = "select * from recent_match where self_pid = Placeholder1 and date < Placeholder2"; let sql = "select * from recent_match where self_pid = Placeholder1 and m_date < Placeholder2";
let selectResult = await selectData(sql, PID, checkDate); let selectResult = await selectData(sql, PID, checkDate);
let result = []; let result = [];
selectResult.forEach(info => { selectResult.forEach(info => {
let selfScore = info.self_score || 0; let selfScore = info.SELF_SCORE || 0;
let opponentScore = info.opponent_score || 0; let opponentScore = info.OPPONENT_SCORE || 0;
let matchResult = selfScore > opponentScore ? "胜" : "负"; let matchResult = selfScore > opponentScore ? "胜" : "负";
result.push({ result.push({
selfName:info.self_name, selfName:info.SELF_NAME,
selfPic:info.self_pic, selfPic:info.SELF_PIC,
selfScore, selfScore,
opponentPic:info.opponent_pic, opponentPic:info.OPPONENT_PIC,
opponentScore, opponentScore,
oppenentName:info.opponent_name, oppenentName:info.OPPONENT_NAME,
pkTime:info.date, pkTime:info.M_DATE,
result:matchResult, result:matchResult,
mid:info.mid mid:info.M_ID
}); });
}); });
...@@ -64,24 +64,24 @@ export async function get近期比赛概览(PID, checkDate) { ...@@ -64,24 +64,24 @@ export async function get近期比赛概览(PID, checkDate) {
} }
export async function get比赛详情(mid) { export async function get比赛详情(mid) {
let sql = "select * from match_information where mid = Placeholder1"; let sql = "select * from match_information where m_id = Placeholder1";
let subSql = "select m_date from recent_match where mid = Placeholder1 " let subSql = "select m_date from recent_match where m_id = Placeholder1 "
let selectInfo = await selectOnceObjectData(sql, mid); let selectInfo = await selectOnceObjectData(sql, mid);
let timeInfo = await selectOnceObjectData(subSql, mid); let timeInfo = await selectOnceObjectData(subSql, mid);
let selfScore = selectInfo.self_score || 0; let selfScore = selectInfo.SELF_SCORE || 0;
let opponentScore = selectInfo.opponent_score || 0; let opponentScore = selectInfo.OPPONENT_SCORE || 0;
let matchResult = selfScore > opponentScore ? "胜" : "负"; let matchResult = selfScore > opponentScore ? "胜" : "负";
let result = { let result = {
mid:selectInfo.m_id, mid:selectInfo.M_ID,
selfName:selectInfo.self_name, selfName:selectInfo.SELF_NAME,
selfPic:selectInfo.self_pic, selfPic:selectInfo.SELF_PIC,
selfScore:selfScore, selfScore:selfScore,
opponentName:selectInfo.opponent_name, opponentName:selectInfo.OPPONENT_NAME,
opponentPic:selectInfo.opponent_pic, opponentPic:selectInfo.OPPONENT_PIC,
opponentScore:opponentScore, opponentScore:opponentScore,
videoUrl:selectInfo.video_url, videoUrl:selectInfo.VIDEO_URL,
result:matchResult, result:matchResult,
date:timeInfo.m_date date:timeInfo.M_DATE
}; };
return result; return result;
} }
...@@ -93,9 +93,9 @@ export async function get单前比赛对局时间节点(mid) { ...@@ -93,9 +93,9 @@ export async function get单前比赛对局时间节点(mid) {
let rankMap = {}; let rankMap = {};
selectInfo.forEach(info => { selectInfo.forEach(info => {
let { r_id, g_id, start_t, end_t } = info; let { R_ID, G_ID, START_T, END_T } = info;
if ( !rankMap[r_id] ) rankMap[r_id] = {}; if ( !rankMap[R_ID] ) rankMap[R_ID] = {};
rankMap[r_id][g_id] = {start:start_t, end:end_t, gName:`第${g_id}轮`, gId:g_id}; rankMap[R_ID][G_ID] = {start:START_T, end:END_T, gName:`第${G_ID}轮`, gId:G_ID};
}); });
let resultMap = {}; let resultMap = {};
...@@ -110,19 +110,20 @@ export async function get图表(mid, rid, gid) { ...@@ -110,19 +110,20 @@ export async function get图表(mid, rid, gid) {
const sqlInfo = { const sqlInfo = {
"左侧爆发能量":{ "左侧爆发能量":{
sql:"select * from left_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3", sql:"select * from left_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3",
keyInfo:{"self":"self_left_power", "opponent":"opponent_left_power", "time":"time_left" } keyInfo:{"self":"SELF_LEFT_POWER", "opponent":"OPPONENT_LEFT_POWER", "time":"TIME_LEFT" }
}, },
"右侧爆发能量":{ "右侧爆发能量":{
sql:"select * from right_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3", sql:"select * from right_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3",
keyInfo:{"self":"self_right_power", "opponent":"opponent_right_power", "time":"time_right" } keyInfo:{"self":"SELF_RIGHT_POWER", "opponent":"OPPONENT_RIGHT_POWER", "time":"TIME_RIGHT" }
}, },
"左侧球移动速度":{ "左侧球移动速度":{
sql:"select * from left_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3", sql:"select * from left_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3",
keyInfo:{"self":"self_left_ballmove", "opponent":"opponent_left_ballmove", "time":"time_left" } keyInfo:{"self":"SELF_LEFT_BALLMOVE", "opponent":"OPPONENT_LEFT_BALLMOVE", "time":"TIME_LEFT" }
}, },
"右侧球移动速度":{ "右侧球移动速度":{
sql:"select * from right_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3", sql:"select * from right_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3",
keyInfo:{"self":"self_right_ballmove", "opponent":"opponent_right_ballmove", "time":"time_right" } keyInfo:{"self":"SELF_RIGHT_BALLMOVE", "opponent":"OPPONENT_RIGHT_BALLMOVE", "time":"TIME_RIGHT" }
} }
}; };
let result = {}; let result = {};
...@@ -155,9 +156,9 @@ export async function get散点图(mid, rid, gid) { ...@@ -155,9 +156,9 @@ export async function get散点图(mid, rid, gid) {
selectResult.forEach(info => { selectResult.forEach(info => {
result.push({ result.push({
time:info.m_time, time:info.M_TIME,
x:info.x, x:info.X,
y:info.y y:info.Y
}); });
}); });
...@@ -165,34 +166,34 @@ export async function get散点图(mid, rid, gid) { ...@@ -165,34 +166,34 @@ export async function get散点图(mid, rid, gid) {
} }
export async function get右侧数据(mid) { export async function get右侧数据(mid) {
let airSql = "select * from attack_and_defense_area where mid = Placeholder1"; let airSql = "select * from attack_and_defense_area where m_id = Placeholder1";
let mastResultStatsData = await selectData(airSql, mid); let mastResultStatsData = await selectData(airSql, mid);
let attackData = []; let attackData = [];
let defenceData = []; let defenceData = [];
mastResultStatsData.forEach(info => { mastResultStatsData.forEach(info => {
let {area_id, attack, defence} = info; let {AREA_ID, ATTACK, defence} = info;
attackData.push({ attackData.push({
area:area_id, area:AREA_ID,
attack, attack:ATTACK,
}); });
defenceData.push({ defenceData.push({
area:area_id, area:AREA_ID,
defence defence
}); });
}); });
let stationSql = "select * from thermal_station where mid = Placeholder1"; let stationSql = "select * from thermal_station where m_id = Placeholder1";
let stationStatsData = await selectData(stationSql, mid); let stationStatsData = await selectData(stationSql, mid);
let stationData = []; let stationData = [];
stationStatsData.forEach(info => { stationStatsData.forEach(info => {
let {area_id, self_count_rate, opponent_count_rate} = info; let {AREA_ID, SELF_COUNT_RATE, OPPONENT_COUNT_RATE} = info;
stationData.push({ stationData.push({
area:area_id, area:AREA_ID,
self:self_count_rate, self:SELF_COUNT_RATE,
opponent:opponent_count_rate opponent:OPPONENT_COUNT_RATE
}); });
}); });
......
...@@ -6,7 +6,7 @@ const percentStr = '&%'; ...@@ -6,7 +6,7 @@ const percentStr = '&%';
const sqlKeyValueConfig = { const sqlKeyValueConfig = {
"左上数据":{ "左上数据":{
sql:"select * from train_stu_and_video", sql:"select * from train_stu_and_video",
analysis:{ "训练学生数" : "TRAIN_STU_NUM", "训练学生数增幅" : "TRAIN_STU_VARY&%", "训练视频采集数": "TRAIN_VIDEO_NUM", "训练视频采集数增幅": "TRAIN_VIDEO_VARY&%" } analysis:{ "训练学生数" : "TRAIN_STU_NUM", "训练学生数增幅" : "TRAIN_STU_VARY", "训练视频采集数": "TRAIN_VIDEO_NUM", "训练视频采集数增幅": "TRAIN_VIDEO_VARY" }
}, },
"运动员年龄分布":{ "运动员年龄分布":{
sql:"select * from age_range", sql:"select * from age_range",
...@@ -30,7 +30,7 @@ const sqlKeyValueConfig = { ...@@ -30,7 +30,7 @@ const sqlKeyValueConfig = {
}, },
"右上数据":{ "右上数据":{
sql:"select * from match_and_player_count", sql:"select * from match_and_player_count",
analysis:{ "比赛场次":"MATCH_COUNT", "比赛场次增幅":"MATCH_COUNT_VARY&%", "参赛覆盖人员":"PLAYER_COUNT", "参赛覆盖人员增幅":"PLAYER_COUNT_VARY&%"}, analysis:{ "比赛场次":"MATCH_COUNT", "比赛场次增幅":"MATCH_COUNT_VARY", "参赛覆盖人员":"PLAYER_COUNT", "参赛覆盖人员增幅":"PLAYER_COUNT_VARY"},
}, },
"比赛类型":{ "比赛类型":{
sql:"select * from match_type", sql:"select * from match_type",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment