/sub/work_his.php
PHP | 505 lines | 385 code | 86 blank | 34 comment | 40 complexity | b47f2e591e3dc56b96b3c4538a2004de MD5 | raw file
- <?php
- if (!defined('_INDEX_')) define('_INDEX_', true);
- // if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
- include_once('./_common.php');
- $iu_title = "근무변경신청 내역";
- include_once(G5_THEME_PATH . '/head.php');
- include_once(G5_PLUGIN_PATH . '/jquery-ui/datepicker.php'); // 달력
- // $sql = "SELECT * FROM app5iu_vacation_management
- // WHERE mb_id = '{$member['mb_id']}'
- // ORDER BY vm_wdate desc";
- //2021-11-15.yun 추가
- if(!$stx_y){
- $stx_y = date("Y");
- }
- if(!$stx_m){
- $stx_m = date("n");
- }
- if(!$sfl){
- $sfl = "mk_chdate";
- }
- $prev_month = $stx_m - 1;
- $next_month = $stx_m + 1;
- $prev_year = $next_year = $stx_y;
- if($stx_m == 1){
- $prev_month = 12;
- $prev_year = $stx_y - 1;
- }else if($stx_m == 12){
- $next_month = 1;
- $next_year = $stx_y + 1;
- }
- $preyear = $stx_y - 1;
- $nextyear = $stx_y + 1;
- //2021-11-15.yun 추가 끝
- if ($stx_m < 10 && $stx_m) {
- $stx_m = '0' . (int)$stx_m;
- }
- $sql_common = " from app5iu_work ";
- $sql_search = " where (1) and mb_id = '{$member['mb_id']}'";
- /*
- if ($stx_y) {
- $sql_search .= " and ( ";
- switch ($sfl) {
- default:
- $sql_search .= "substring({$sfl},1,7) like CONCAT('{$stx_y}','-','{$stx_m}','%') ";
- // echo $sql_search;
- // echo $sql_search;
- // break;
- }
- $sql_search .= " ) ";
- }*/
- if ($stx_y) {
- $sql_search .= " and ( ";
- //$sql_search .= "substring({$sfl},1,7) like CONCAT('{$stx_y}','-','{$stx_m}','%') ";
- $sql_search .= "mk_chdate like CONCAT('{$stx_y}','-','{$stx_m}','%') ";
- $sql_search .= " ) ";
- }
- if (!$sst) {
- $sst = "ve_idx";
- $sod = "desc";
- }
- $sql_order = " order by wk_wdate desc ";
- //$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
- $row = sql_fetch($sql);
- $total_count = $row['cnt'];
- $rows = $config['cf_page_rows'];
- $total_page = ceil($total_count / $rows); // 전체 페이지 계산
- if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
- $from_record = ($page - 1) * $rows; // 시작 열을 구함
- $sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";
- $result = sql_query($sql);
- ?>
- <style>
- .his_mid_box {
- padding-bottom: 5px;
- }
- </style>
- <!-- 초과근무내역 조회 -->
- <div id="vacation_his">
- <div class="contents_box">
- <div class="con_line">
- <!-- <div class="his_top_box his_card">
- <div class="his_top_inner cf">
- <?php
- $sql = "SELECT SUM(vme_time) as vme_time {$sql_common} {$sql_search}";
- $row_va = sql_fetch($sql);
- $row_va['vme_time'] = iuf_timeto($row_va['vme_time'], 'h');
- ?>
- <div class="his_top_text">
- <p> 유료도로 지불금</p>
- </div>
-
- <dv class="his_top_data">
- <p><?php echo $row_va['vme_time'] ?><span>시간</span></p>
- </dv>
- </div>
- </div> -->
- <!-- his_top_box -->
- <div class="his_mid_box his_card">
- <div class="his_mid_inner">
- <!--
- <p>월별휴가내역 조회</p>
- -->
- </div>
- <div class="his_mid_inner cf">
- <!-- <form method="get" id="fsearch" name="fsearch" action="" class="in_his_form cf">
- <input type="hidden" name="sfl" value="mk_chdate">
- <div class="his_select_box cf" style="width:30%">
- <div class="select_box" style="width:60px">
- <input type="text" name="stx_y" id="stx_y" value="<?php echo $stx_y ? $stx_y : date('Y') ?>">
- </div>
- <div class="select_text">
- <span>년</span>
- </div>
- </div>
- <div class="his_select_box cf" style="width:24%">
- <div class="select_box" style="width:40px">
- <input type="text" name="stx_m" id="stx_m" value="<?php echo $stx_m ? $stx_m : date('m') ?>">
- </div>
- <div class="select_text">
- <span>월</span>
- </div>
- </div>
- <div class="search_bt">
- <button type="submit">검색</button>
- </div>
- </form> -->
- <form method="get" id="fsearch" name="fsearch" class="in_his_form cf">
- <input type="hidden" name="sfl" value="vm_sdate">
- <div class="his_select_box cf" style="">
- <div class="search_bt">
- <button type=""><a href="./work_his.php?stx_y=<?php echo $prev_year;?>&stx_m=<?php echo $prev_month ;?>">이전달</a></button>
- </div>
- </div>
- <div class="his_select_box cf" style="">
- <div class="select_box" style="width:60px">
- <input type="text" name="stx_y" id="stx_y" value="<?php echo $stx_y ?>">
- </div>
- <div class="select_text">
- <span>년</span>
- </div>
- </div>
- <div class="his_select_box cf" style="">
- <div class="select_box" style="width:40px">
- <input type="text" name="stx_m" id="stx_m" value="<?php echo $stx_m ?>">
- </div>
- <div class="select_text">
- <span>월</span>
- </div>
- </div>
- <div class="his_select_box cf" style="">
- <div class="search_bt">
- <button type=""><a href="./work_his.php?stx_y=<?php echo $next_year;?>&stx_m=<?php echo $next_month;?>">다음달</a></button>
- </div>
- </div>
- </form>
- </div>
- </div>
- <!--his_mid_box-->
- <div class="his_card2">
- <div class="his_top_text">
- <p> 변경신청 내역</p>
- </div>
- <table class="table his_table">
- <colgroup>
- <col width="25%">
- <col width="25%">
- <col width="25%">
- </colgroup>
- <thead>
- <tr>
- <th>신청날짜</th>
- <th>변경날짜</th>
- <th>형태</th>
- <th>상테</th>
- </tr>
- </thead>
- <tbody>
- <?php
- for ($i = 0; $row = sql_fetch_array($result); $i++) {
- switch ($row['wk_state']) {
- case '결재중':
- $text_color = 'color_gray';
- break;
- case '승인':
- $text_color = 'color_blue';
- break;
- case '거절':
- $text_color = 'color_red';
- break;
- }
- ?>
- <tr class="edit_work" wk_idx="<?php echo $row['wk_idx'] ?>">
- <td><?php echo $row['wk_date'] ?></td>
- <td><?php echo $row['mk_chdate'] ?></td>
- <td>
- <?php echo $row['wk_type'] ?>
- </td>
- <td><?php echo $row['wk_state'] ?></td>
- </tr>
- <?php } ?>
- <?php
- if ($i == 0)
- echo "<tr><td colspan=\"4\" class=\"empty_table\">자료가 없습니다.</td></tr>";
- ?>
- </tbody>
- </table>
- </div>
- <div class="paging_box cf">
- <?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, '?' . $qstr . '&page='); ?>
- </div>
- <div class="his_calendar">
- <div id="calendarForm"></div>
- </div>
- <style>
- .custom_calendar_table {
- width: 100%;
- }
- .custom_calendar_table td {
- text-align: center;
- }
- .custom_calendar_table thead.cal_date th {
- font-size: 1.5rem;
- }
- .custom_calendar_table thead.cal_date th button {
- font-size: 1.5rem;
- background: none;
- border: none;
- }
- .custom_calendar_table thead.cal_week th {
- background-color: #608dff;
- color: #fff;
- }
- .custom_calendar_table tbody td {
- cursor: pointer;
- }
- .custom_calendar_table tbody td:nth-child(1) {
- color: red;
- }
- .custom_calendar_table tbody td:nth-child(7) {
- color: #608dff;
- }
- .custom_calendar_table tbody td.select_day {
- background-color: #608dff;
- color: #fff;
- }
- .ch_day_bg {
- background-color: #608dff;
- color: white !important;
- }
- </style>
- </div>
- </div>
- <!--contents_box-->
- </div>
- <script>
- $(".edit_work").click(function() {
- var wk_idx = $(this).attr("wk_idx");
- location.href = "/sub/work.php?wk_idx=" + wk_idx;
- });
- </script>
- <?php
- if ($is_admin) {
- $member['mb_id'] = '1120';
- }
- if (!$stx_m) $stx_y = date('Y');
- if (!$stx_m) $stx_m = date('m');
- // $table_name = "reserve_schedule_info_{$stx_y}_{$stx_m}";
- // $sql = " select * from $table_name where drvseq = '{$member['mb_id']}' and breaktime = 0 group by left(starttime,10) ORDER BY starttime ";
- $table_name = "app5iu_work";
- $sql = " select * from $table_name where mb_id = '{$member['mb_id']}' and wk_date like '{$stx_y}-{$stx_m}%'; ";
- $result = sql_query($sql);
- for ($i = 0; $row = sql_fetch_array($result); $i++) {
- //$modi_time = date("Y-m-d H:i:s", strtotime("-3 days"));
- $breaktime = '';
- switch ($row['breaktime']) {
- case "0":
- $breaktime = '운행시간';
- break;
- case "1":
- $breaktime = '휴게시간';
- break;
- }
- ?>
- <!-- <input type="hidden" id="is_month" value="<?php echo substr($row['starttime'], 5, 2) ?>">
- <input type="hidden" id="is_days_<?php echo substr($row['starttime'], 8, 2) ?>" value="true"> -->
- <input type="hidden" id="is_month" value="<?php echo substr($row['mk_chdate'], 5, 2) ?>">
- <input type="hidden" id="is_days_<?php echo substr($row['mk_chdate'], 8, 2) ?>" value="true">
- <?php
- }
- ?>
- <script>
- $(function() {
- $(".datepicker").datepicker({
- changeMonth: true,
- changeYear: true,
- dateFormat: "yy-mm-dd",
- showButtonPanel: true,
- yearRange: "c-99:c+99",
- minDate: "+3d;",
- maxDate: "+365d;"
- });
- });
- (function() {
- calendarMaker($("#calendarForm"), new Date());
- })();
- var nowDate = new Date();
- function calendarMaker(target, date) {
- if (date == null || date == undefined) {
- date = new Date();
- }
- nowDate = date;
- //yun 추가
- let p_year = $("#stx_y").val();
- let p_month = $("#stx_m").val();
- let p_date = p_year + "-" + p_month;
- nowDate = new Date(p_date);
- if ($(target).length > 0) {
- var year = nowDate.getFullYear();
- var month = nowDate.getMonth() + 1;
- $(target).empty().append(assembly(year, month));
- } else {
- console.error("custom_calendar Target is empty!!!");
- return;
- }
- var thisMonth = new Date(nowDate.getFullYear(), nowDate.getMonth(), 1);
- var thisLastDay = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, 0);
- var getM = thisMonth.getMonth() + 1;
- var tag = "<tr>";
- var cnt = 0;
- //빈 공백 만들어주기
- for (i = 0; i < thisMonth.getDay(); i++) {
- tag += "<td></td>";
- cnt++;
- }
- //날짜 채우기
- for (i = 1; i <= thisLastDay.getDate(); i++) {
- if (i < 10) {
- var di = '0' + (i);
- } else {
- var di = (i);
- }
- var ch_day_bg = '';
- var ifdays_id = "#is_days_" + di;
- var ifdays = $(ifdays_id).val();
- var ifmonths = $("#is_month").val();
- if (getM == ifmonths) {
- if (ifdays == 'true') {
- var ch_day_bg = 'ch_day_bg';
- }
- }
- if (cnt % 7 == 0) {
- tag += "<tr>";
- }
- tag += "<td class='" + ch_day_bg + "'>" + i + "</td>";
- cnt++;
- if (cnt % 7 == 0) {
- tag += "</tr>";
- }
- }
- $(target).find("#custom_set_date").append(tag);
- calMoveEvtFn();
- function assembly(year, month) {
- var calendar_html_code =
- "<table class='custom_calendar_table'>" +
- "<colgroup>" +
- "<col style='width:81px'/>" +
- "<col style='width:81px'/>" +
- "<col style='width:81px'/>" +
- "<col style='width:81px'/>" + "<col style='width:81px'/>" +
- "<col style='width:81px'/>" +
- "<col style='width:81px'/>" +
- "</colgroup>" +
- "<thead class='cal_date'>" +
- "<th><button type='button' class='prev'></button></th>" +
- "<th colspan='5'><p><span>" + year + "</span>년 <span>" + month + "</span>월</p></th>" +
- "<th><button type='button' class='next'></button></th>" +
- "</thead>" +
- //"<thead class='cal_week'>" +
- "<thead style='background-color:#999999'>" +
- "<th>일</th><th>월</th><th>화</th><th>수</th><th>목</th><th>금</th><th>토</th>" +
- "</thead>" +
- "<tbody id='custom_set_date'>" +
- "</tbody>" +
- "</table>";
- return calendar_html_code;
- }
- function calMoveEvtFn() {
- //전달 클릭
- $(".custom_calendar_table").on("click", ".prev", function() {
- nowDate = new Date(nowDate.getFullYear(), nowDate.getMonth() - 1, nowDate.getDate());
- calendarMaker($(target), nowDate);
- });
- //다음날 클릭
- $(".custom_calendar_table").on("click", ".next", function() {
- nowDate = new Date(nowDate.getFullYear(), nowDate.getMonth() + 1, nowDate.getDate());
- calendarMaker($(target), nowDate);
- });
- //일자 선택 클릭
- // $(".custom_calendar_table").on("click", "td", function () {
- // $(".custom_calendar_table .select_day").removeClass("select_day");
- // $(this).removeClass("select_day").addClass("select_day");
- // });
- }
- }
- </script>
- </div>
- <script>
- $(function() {
- $(".datepicker").datepicker({
- changeMonth: true,
- changeYear: true,
- dateFormat: "yy-mm-dd",
- showButtonPanel: true,
- yearRange: "c-99:c+99",
- maxDate: "+365d;"
- });
- });
- </script>
- <?php
- include_once(G5_THEME_PATH . '/tail.php');