Commit d51d07b9 by chenjinjing

no message

parent 01bfd7a3
import { info } from "console";
import { get选手详细分析 } from "../data/analysisData";
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) {
let ret:any = {};
......@@ -9,11 +9,9 @@ export async function getData(req, res) {
pid = parseInt(pid);
let baseInfo:any = await getBaseData(pid);
let 基础信息DataAndUnit = objKeyReplace(baseInfo.基础信息);
ret["base1"] = getKeyValue("基础信息", 基础信息DataAndUnit.dataMap, 基础信息DataAndUnit.unitMap, false, false );
ret["base1"] = getKeyStringValue("基础信息", baseInfo["基础信息"] );
let 技术特点评分DataAndUnit = objKeyReplace(baseInfo.技术特点评分);
ret["base2"] = getKeyValue("技术特点评分", 技术特点评分DataAndUnit.dataMap, 技术特点评分DataAndUnit.unitMap, false, false );
ret["base2"] = getKeyStringValue("技术特点评分", baseInfo["击球信息"] );
let jqbsglInfo = await 近期比赛概览(pid, null);
ret["jqbsgl"] = jqbsglInfo;
......@@ -41,9 +39,9 @@ export async function getData(req, res) {
//接口2 近期比赛概览
export async function getjqbsgl(req, res) {
let { PID, date } = req.query;
let { pid, date } = req.query;
let ret:any = {};
ret["jqbsgl"] = await 近期比赛概览(PID, date);
ret["jqbsgl"] = await 近期比赛概览(pid, date);
res.send(ret);
}
......@@ -85,9 +83,9 @@ export async function get图表数据(req, res) {
async function 近期比赛概览(PID, inTime) {
async function 近期比赛概览(pid, inTime) {
let time = inTime || new Date();
let 近期比赛概览数据 = await get近期比赛概览(PID, time);
let 近期比赛概览数据 = await get近期比赛概览(pid, time);
let subTitle = 近期比赛概览数据.length > 0 ? 近期比赛概览数据[0].date : "";
return {
title:"近期比赛概览",
......
......@@ -6,8 +6,8 @@ export async function getData(req, res) {
let dataInfo:any = await get运动员概览();
let 特化左上数据 = [];
特化左上数据.push({key:"训练学生数", number:dataInfo.左上数据["训练学生数"], rate:dataInfo.左上数据["训练学生数增幅"] });
特化左上数据.push({key:"训练视频采集数", number:dataInfo.左上数据["训练视频采集数"], rate:dataInfo.左上数据["训练视频采集数增幅"] });
特化左上数据.push({key:"训练学生数", number:parseInt(dataInfo.左上数据["训练学生数"]), rate:parseInt(dataInfo.左上数据["训练学生数增幅"]), unit:"" });
特化左上数据.push({key:"训练视频采集数", number:parseInt(dataInfo.左上数据["训练视频采集数"]), rate:parseInt(dataInfo.左上数据["训练视频采集数增幅"]) , unit:"" });
// let 左上数据DataAndUnit = objKeyReplace(dataInfo.左上数据);
// ret["api1"] = getKeyValue("左上数据", 左上数据DataAndUnit.dataMap, 左上数据DataAndUnit.unitMap, false, false );
......@@ -21,8 +21,15 @@ export async function getData(req, res) {
ret["api4"] = getKeyValue("训练类型", 训练类型DataAndUnit.dataMap, 训练类型DataAndUnit.unitMap, false, false );
let 动作模型练习DataAndUnit = objKeyReplace(dataInfo.动作模型练习);
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.比赛类型);
ret["api10"] = getKeyValue("比赛类型", 比赛类型DataAndUnit.dataMap, 比赛类型DataAndUnit.unitMap, false, false );
let 参赛性别占比DataAndUnit = objKeyReplace(dataInfo.参赛性别占比);
......
......@@ -30,7 +30,9 @@ export async function selectData(sqlStr, ...placeholders) {
});
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);
return result.rows;
......
......@@ -5,7 +5,7 @@ export async function getBaseData(id) {
let result = {};
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 selectResult = await selectOnceObjectData(sql, id);
......@@ -40,23 +40,23 @@ function checkUnit(str, data, allUnit?) {
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 result = [];
selectResult.forEach(info => {
let selfScore = info.self_score || 0;
let opponentScore = info.opponent_score || 0;
let selfScore = info.SELF_SCORE || 0;
let opponentScore = info.OPPONENT_SCORE || 0;
let matchResult = selfScore > opponentScore ? "胜" : "负";
result.push({
selfName:info.self_name,
selfPic:info.self_pic,
selfName:info.SELF_NAME,
selfPic:info.SELF_PIC,
selfScore,
opponentPic:info.opponent_pic,
opponentPic:info.OPPONENT_PIC,
opponentScore,
oppenentName:info.opponent_name,
pkTime:info.date,
oppenentName:info.OPPONENT_NAME,
pkTime:info.M_DATE,
result:matchResult,
mid:info.mid
mid:info.M_ID
});
});
......@@ -64,24 +64,24 @@ export async function get近期比赛概览(PID, checkDate) {
}
export async function get比赛详情(mid) {
let sql = "select * from match_information where mid = Placeholder1";
let subSql = "select m_date from recent_match where mid = Placeholder1 "
let sql = "select * from match_information where m_id = Placeholder1";
let subSql = "select m_date from recent_match where m_id = Placeholder1 "
let selectInfo = await selectOnceObjectData(sql, mid);
let timeInfo = await selectOnceObjectData(subSql, mid);
let selfScore = selectInfo.self_score || 0;
let opponentScore = selectInfo.opponent_score || 0;
let selfScore = selectInfo.SELF_SCORE || 0;
let opponentScore = selectInfo.OPPONENT_SCORE || 0;
let matchResult = selfScore > opponentScore ? "胜" : "负";
let result = {
mid:selectInfo.m_id,
selfName:selectInfo.self_name,
selfPic:selectInfo.self_pic,
mid:selectInfo.M_ID,
selfName:selectInfo.SELF_NAME,
selfPic:selectInfo.SELF_PIC,
selfScore:selfScore,
opponentName:selectInfo.opponent_name,
opponentPic:selectInfo.opponent_pic,
opponentName:selectInfo.OPPONENT_NAME,
opponentPic:selectInfo.OPPONENT_PIC,
opponentScore:opponentScore,
videoUrl:selectInfo.video_url,
videoUrl:selectInfo.VIDEO_URL,
result:matchResult,
date:timeInfo.m_date
date:timeInfo.M_DATE
};
return result;
}
......@@ -93,9 +93,9 @@ export async function get单前比赛对局时间节点(mid) {
let rankMap = {};
selectInfo.forEach(info => {
let { r_id, g_id, start_t, end_t } = info;
if ( !rankMap[r_id] ) rankMap[r_id] = {};
rankMap[r_id][g_id] = {start:start_t, end:end_t, gName:`第${g_id}轮`, gId:g_id};
let { R_ID, G_ID, START_T, END_T } = info;
if ( !rankMap[R_ID] ) rankMap[R_ID] = {};
rankMap[R_ID][G_ID] = {start:START_T, end:END_T, gName:`第${G_ID}轮`, gId:G_ID};
});
let resultMap = {};
......@@ -110,19 +110,20 @@ export async function get图表(mid, rid, gid) {
const sqlInfo = {
"左侧爆发能量":{
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",
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",
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",
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 = {};
......@@ -155,9 +156,9 @@ export async function get散点图(mid, rid, gid) {
selectResult.forEach(info => {
result.push({
time:info.m_time,
x:info.x,
y:info.y
time:info.M_TIME,
x:info.X,
y:info.Y
});
});
......@@ -165,34 +166,34 @@ export async function get散点图(mid, rid, gid) {
}
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 attackData = [];
let defenceData = [];
mastResultStatsData.forEach(info => {
let {area_id, attack, defence} = info;
let {AREA_ID, ATTACK, defence} = info;
attackData.push({
area:area_id,
attack,
area:AREA_ID,
attack:ATTACK,
});
defenceData.push({
area:area_id,
area:AREA_ID,
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 stationData = [];
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({
area:area_id,
self:self_count_rate,
opponent:opponent_count_rate
area:AREA_ID,
self:SELF_COUNT_RATE,
opponent:OPPONENT_COUNT_RATE
});
});
......
......@@ -6,7 +6,7 @@ const percentStr = '&%';
const sqlKeyValueConfig = {
"左上数据":{
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",
......@@ -30,7 +30,7 @@ const sqlKeyValueConfig = {
},
"右上数据":{
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",
......
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