Fix: remove search(50) button, request license timer player record list

This commit is contained in:
2019-03-30 13:38:37 +09:00
parent cefd3fc218
commit 6c39a3e452
3 changed files with 233 additions and 19 deletions
+32 -19
View File
@@ -32,14 +32,6 @@ function initDatePicker() {
});
setDatePickersForMonths(3);
// var today = new Date();
// var yyyy = today.getFullYear();
// var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
// var dd = String(today.getDate()).padStart(2, '0');
// $('#start_datepicker').datepicker('update', yyyy + "-" + mm + "-" + dd);
// $('#end_datepicker').datepicker('update', yyyy + "-" + mm + "-" + dd);
}
function setDatePickersForWeeks(weeks) {
@@ -235,9 +227,8 @@ function addSubjectBundleItem(subjectListID, appID, appName) {
function requestPlayerRecordList() {
getPlayerRecordList(50);
$("#search_all").removeClass("disabled");
if(getPlayerRecordList(50))
$("#search_all").prop("disabled", false);
}
function requestPlayerRecordListAll() {
@@ -256,14 +247,23 @@ function getPlayerRecordList(limitCount) {
// console.log(playerNameList);
var appID = $(":radio[name='subject_group']:checked").val();
if(typeof(appID) == "undefined")
appID = 0;
// console.log(appID);
if(typeof(appID) == "undefined") {
showErrorMessage("검색할 과목을 선택하세요.");
return false;
}
var requestURL = "";
if(appID == 3000)
requestURL = "./../server/record/request_app_player_record_list.php";
else
requestURL = "./../server/record/request_license_timer_player_record_list.php";
sendRequestServer( //url, sendParams, onSuccess, onFail, isDebugMode);
"./../server/record/request_player_record_list.php",
"MaestroID=" + maestroID + "&StartDate=" + startDate + "&EndDate=" + endDate
+ "&PlayerNameList=" + playerNameList + "&AppID=" + appID + "&LimitCount=" + limitCount,
requestURL,
"MaestroID=" + maestroID + "&StartDate="
+ startDate + "&EndDate=" + endDate
+ "&PlayerNameList=" + playerNameList
+ "&AppID=" + appID + "&LimitCount=" + limitCount,
(function(jsonData) {
// console.log(jsonData);
@@ -276,6 +276,8 @@ function getPlayerRecordList(limitCount) {
})
);
return true;
}
@@ -428,10 +430,21 @@ function addRecordListItem($date, $time, $name, $subject, $record) {
<div id="mouse_app_subject_list" class="col-sm-10 mb-2">
</div>
</div>
<div class="row">
<label for="time" class="col-sm-2 col-form-label py-0">기타</label>
<div id="mouse_app_subject_list" class="col-sm-10 mb-2">
<!-- 자격증 타이머 -->
<div class="form-check form-check-inline">
<input class="form-check-input" type="radio" name="subject_group" id="record_3000" + " value="3000">
<label class="form-check-label" for="record_3000">자격증 타이머</label>
</div>
</div>
</div>
<br/>
<button type="button" class="btn btn-primary" onClick="requestPlayerRecordList();">검색 (50개까지 보기)</button>
<button type="button" id="search_all" class="btn btn-primary disabled" onClick="requestPlayerRecordListAll();">검색 (모든 데이터 보기)</button>
<!-- <button type="button" class="btn btn-primary" onClick="requestPlayerRecordList();">검색 (50개까지 보기)</button> -->
<button type="button" id="search_all" class="btn btn-primary" onClick="requestPlayerRecordListAll();">검색 실행</button>
</div>
</div>
@@ -0,0 +1,201 @@
<?php
header('Content-Type: application/json');
include "./../lib/send_reply_json.php";
include "./../lib/maestro_account_info.php";
include "./../setup/connect_db.php";
$maestro_id = $_POST["MaestroID"];
$start_date = $_POST["StartDate"];
$end_date = $_POST["EndDate"];
$player_name_list = $_POST["PlayerNameList"];
$app_id = $_POST["AppID"];
$limit_count = $_POST["LimitCount"];
// echo "start_date : ".$start_date."\n";
// echo "end_date : ".$end_date."\n";
// echo "player_name_list : ".$player_name_list."\n";
// echo "app_id : ".$app_id."\n";
// echo "limit_count : ".$limit_count."\n";
// echo "\n";
$date_statement = makeDateStatement($start_date, $end_date);
$player_name_statement = makePlayerNameStatement($player_name_list);
$subject_statement = makeSubjectSentence($app_id);
// echo "maestro : ".$maestro_id."\n";
// echo "date : ".$date_statement."\n";
// echo "player_name : ".$player_name_statement."\n";
// echo "subject : ".$subject_statement."\n";
$where_statement = make_where_statement($date_statement, $player_name_statement, $subject_statement);
$recordCount = get_player_record_count($maestro_id, $where_statement, $limit_count);
$recordTotalCount = get_player_record_total_count($maestro_id, $where_statement);
$replyJSON = get_player_record_list($maestro_id, $where_statement, $limit_count);
if($replyJSON.length === 0) {
send_error_message($replyJSON, "오늘의 랭킹 기록 없음");
$db_conn->close();
exit;
}
set_data("RecordCount", $recordCount);
set_data("RecordList", $replyJSON);
send_result_success();
exit;
function makeDateStatement($start_date, $end_date) {
// return " '".$start_date."' < RecordDateTime AND RecordDateTime < '".$end_date."'";
return " '2017-01-01' < RecordDateTime AND RecordDateTime < '".$end_date."'";
}
function makeSubjectSentence($app_id) {
if($app_id == 0)
return "";
$subject_statement = "";
if(is_subject_bundle_item($app_id)) {
switch($app_id) {
case 1000: // korean practice
$subject_statement = $subject_statement."A.AppID < 9";
break;
case 1001: // english practice
$subject_statement = $subject_statement."10 < A.AppID AND A.AppID < 19";
break;
case 1002: // korean test
$subject_statement = $subject_statement."20 < A.AppID AND A.AppID < 31";
break;
case 1003: // english test
$subject_statement = $subject_statement."30 < A.AppID AND A.AppID < 41";
break;
}
} else {
$subject_statement = $subject_statement."A.AppID = ".$app_id;
}
return $subject_statement." AND BR.AppID = A.AppID";
}
function makePlayerNameStatement($player_name_list) {
$player_name_statement = "BR.PlayerID = P.PlayerID";
if(strlen($player_name_list) > 0)
$player_name_statement = $player_name_statement." AND P.Name LIKE '%".$player_name_list."%'";
return $player_name_statement;
}
function is_subject_bundle_item($app_id) {
if($app_id >= 1000)
return true;
return false;
}
function make_where_statement($date_statement, $player_name_statement, $subject_statement) {
// add date condition
$where_statement = $date_statement;
if(strlen($where_statement) > 0 and strlen($player_name_statement) > 0)
$where_statement = $where_statement." AND ";
// add player name condition
$where_statement = $where_statement.$player_name_statement;
// add subject condition
if(strlen($where_statement) > 0 and strlen($subject_statement) > 0)
$where_statement = $where_statement." AND ";
$where_statement = $where_statement.$subject_statement;
// echo $where_statement."\n\n";
return $where_statement;
}
function get_player_record_count($maestro_id, $where_statement, $limit_count) {
global $db_conn;
$query = "
SELECT COUNT(*)
FROM best_record BR, player P, App A
WHERE BR.MaestroID = ? AND ".$where_statement."
";
if($limit_count > 0)
$query = $query." LIMIT ".$limit_count;
// echo $query;
// return;
$stmt = $db_conn->prepare($query);
$stmt->bind_param("i", $maestro_id);
$stmt->execute();
$stmt->bind_result($record_count);
$stmt->fetch();
$stmt->close();
return $record_count;
}
function get_player_record_total_count($maestro_id, $where_statement) {
global $db_conn;
$query = "
SELECT COUNT(*)
FROM best_record BR, player P, App A
WHERE BR.MaestroID = ? AND ".$where_statement."
";
// echo $query;
// return;
$stmt = $db_conn->prepare($query);
$stmt->bind_param("i", $maestro_id);
$stmt->execute();
$stmt->bind_result($record_count);
$stmt->fetch();
$stmt->close();
return $record_count;
}
function get_player_record_list($maestro_id, $where_statement, $limit_count) {
global $db_conn;
$query = "
SELECT DATE(BR.RecordDateTime) AS Date, TIME(BR.RecordDateTime) AS Time,
P.Name AS Name, A.KoreanName AS Subject, BR.BestRecord AS Record
FROM best_record BR, player P, App A
WHERE BR.MaestroID = ? AND ".$where_statement."
ORDER BY BR.RecordDateTime ASC
";
if($limit_count > 0)
$query = $query." LIMIT ".$limit_count;
// echo $query;
// return;
$stmt = $db_conn->prepare($query);
$stmt->bind_param('i', $maestro_id);
$stmt->execute();
$stmt->bind_result($date, $time, $player_name, $subject, $record);
$record_array = array();
while($stmt->fetch()) {
$record_date['Date'] = $date;
$record_date['Time'] = $time;
$record_date['PlayerName'] = $player_name;
$record_date['Subject'] = $subject;
$record_date['Record'] = $record;
array_push($record_array, $record_date);
}
// $return_array['RecordList'] = $record_array;
// return $return_array;
return $record_array;
}
?>