7) { /* alert("관리자 승인이 필요합니다."); */ sleep(1); header("Location:" . $WebSite . "login/login_form.php"); exit; } // 세션의 만료 시간을 확인합니다. $expiryTime = ini_get('session.gc_maxlifetime'); $remainingTime = 0; // 세션의 만료 시간과 현재 시간을 비교하여 남은 시간을 계산합니다. if (isset($_SESSION['LAST_ACTIVITY'])) { $lastActivity = $_SESSION['LAST_ACTIVITY']; $currentTime = time(); $elapsedTime = $currentTime - $lastActivity; if ($elapsedTime < $expiryTime) { $remainingTime = $expiryTime - $elapsedTime; } } // 세션의 남은 시간을 반환합니다. // echo $expiryTime; $_SESSION["company"] = '주일기업'; // 세션으로 기록 $today = date("Y-m-d"); require_once($_SERVER['DOCUMENT_ROOT'] . "/load_header.php"); // (접수/출고 등) 가져오기 include "load_info.php"; ?> (주)주일기업
0, "작성" => 1, "상신" => 2, "미결" => 3, "진행" => 4, "결재" => 5 ); ?>
  전자결재 $tabId) { $badgeId = "badge" . $tabId; ?>
=3) ) { print '
2025년 건강하고 보람차게 ~
(주)주일기업  
공사진행
장비투입 시공중 결선중 착공전
요청사항
방문 실측 발주 결선 인정라벨부착 AS
= CURDATE()) AND al_company ='주일' AND is_deleted IS NULL "; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row=$stmh->rowCount(); if($total_row>0 ) { ?>
query($sql); $total_row = $stmh->rowCount(); ?>
0): ?> fetch(PDO::FETCH_ASSOC)): // 원본 컬럼에서 필요한 값 추출 $indate = $row['indate'] ?? ''; $titleFull = $row['outworkplace'] ?? ''; $amount = $row['suppliercost'] ?? ''; $status = $row['status'] ?? ''; $e_confirm = $row['e_confirm'] ?? ''; $e_line_id = $row['e_line_id'] ?? ''; // 년도 제거하고 "MM-DD" 형태로 $formattedDate = explode('-', $indate, 2)[1] ?? $indate; // 제목은 최대 10글자 $titleShort = mb_substr($titleFull, 0, 10); // 결재 완료 여부 $approvedMark = ( ($status === 'end' && !empty($e_confirm)) || empty($e_line_id) ) ? '✅' : ''; ?>
작성일 제목 금액 결재완료
query($sql); $total_row = $stmh->rowCount(); ?>
0): ?> fetch(PDO::FETCH_ASSOC)): // 작성일 $indate = $row['indate'] ?? ''; $status = $row['status'] ?? ''; $e_confirm = $row['e_confirm'] ?? ''; $e_line_id = $row['e_line_id'] ?? ''; $formattedDate = explode('-', $indate, 2)[1] ?? $indate; // expense_data JSON 파싱 $expenseData = json_decode($row['expense_data'] ?? '[]', true); if (!is_array($expenseData)) $expenseData = []; // 제목(첫 항목 + 외 N건) $items = []; $totalAmount = 0; foreach ($expenseData as $exp) { if (!empty($exp['expense_item'])) { $items[] = $exp['expense_item']; } if (!empty($exp['expense_amount'])) { $totalAmount += intval(str_replace(',', '', $exp['expense_amount'])); } } if (count($items) > 1) { $titleShort = $items[0] . ' 외 ' . (count($items) - 1) . '건'; } elseif (count($items) === 1) { $titleShort = $items[0]; } else { $titleShort = ''; } // 결재 완료 표시 $approvedMark = ( ($status === 'end' && !empty($e_confirm)) || empty($e_line_id) ) ? '✅' : ''; ?>
작성일 제목 금액 결재완료
query($sql); $count = $stmh->rowCount(); if ($count > 0): ?> fetch(PDO::FETCH_ASSOC)): $num = $row['num']; $vehicle_type = $row['vehicle_type']; $engine_oil_data = json_decode($row['engine_oil_change_data'], true) ?? []; $maintenance_data = json_decode($row['maintenance_data'], true) ?? []; // 1) 엔진오일 교체 날짜 내림차순 정렬 usort($engine_oil_data, function($a, $b) { if (empty($a['engine_oil_change_date'])) return 1; if (empty($b['engine_oil_change_date'])) return -1; return strtotime($b['engine_oil_change_date']) <=> strtotime($a['engine_oil_change_date']); }); // 2) 정비 내역 날짜 내림차순 정렬 usort($maintenance_data, function($a, $b) { if (empty($a['maintenance_date'])) return 1; if (empty($b['maintenance_date'])) return -1; return strtotime($b['maintenance_date']) <=> strtotime($a['maintenance_date']); }); // 3) 팝오버용 전체 HTML과 표시용 날짜 문자열 준비 $all_records = ''; $display_dates = []; if (!empty($engine_oil_data)) { $all_records .= '
엔진오일 교체
'; foreach ($engine_oil_data as $oil) { $date = $oil['engine_oil_change_date'] ?? ''; $mileage = $oil['mileage'] ?? ''; if ($date || $mileage) { $all_records .= htmlspecialchars($date).' - 주행거리: '.htmlspecialchars($mileage).' km
'; $display_dates[] = '오일' . $date; } } $all_records .= '
'; } if (!empty($maintenance_data)) { $all_records .= '
정비내역
'; foreach ($maintenance_data as $mnt) { $date = $mnt['maintenance_date'] ?? ''; $record = $mnt['maintenance_record'] ?? ''; if ($date && $record) { $all_records .= htmlspecialchars($date).' - '.htmlspecialchars($record).'
'; $display_dates[] = '정비' . $date; } } $all_records .= '
'; } ?>
차종 내역
50 ? '...' : ''); ?> -
0) { // print " "; // print " 일자 "; // print " 차번 "; // print " 출발 ➡ 도착"; // print " km "; // print " "; // while($row = $stmh->fetch(PDO::FETCH_ASSOC)) { // $num = $row['num']; // $use_date = $row['use_date']; // $month_day = date("m/d", strtotime($use_date)); // $car_number = substr($row['car_number'], -4); // 뒷자리 4자리만 표시 // $departure = $row['departure'] . ' ➡ ' . $row['destination']; // $driving_distance = number_format((int)$row['driving_distance'] ); // echo ""; // print ' '; // print $month_day; // print ''; // print ' '; // print $car_number; // print ''; // print ' '; // print $departure; // print ''; // print ' '; // print $driving_distance; // print ''; // print ''; // } // } ?>
차량별 주행거리 요약 ()
= 1 GROUP BY c.vehicle_number, c.responsible_person, c.vehicle_type, c.initial_distance, m.part, m.position HAVING (IFNULL(c.initial_distance, 0) + ( SELECT IFNULL(SUM(l2.driving_distance), 0) FROM " . $DB . ".juilcarlog l2 WHERE l2.car_number = c.vehicle_number AND l2.is_deleted = 0 )) >= 10 ORDER BY c.manufacturing_date ASC, c.purchase_date ASC"; $summary_stmh = $pdo->prepare($summary_sql); $summary_stmh->bindValue(":fromdate", $fromdate, PDO::PARAM_STR); $summary_stmh->bindValue(":todate", $todate, PDO::PARAM_STR); $summary_stmh->execute(); $summary_list = $summary_stmh->fetchAll(PDO::FETCH_ASSOC); foreach ($summary_list as $summary): $total_cumulative = $summary['initial_distance'] + $summary['monthly_distance']; ?>
관리자 차량번호 (월)누적 총누적
query($sql); $total_row = $stmh->rowCount(); // 현재 날짜를 DateTime 객체로 가져옵니다. $currentDate = new DateTime(); if($total_row > 0) { echo ''; while($row = $stmh->fetch(PDO::FETCH_ASSOC)) { // 데이터의 등록 날짜를 DateTime 객체로 가져옵니다. $dataDate = new DateTime($row["regist_day"]); // 날짜 차이를 계산합니다. $interval = $currentDate->diff($dataDate)->days; // 이미지 태그 초기화 $newImage = ''; // 7일 이내면 이미지를 추가합니다. if($interval < 7) { $newImage = 'New  '; } $item_num = $row["num"]; $sqlsub="select * from $DB.notice1_ripple where parent=$item_num"; $stmh1 = $pdo->query($sqlsub); $num_ripple=$stmh1->rowCount(); // 데이터-속성 추가하여 공지의 ID 또는 필요한 정보를 저장 print ' '; else echo ' '; echo ''; // 테이블 행 종료 } echo '
  ' . $newImage . $row["subject"] ; if($num_ripple>0) echo '   ' . $num_ripple . '
'; } else { echo '   '; } ?>
query($sql); $total_row = $stmh->rowCount(); // 현재 날짜를 DateTime 객체로 가져옵니다. $currentDate = new DateTime(); if($total_row > 0) { print ''; print ' '; while($row = $stmh->fetch(PDO::FETCH_ASSOC)) { // 데이터의 등록 날짜를 DateTime 객체로 가져옵니다. $dataDate = new DateTime($row["regist_day"]); // 날짜 차이를 계산합니다. $interval = $currentDate->diff($dataDate)->days; // 이미지 태그 초기화 $newImage = ''; // 7일 이내면 이미지를 추가합니다. if($interval < 7) { $newImage = 'New  '; } // 데이터-속성 추가하여 공지의 ID 또는 필요한 정보를 저장 print ''; print ''; } } ?>
자료실 ' . $newImage . $row["subject"] . '
query($sql); $total_row = $stmh->rowCount(); // 현재 날짜를 DateTime 객체로 가져옵니다. $currentDate = new DateTime(); if($total_row > 0) { while($row = $stmh->fetch(PDO::FETCH_ASSOC)) { // 데이터의 등록 날짜를 DateTime 객체로 가져옵니다. $dataDate = new DateTime($row["regist_day"]); // 날짜 차이를 계산합니다. $interval = $currentDate->diff($dataDate)->days; // 이미지 태그 초기화 $newImage = ''; print ''; // 7일 이내면 이미지를 추가합니다. if($interval < 7) { $newImage = 'New  '; } // 데이터-속성 추가하여 공지의 ID 또는 필요한 정보를 저장 print ''; print ''; } } ?>
' . $newImage . $row["subject"] . '
<월간상세일정>
<월간상세일정>
query($sql); // 검색조건에 맞는글 stmh $counter = 0; while ($row = $stmh->fetch(PDO::FETCH_ASSOC)) { $equipmentList = json_decode($row['equipmentList'], true); if (!$equipmentList || !is_array($equipmentList)) { $equipmentList = []; // 비어있거나 JSON 파싱 실패시 빈 배열 처리 } foreach ($equipmentList as $equipment) { if(!empty($equipment['col2']) && empty($equipment['col3']) ) { $counter++; } } } if($counter>0) include "./load_request_equipment.php"; // 시공중 현장 $a = " where (is_deleted IS NULL or is_deleted = 0) and workStatus='시공중' "; $sql="select * from {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row=$stmh->rowCount(); if($total_row>0) include "./load_work.php"; // 결선중 현장 $a = " where (is_deleted IS NULL or is_deleted = 0) and cableworkStatus='결선중' "; $sql="select * from {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row=$stmh->rowCount(); if($total_row>0) include "./load_work_wire.php"; // 착공전 $sql="select * from {$DB}.work where (is_deleted IS NULL or is_deleted = 0) and workStatus='착공전' order by workday desc"; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_work_before.php"; // 착공(1개월 이내) 등록된 현장을 필터링 // $a = " WHERE regist_day >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) and (is_deleted IS NULL or is_deleted = 0) "; // $sql = "SELECT * FROM {$DB}.work " . $a; // $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh // $total_row = $stmh->rowCount(); // if($total_row > 0) // include "./load_work_new.php"; // 방문요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%방문요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_visit.php"; // 실측요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%실측요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_measure.php"; // 발주요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%발주요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_order.php"; // 결선요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%결선요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_cablework.php"; // 인정라벨부착요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%인정라벨부착요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_label.php"; // AS요청 $a = " where (is_deleted IS NULL or is_deleted = 0) and checkstep like '%AS요청%' "; $sql = "SELECT * FROM {$DB}.work " . $a; $stmh = $pdo->query($sql); // 검색조건에 맞는글 stmh $total_row = $stmh->rowCount(); if($total_row > 0) include "./load_request_as.php"; ?>

'; $imgpath = './img/goodwordgif/' . $rndimg . '.gif' ; $imgsize = getimagesize($imgpath); print '
'; ?>