diff --git a/src/web/module/maestro_section_record.html b/src/web/module/maestro_section_record.html index 3dbf3f8..355fd7d 100644 --- a/src/web/module/maestro_section_record.html +++ b/src/web/module/maestro_section_record.html @@ -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) {
+ +
+ +
+ +
+ + +
+
+

- - + + diff --git a/src/web/server/record/request_player_record_list.php b/src/web/server/record/request_app_player_record_list.php similarity index 100% rename from src/web/server/record/request_player_record_list.php rename to src/web/server/record/request_app_player_record_list.php diff --git a/src/web/server/record/request_license_timer_player_record_list.php b/src/web/server/record/request_license_timer_player_record_list.php new file mode 100644 index 0000000..9731f25 --- /dev/null +++ b/src/web/server/record/request_license_timer_player_record_list.php @@ -0,0 +1,201 @@ +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; +} + +?> \ No newline at end of file