Files
firstgarden-web-gnu/manager/annual_member/annual_member_list.php

365 lines
20 KiB
PHP

<?php
// annual_member.php 연간회원권
include_once "_common.php";
if (!isset($_SESSION['user_id'])) header( 'Location: FG_MANAGER_URL' ); // 로그인 되어있지 않으면 로그인 페이지로 보냄
include_once FG_MANAGER_PATH."/head.php";
// 언젠가는 DB에 저장할 수 있도록 해야함
$set_annual_status = array("정상", "검토대기", "만료");
$table = "{$fg['annual_member_table']} AS a LEFT JOIN {$fg['annual_category_table']} AS b ON a.ca_id = b.ca_id ";
// 검색 변수 초기화, 검색 관련
$search_word = isset($_REQUEST["search_word"]) ? $_REQUEST["search_word"] : ""; // 검색어
$search_cat = isset($_REQUEST["search_cat"]) ? $_REQUEST["search_cat"] : ""; // 카테고리
$search_sdate = isset($_REQUEST["search_sdate"]) ? $_REQUEST["search_sdate"] : "";
$search_edate = isset($_REQUEST["search_edate"]) ? $_REQUEST["search_edate"] : "";
$search = $where = $search_count = "";
if ($search_word) $search .= " (a.name LIKE '%$search_word%' OR a.tel LIKE '%$search_word%' OR a.mem_no LIKE '%$search_word%') ";
if ($search_cat) {
if ($search_word) $search .= "AND";
$search .= " a.ca_id = $search_cat";
}
if ($search_sdate) {
if ($search_word || $search_cat) $search .= "AND";
$search .= " exp_sdate >= $search_sdate";
}
if ($search_edate) {
if ($search_word || $search_cat || $search_edate) $search .= "AND";
$search .= " exp_edate =< $search_edate";
}
if ($search) {
$where = "WHERE {$search}";
$search_count = get_num_rows($table, $where); // 검색 결과 수 구하기
}
// 검색 쿼리 만들기 끝
$record_count = get_num_rows($table); // 전체 갯수 구하기
$ord_by = "ORDER BY a.mem_no DESC "; // 시작일 기준 내림차순
$R = get_result($table, $ord_by, $query_limit, $where);
?>
<script>
document.getElementById('sdate').value = new Date().toISOString().substring(0, 10);
</script>
<style>
@media (max-width: 999px) {
.vip-member-list {
}
.no-mobile {
display: none;
}
}</style>
<!-- 검색폼 시작 -->
<div class="d-flex flex-column mb-3">
<p>검색은 구분/성명/연락처/회원번호로만 가능합니다.</p>
<form class="search" method="get" action="">
<div class="d-flex flex-row flex-wrap gap-2 mb-3">
<input type="radio" name="search_cat" id="search_cat_all" class="btn-check" value="" <?php if (empty($search_cat)) echo "checked" ?>>
<label class="btn btn-outline-primary" for="search_cat_all">전체</label>
<?php
$annual_group = getAnnualGroup();
foreach ($annual_group as $row) { // 회원구분 가져와서 뿌리기
?>
<input type="radio" name="search_cat" id="search_cat_<?=$row['ca_id']?>" class="btn-check" value="<?=$row['ca_id']?>" <?php if ($search_cat === $row['ca_id']) echo "checked" ?>>
<label class="btn btn-outline-primary" for="search_cat_<?=$row['ca_id']?>"><?=$row['ca_name']?></label>
<?php } ?>
</div>
<div class="input-group col-md-6">
<span class="input-group-text" id="search_word">회원검색</span>
<input type="text" name="search_word" class="form-control" id="search_word" aria-describedby="search_word" placeholder="검색어를 입력하세요" autofocus value="<?=$search_word ?>">
<button type="submit" class="btn btn-secondary">검색</button>
</div>
</form>
</div>
<!-- 검색폼 끝 -->
<div class="d-flex justify-content-between my-1">
<div>
<p>전체 회원 수 : <b><?=$record_count?></b> | 검색 회원 수 : <?=$search_count ? $search_count : $record_count?></p>
</div>
<div class="d-flex flex-row-reverse column-gap-2">
<form method="post" action="inc/annual_member_list_excel.php">
<button type="submit" class="btn btn-secondary" >엑셀저장</button>
</form>
<?php if($_SESSION['user_lv'] > "1"){ // 추가 권한 체크 ?>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#add_modal">추가</button>
<!-- 추가 버튼을 누르면 출력한다. -->
<div id="add_modal" class="modal fade">
<div class="modal-dialog" style="width:800px;">
<div class="modal-content">
<?php //class="signup" ?>
<form action="annual_member_list.update.php" method="POST" enctype="multipart/form-data" > <!-- 폼 이름을 알려줌 -->
<div class="modal-header">
<h4 class="modal-title">추가</h4>
</div>
<div class="modal-body text-left">
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="ca_id">구분</span>
<?php foreach($annual_group as $row){
if ($row['ca_used'] != 1) continue ?>
<input type="radio" class="btn-check" name="ca_id" id="ca_id_<?=$row['ca_id']?>" value="<?=$row['ca_id']?>" required>
<label class="btn btn-outline-info" for="ca_id_<?=$row['ca_id']?>"><?=$row['ca_name']?></label>
<?php } ?>
</div>
<input type="hidden" id="app_id" name="app_id" value="<?=$_SESSION['user_id']?>" required>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="mem_no">회원번호</span>
<input type="text" class="form-control" oninput="checkDupAnnuNo(this.value)" id="mem_no" name="mem_no" placeholder="카드 번호" value="" required>
</div>
<div class="input-group mb-1 checkdup">
<span id="duplicate-no-warning"></span>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="sdate">가입일</span>
<input type="date" class="form-control" name="sdate" id="sdate" max="9999-12-31" onchange="value_reload()" required>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="name">성명</span>
<input type="text" class="form-control" id="name" name="name" value="" required>
<input type="radio" class="btn-check" name="gender" id="gender_male" value="남" <?php if($gender ==="남") echo "checked" ?>>
<label class="btn btn-outline-primary" for="gender_male">남</label>
<input type="radio" class="btn-check" name="gender" id="gender_female" value="여" <?php if($gender ==="여") echo "checked" ?>>
<label class="btn btn-outline-primary" for="gender_female">여</label>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="tel">연락처</span>
<input type="text" class="form-control" oninput="checkDupAnnuTel(this.value)" name="tel" name="tel" maxlength="11" value="" required>
</div>
<div class="input-group mb-1 checkdup">
<span id="duplicate-tel-warning"></span>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="email">이메일</span>
<input type="text" class="form-control" name="email" id="email" value="" >
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="addr">주소</span>
<input type="text" class="form-control" name="addr" id="addr" value="" >
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="birth">생년월일</span>
<input type="date" class="form-control" name="birth" id="birth" max="9999-12-31" required>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="photofile">사진첨부</span>
<input type="file" class="form-control" name="photofile" id="photofile" >
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="memo">메모</span>
<textarea class="form-control" name="memo" id="memo"></textarea>
</div>
<div id="memo" class="form-text">
기타 메모 및 발급사유를 입력합니다.
</div>
</div>
<div class="modal-footer">
<button type="submit" id="add_submit" class="btn btn-primary">추가</button>
<button type="button" class="btn btn-default" data-bs-dismiss="modal">닫기</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<?php } // endif ?>
</div>
</div>
<div class="text-center">
<table class="table table-striped align-middle table-hover vip-member-list">
<thead>
<tr class="align-middle">
<th class="text-center">회원<br>번호</th>
<th class="text-center">상태</th>
<th class="text-center">성명</th>
<th class="text-center">연락처</th>
<th class="text-center no-mobile">생년월일</th>
<th class="text-center no-mobile">시작일</th>
<th class="text-center no-mobile">종료일</th>
<th class="text-center no-mobile">이용<br>횟수</th>
<th class="text-center no-mobile">최종<br>이용일</th>
<?php if($_SESSION['user_lv'] > "1"){ ?>
<th class="text-center">작업</th>
<?php } ?>
</tr>
</thead>
<tbody class="table-group-divider">
<?php foreach($R as $R) {?>
<tr>
<td class="text-center" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['mem_no']?></td>
<td class="text-center" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['status']?></td>
<td class="text-center" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['name']?></td>
<td class="text-center" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['tel']?></td>
<td class="text-center no-mobile" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['birth']?></td>
<td class="text-center no-mobile" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['sdate']?></td>
<td class="text-center no-mobile" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['edate']?></td>
<td class="text-center no-mobile" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><?=$R['ent_count']?></td>
<td class="text-center no-mobile">
<?php
$edate = $R['last_ent_date'];
echo ($edate == '0000-00-00 00:00:00') ? '미이용' : date('Y-m-d',strtotime($edate));
?></td>
<td class="text-center d-flex justify-content-center flex-wrap gap-1">
<?php
// 입장처리 버튼
if ($R['status'] == '정상' || $R['status'] == '검토대기') {
echo '<a class="btn btn-danger btn-xs" href="javascript:entMem(' . $R['mem_no'] . ')" role="button"><i class="fas fa-sign-in-alt"></i></a>';
} else {
echo '<i class="fas fa-times"></i>';
} // 입장처리 버튼 끝
// 수정
if($_SESSION['user_lv'] > "1") { // 권한이 있는 사용자에게만 수정 페이지를 보여줌
?>
<!-- 수정 버튼 -->
<button type="button" class="btn btn-success" data-bs-toggle="modal" data-bs-target="#modify_modal_<?=$R['mem_no']?>"><i class="fa-solid fa-pen-to-square"></i></button>
<!-- 수정 모달 -->
<div id="modify_modal_<?=$R['mem_no']?>" class="modal fade" tabindex="-1" aria-labelledby="modify_modal_<?=$R['mem_no']?>" aria-hidden="true">
<div class="modal-dialog modal modal-dialog-centered">
<div class="modal-content">
<form action="annual_member_list.modify.php" id="modify_<?=$R['mem_no']?>" method="POST" enctype="multipart/form-data" > <!-- 폼 이름을 알려줌 -->
<!--<form class="modify" id="modify_<?=$R['mem_no']?>">-->
<div class="modal-header">
<h5 class="modal-title">정보 보기/수정</h5>
</div>
<div class="modal-body text-start">
<div class="row mb-2">
<img class="img-fluid col-md-5" src="<?=$R['photo_url']?>" >
<div class="col-md-7">
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="rep_name_<?=$R['mem_no']?>">대표자명</span>
<input type="text" class="form-control" id="rep_name_<?=$R['mem_no']?>" name="rep_name" value="<?=$R['rep_name'] ?>" readonly>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="mem_no_<?=$R['mem_no']?>">회원번호</span>
<input type="text" class="form-control" id="mem_no_<?=$R['mem_no']?>" name="mem_no" value="<?=$R['mem_no'] ?>" readonly>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="ca_id_<?=$R['mem_no']?>">권종구분</span>
<?php
foreach($annual_group as $row){
if ($row['ca_used'] != 1) continue ?>
<input type="radio" class="btn-check" name="ca_id" id="ca_id_<?=$R['mem_no']?>_<?=$row['ca_id']?>" value="<?=$row['ca_id']?>" <?php if( $R['ca_id'] == $row['ca_id'] ) echo "checked" ?> required>
<label class="btn btn-outline-info" for="ca_id_<?=$R['mem_no']?>_<?=$row['ca_id']?>"><?=$row['ca_name']?></label>
<?php } ?>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="status_<?=$R['mem_no']?>">상태</span>
<select class="form-select" id="status_<?=$R['mem_no']?>" name="status">
<option vaule="<?=$R['status']?>"><?=$R['status']?></option>
<?php
foreach( $set_annual_status as $row ) {
if ( $R['status'] == $row ) continue;
?>
<option vaule="<?=$row?>"><?=$row?></option>
<?php } ?>
</select>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="sdate_<?=$R['mem_no']?>">시작일</span>
<input type="text" class="form-control" id="sdate_<?=$R['mem_no']?>" name="sdate" value="<?=$R['sdate'] ?>" >
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-5" id="edate_<?=$R['mem_no']?>">종료일</span>
<input type="text" class="form-control" id="edate_<?=$R['mem_no']?>" name="edate" value="<?=$R['edate']?>" readonly>
</div>
</div>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="name_<?=$R['mem_no']?>">성명</span>
<input type="text" class="form-control" id="name_<?=$R['mem_no']?>" name="name" value="<?=$R['name']?>" required <?=$ro?>>
<input type="radio" class="btn-check" name="gender" id="gender_<?=$R['mem_no']?>_male" value="남" <?php if($R['gender'] == "남") echo "checked" ?> required>
<label class="btn btn-outline-primary" for="gender_<?=$R['mem_no']?>_male">남</label>
<input type="radio" class="btn-check" name="gender" id="gender_<?=$R['mem_no']?>_female" value="여" <?php if($R['gender'] =="여") echo "checked" ?> required>
<label class="btn btn-outline-primary" for="gender_<?=$R['mem_no']?>_female">여</label>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="tel_<?=$R['mem_no']?>">연락처</span>
<input type="text" onkeydown='return onlyNumber(event)' onkeyup='removeChar(event)' class="form-control" id="tel_<?=$R['mem_no']?>" name="tel" value="<?=$R['tel'] ?>" required <?=$ro?>>
<span class="input-group-text col-md-2" id="birth_<?=$R['mem_no']?>">생일</span>
<input type="date" class="form-control" id="birth_<?=$R['mem_no']?>" name="birth" value="<?=$R['birth']?>" <?=$ro?>>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="email_<?=$R['mem_no']?>">E-Mail</span>
<input type="text" class="form-control" id="email_<?=$R['mem_no']?>" name="email" value="<?=$R['email'] ?>" <?=$ro?>>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="addr_<?=$R['mem_no']?>">주소</span>
<input type="text" class="form-control" id="addr_<?=$R['mem_no']?>" name="addr" value="<?=$R['addr']?>" <?=$ro?>>
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-3" id="photofile">사진첨부(변경시에만 입력)</span>
<input type="file" class="form-control" name="photofile" id="photofile" >
</div>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="memo_<?=$R['mem_no']?>">메모</span>
<textarea class="form-control" id="memo_<?=$R['mem_no']?>" name="memo" <?=$ro?>><?=$R['memo']?></textarea>
</div>
<?php if($R['last_edit_id']) { ?>
<div class="input-group mb-1">
<span class="input-group-text col-md-2" id="last_edit_date_<?=$R['mem_no']?>">수정일</span>
<input type="text" class="form-control" id="last_edit_date_<?=$R['mem_no']?>" name="last_edit_date" value="<?=$R['last_edit_date'] ?>" disabled>
<span class="input-group-text col-md-2" id="last_edit_id_<?=$R['mem_no']?>">수정</span>
<input type="text" class="form-control" id="last_edit_id_<?=$R['mem_no']?>" name="last_edit_id" value="<?=$R['last_edit_id'] ?>" disabled>
</div>
<?php } ?>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">수정</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close" data-bs-target="#modify_modal_<?=$R['mem_no']?>">닫기</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 수정 모달 끝 -->
<?php } // end if
// 폐기, 재발급
if( $_SESSION['user_lv'] === "4" ) { // 폐기나 재발급은 관리자만
// 재발급
if ( $R['status'] === "정상" ) { // 정상인 경우에만 출력 ?>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#renew_modal_<?=$R['mem_no']?>"><i class="fa-solid fa-repeat"></i></button>
<!-- 재발급 모달 -->
<div id="renew_modal_<?=$R['mem_no']?>" class="modal fade text-center ">
<div class="modal-dialog">
<div class="modal-content">
<form class="renew" id="renew_<?=$R['mem_no']?>">
<input type="hidden" id="mem_no_<?=$R['mem_no']?>" name="mem_no" value="<?=$R['mem_no']?>" readonly>
<input type="hidden" id="last_edit_id_<?=$R['mem_no']?>" name="last_edit_id" value="<?=$_SESSION['user_name']?>" readonly>
<div class="modal-header">
<h5 class="modal-title">재발급</h4>
</div>
<div class="modal-body text-start">
<div class="input-group">
<span class="input-group-text col-md-4" id="re_no_<?=$R['mem_no']?>">재발급 카드번호</span>
<input type="number" class="form-control" oninput="checkDupRc(this.value)" id="rc_no_<?=$R['mem_no']?>" name="rc_no" maxlength="6" value="" required>
</div>
<div class="input-group checkdup">
<span id="duplicate-rc-warning"></span>
</div>
</div>
<div class="modal-footer">
<button type="submit" id="renew_submit" class="btn btn-primary">확인</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal" aria-label="Close" data-bs-target="#renew_modal_<?=$R['mem_no']?>">닫기</button>
</div>
</form>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div>
<!-- 재발급 모달 끝 -->
<?php } // end if ?>
<!-- 삭제 버튼 -->
<a class="btn btn-danger" href="javascript:deleteItem('<?=$R['mem_no']?>')" role="button"><?=($R['status'] == '정상')? '<i class="fa-solid fa-trash-can"></i>' : '<i class="fa-solid fa-trash-can-arrow-up"></i>'?></a>
<?php } // end if ?>
</td>
</tr>
<? } // end foreach ?>
</tbody>
</table>
</div>
<?php include_once FG_MANAGER_PATH."/tail.php";