Merge branch 'master' of github.com:gnuboard/yc5

This commit is contained in:
chicpro
2013-10-07 10:26:02 +09:00
7 changed files with 282 additions and 33 deletions

View File

@ -2,6 +2,8 @@
$sub_menu = '400400';
include_once('./_common.php');
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php');
auth_check($auth[$sub_menu], "r");
$g5['title'] = '주문내역';
@ -23,27 +25,53 @@ if ($search != "") {
if ($od_status) {
$where[] = " od_status = '$od_status' ";
switch ($od_status) {
case G5_OD_STATUS_ORDER : // 입금확인중
case '주문' :
$sort1 = "od_id";
$sort2 = "desc";
break;
case G5_OD_STATUS_SETTLE : // 결제완료
case '입금' : // 결제완료
$sort1 = "od_receipt_time";
$sort2 = "desc";
break;
case G5_OD_STATUS_READY : // 배송준비
$sort1 = "od_receipt_time";
$sort2 = "desc";
break;
case G5_OD_STATUS_DELIVERY : // 배송중
case '배송' : // 배송중
$sort1 = "od_invoice_time";
$sort2 = "desc";
break;
}
}
if ($od_status) {
$where[] = " od_status = '$od_status' ";
}
if ($od_settle_case) {
$where[] = " od_settle_case = '$od_settle_case' ";
}
if ($od_misu) {
$where[] = " od_misu != 0 ";
}
if ($od_cancel_price) {
$where[] = " od_cancel_price != 0 ";
}
if ($od_refund_price) {
$where[] = " od_refund_price != 0 ";
}
if ($od_receipt_point) {
$where[] = " od_receipt_point != 0 ";
}
if ($od_coupon) {
$where[] = " od_coupon != 0 ";
}
if ($fr_date && $to_date) {
$where[] = " od_time between '$fr_date 00:00:00' and '$to_date 23:59:59' ";
}
if ($where) {
$sql_search = ' where '.implode(' and ', $where);
}
@ -73,8 +101,10 @@ $result = sql_query($sql);
$qstr1 = "sel_field=$sel_field&search=$search&save_search=$search";
$qstr = "$qstr1&sort1=$sort1&sort2=$sort2&page=$page";
/*
$listall = '';
if ($search) // 검색렬일 때만 처음 버튼을 보여줌
*/
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">전체목록</a>';
?>
<style>
@ -133,24 +163,82 @@ if ($search) // 검색렬일 때만 처음 버튼을 보여줌
<li><a href="<?php echo title_sort("od_misu", 1)."&amp;$qstr1"; ?>">미수금<span class="sound_only"> 순 정렬</span></a></li>
</ul>
주문상태 :
<ul id="sort_sodr" class="sort_odr">
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=<?php echo G5_OD_STATUS_ORDER; ?>"><?php echo G5_OD_STATUS_ORDER; ?></a></li>
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=<?php echo G5_OD_STATUS_SETTLE; ?>"><?php echo G5_OD_STATUS_SETTLE; ?></a></li>
<ul id="sort_sodr" class="sort_odr" style="display:none;">
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=주문">주문</a></li>
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=입금">입금</a></li>
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=배송">배송</a></li>
<li><a href="<?php $_SERVER['PHP_SELF']; ?>?od_status=완료">완료</a></li>
</ul>
<form>
<div>
주문상태 :
<label><input type="radio" name="od_status" value="" <?php echo get_checked($od_status, ''); ?>> 전체</label>
<label><input type="radio" name="od_status" value="주문" <?php echo get_checked($od_status, '주문'); ?>> 주문</label>
<label><input type="radio" name="od_status" value="입금" <?php echo get_checked($od_status, '입금'); ?>> 입금</label>
<label><input type="radio" name="od_status" value="배송" <?php echo get_checked($od_status, '배송'); ?>> 배송</label>
<label><input type="radio" name="od_status" value="완료" <?php echo get_checked($od_status, '완료'); ?>> 완료</label>
<!-- <select id="od_status" name="od_status">
<option value="">전체</option>
<option value="주문" <?php echo get_selected($od_status, '주문'); ?>>주문</option>
<option value="입금" <?php echo get_selected($od_status, '입금'); ?>>입금</option>
<option value="배송" <?php echo get_selected($od_status, '배송'); ?>>배송</option>
<option value="완료" <?php echo get_selected($od_status, '완료'); ?>>완료</option>
</select> -->
<div>
<div>
결제수단 :
<label><input type="radio" name="od_settle_case" value="" <?php echo get_checked($od_settle_case, ''); ?>> 전체</label>
<label><input type="radio" name="od_settle_case" value="무통장" <?php echo get_checked($od_settle_case, '무통장'); ?>> 무통장</label>
<label><input type="radio" name="od_settle_case" value="가상계좌" <?php echo get_checked($od_settle_case, '가상계좌'); ?>> 가상계좌</label>
<label><input type="radio" name="od_settle_case" value="계좌이체" <?php echo get_checked($od_settle_case, '계좌이체'); ?>> 계좌이체</label>
<label><input type="radio" name="od_settle_case" value="휴대폰" <?php echo get_checked($od_settle_case, '휴대폰'); ?>> 휴대폰</label>
<label><input type="radio" name="od_settle_case" value="신용카드" <?php echo get_checked($od_settle_case, '신용카드'); ?>> 신용카드</label>
<div>
<div>
기타선택 :
<label><input type="checkbox" name="od_misu" value="Y" <?php echo get_checked($od_misu, 'Y'); ?>> 미수금</label>
<label><input type="checkbox" name="od_cancel_price" value="Y" <?php echo get_checked($od_cancel_price, 'Y'); ?>> 취소,반품,품절</label>
<label><input type="checkbox" name="od_refund_price" value="Y" <?php echo get_checked($od_refund_price, 'Y'); ?>> 환불</label>
<label><input type="checkbox" name="od_receipt_point" value="Y" <?php echo get_checked($od_receipt_point, 'Y'); ?>> 포인트주문</label>
<label><input type="checkbox" name="od_coupon" value="Y" <?php echo get_checked($od_coupon, 'Y'); ?>> 쿠폰</label>
<div>
<div>
주문일자 : <input type="text" id="fr_date" name="fr_date" value="<?php echo $fr_date; ?>" size="10" maxlength="10"> ~
<input type="text" id="to_date" name="to_date" value="<?php echo $to_date; ?>" size="10" maxlength="10">
<a href="javascript:set_date('오늘');">오늘</a>
<a href="javascript:set_date('어제');">어제</a>
<a href="javascript:set_date('이번주');">이번주</a>
<a href="javascript:set_date('이번달');">이번달</a>
<a href="javascript:set_date('지난주');">지난주</a>
<a href="javascript:set_date('지난달');">지난달</a>
<a href="javascript:set_date('전체');">전체</a>
<input type="submit" value="검색">
</div>
</form>
<form name="forderlist" id="forderlist" action="./orderlistupdate.php" onsubmit="return forderlist_submit(this);" method="post">
<table id="sodr_list">
<thead>
<tr>
<th scope="col">
<label for="chkall" class="sound_only">주문 전체</label>
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th>
<th scope="col">주문번호<br>주문일시</th>
<th scope="col">주문자<br>회원ID</th>
<th scope="col">건수</th>
<th scope="col">주문상태</th>
<th scope="col">결제수단</th>
<th scope="col">주문합계</th>
<th scope="col">입금합계</th>
<th scope="col">주문취소</th>
<th scope="col">쿠폰</th>
<th scope="col">미수금</th>
<th scope="col">결제수단</th>
<th scope="col">건수</th>
<th scope="col">관리</th>
</tr>
</thead>
@ -192,6 +280,11 @@ if ($search) // 검색렬일 때만 처음 버튼을 보여줌
$uid = md5($row['od_id'].$row['od_time'].$row['od_ip']);
?>
<tr class="orderlist">
<td>
<input type="hidden" name="od_id[<?php echo $i ?>]" value="<?php echo $row['od_id'] ?>" id="od_id_<?php echo $i ?>">
<label for="chk_<?php echo $i; ?>" class="sound_only">주문번호 <?php echo $row['od_id']; ?></label>
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td>
<td class="td_odrnum2">
<?php echo $od_mobile; ?>
<a href="<?php echo G5_SHOP_URL; ?>/orderinquiryview.php?od_id=<?php echo $row['od_id']; ?>&amp;uid=<?php echo $uid; ?>">
@ -205,13 +298,16 @@ if ($search) // 검색렬일 때만 처음 버튼을 보여줌
<?php echo $row['mb_id']; ?>
</a>
</td>
<td class="td_sodr_cnt"><b><?php echo $row['od_cart_count']; ?></b>건<?php if($od_cnt) { ?><br>누적 <?php echo $od_cnt; ?>건<?php } ?></td>
<td class="td_odrstatus">
<?php echo $row['od_status']; ?>
</td>
<td><?php echo $s_receipt_way; ?></td>
<td class="td_sodr_sum"><?php echo number_format($row['od_cart_price'] + $row['od_send_cost'] + $row['od_send_cost2']); ?></td>
<td><?php echo number_format($row['od_receipt_price']); ?></td>
<td><?php echo number_format($row['od_cancel_price']); ?></td>
<td class="td_sodr_sum"><?php echo number_format($row['couponprice']); ?></td>
<td class="td_sodr_nonpay"><?php echo number_format($row['od_misu']); ?></td>
<td><?php echo $s_receipt_way; ?></td>
<td class="td_sodr_cnt"><b><?php echo $row['od_cart_count']; ?></b>건<?php if($od_cnt) { ?><br>누적 <?php echo $od_cnt; ?>건<?php } ?></td>
<td class="td_mng">
<a href="./orderform.php?od_id=<?php echo $row['od_id']; ?>&amp;<?php echo $qstr; ?>"><span class="sound_only"><?php echo $row['od_id']; ?> </span>수정</a>
<a href="./orderdelete.php?od_id=<?php echo $row['od_id']; ?>&amp;mb_id=<?php echo $row['mb_id']; ?>&amp;<?php echo $qstr; ?>" onclick="return delete_confirm();"><span class="sound_only"><?php echo $row['od_id']; ?> </span>삭제</a>
@ -232,21 +328,97 @@ if ($search) // 검색렬일 때만 처음 버튼을 보여줌
</tbody>
<tfoot>
<tr class="orderlist">
<th scope="row" colspan="2">합 계</td>
<td><?php echo (int)$tot_itemcount; ?>건</td>
<th scope="row" colspan="5">합 계</td>
<td><?php echo number_format($tot_orderprice); ?></td>
<td><?php echo number_format($tot_receiptprice); ?></td>
<td><?php echo number_format($tot_ordercancel); ?></td>
<td><?php echo number_format($tot_couponprice); ?></td>
<td><?php echo number_format($tot_misu); ?></td>
<td colspan="2"></td>
<td><?php echo (int)$tot_itemcount; ?>건</td>
<td></td>
</tr>
</tfoot>
</table>
변경하실 주문상태 :
<select name="od_status">
<option value="">선택하세요</option>
<option value="주문">주문</option>
<option value="입금">입금</option>
<option value="배송">배송</option>
<option value="완료">완료</option>
</select>
<input type="submit" value="선택수정" onclick="document.pressed=this.value">
<p>"무통장"인 경우에만 "주문"에서 "입금"으로 변경됩니다. 가상계좌는 입금시 자동으로 "입금" 처리됩니다.</p>
</form>
</section>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['PHP_SELF']}?$qstr&amp;page="); ?>
<script>
$(function(){
$("#fr_date, #to_date").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" });
});
function set_date(today)
{
if (today == "오늘") {
document.getElementById("fr_date").value = "<?php echo G5_TIME_YMD; ?>";
document.getElementById("to_date").value = "<?php echo G5_TIME_YMD; ?>";
} else if (today == "어제") {
document.getElementById("fr_date").value = "<?php echo date('Y-m-d', G5_SERVER_TIME - 86400); ?>";
document.getElementById("to_date").value = "<?php echo date('Y-m-d', G5_SERVER_TIME - 86400); ?>";
} else if (today == "이번주") {
document.getElementById("fr_date").value = "<?php echo date('Y-m-d', strtotime('last Monday', G5_SERVER_TIME)); ?>";
document.getElementById("to_date").value = "<?php echo date('Y-m-d', G5_SERVER_TIME); ?>";
} else if (today == "이번달") {
document.getElementById("fr_date").value = "<?php echo date('Y-m-01', G5_SERVER_TIME); ?>";
document.getElementById("to_date").value = "<?php echo date('Y-m-d', G5_SERVER_TIME); ?>";
} else if (today == "지난주") {
document.getElementById("fr_date").value = "<?php echo date('Y-m-d', strtotime('last Monday', G5_SERVER_TIME - (86400 * 7))); ?>";
document.getElementById("to_date").value = "<?php echo date('Y-m-d', strtotime('last Sunday', G5_SERVER_TIME)); ?>";
} else if (today == "지난달") {
document.getElementById("fr_date").value = "<?php echo date('Y-m-01', strtotime('-1 Month', G5_SERVER_TIME)); ?>";
document.getElementById("to_date").value = "<?php echo date('Y-m-t', strtotime('-1 Month', G5_SERVER_TIME)); ?>";
} else if (today == "전체") {
document.getElementById("fr_date").value = "";
document.getElementById("to_date").value = "";
}
}
</script>
<script>
function forderlist_submit(f)
{
if (!is_checked("chk[]")) {
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");
return false;
}
switch (f.od_status.value) {
case "" :
alert("변경하실 주문상태를 선택하세요.");
return false;
case '주문' :
default :
}
if(document.pressed == "선택삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false;
}
}
return true;
}
</script>
<?php
include_once (G5_ADMIN_PATH.'/admin.tail.php');
?>

View File

@ -0,0 +1,47 @@
<?php
$sub_menu = '400400';
include_once('./_common.php');
// 주문상태변경 처리
function change_order_status($od_status1, $od_status2, $od)
{
global $g5;
// 원래 주문상태와 바뀔 주문상태가 같다면 처리하지 않음
if ($od_status1 == $od_status2) return '';
$od_id = $od['od_id'];
if ($od_status1 == '주문') {
if ($od_status2 == '입금') {
if ($od['od_settle_case'] != '무통장') return '';
$sql = " update {$g5['g5_shop_order_table']}
set od_status = '입금',
od_receipt_price = od_misu,
od_misu = 0
where od_id = '$od_id' ";
sql_query($sql, true);
/*
$sql = " update {$g5['g5_shop_cart_table']} set ct_status = '결제완료' where od_id = '$od_id' and ct_status not in ('취소', '반품', '품절') ";
sql_query($sql);
*/
}
}
}
print_r2($_POST);
for ($i=0; $i<count($_POST['chk']); $i++)
{
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
$od_id = $_POST['od_id'][$k];
$od = sql_fetch(" select * from {$g5['g5_shop_order_table']} where od_id = '$od_id' ");
change_order_status($od['od_status'], $_POST['od_status'], $od);
echo $od_id . "<br>";
}

View File

@ -40,12 +40,40 @@ define('G5_SHOP_SKIN_URL', G5_URL .'/'.G5_SKIN_DIR.'/shop/'.$default['de_shop_
define('G5_MSHOP_SKIN_PATH', G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/shop/'.$default['de_shop_mobile_skin']);
define('G5_MSHOP_SKIN_URL', G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/shop/'.$default['de_shop_mobile_skin']);
/*
// 주문상태 상수
define('G5_OD_STATUS_ORDER' , '입금확인중');
define('G5_OD_STATUS_SETTLE' , '결제완료');
define('G5_OD_STATUS_READY' , '배송준비중');
define('G5_OD_STATUS_DELIVERY' , '배송중');
define('G5_OD_STATUS_FINISH' , '배송완료');
*/
/*
# 주문상태는 상수로 처리하지 않고 실제 문자열 값을 처리한다.
'쇼핑' : 고객이 장바구니에 상품을 담고 있는 경우 입니다.
'입금확인중' : 무통장, 가상계좌의 경우 결제하기 전을 말합니다.
'결제완료' : 결제가 완료된 상태를 말합니다.
'배송준비중' : 배송준비중이 되면 취소가 불가합니다.
'배송중' : 배송중이면 반품이 불가합니다.
'배송완료' : 배송이 완료된 상태에서만 포인트적립이 가능합니다.
'취소' : 입금확인중이나 결제완료후 취소가 가능합니다.
'반품' : 배송완료 후에만 반품처리가 가능합니다.
'품절' :
# 13.10.04
'쇼핑' : 고객이 장바구니에 상품을 담고 있는 경우 입니다.
'주문' : 무통장, 가상계좌의 경우 결제하기 전을 말합니다.
'입금' : 신용카드, 계좌이체, 휴대폰결제가 된 상태, 무통장, 가상계좌는 주문후 입금한 상태를 말합니다.
'배송' : 배송이 되면 취소가 불가합니다.
'완료' : 배송이 완료된 상태에서만 포인트적립이 가능합니다.
'취소' : 입금이후로는 고객의 취소가 불가합니다.
'반품' : 배송완료 후에만 반품처리가 가능합니다.
'품절' : 주문이나 입금후 상품의 품절된 상태를 나타냅니다.
*/
//==============================================================================
// 쇼핑몰 필수 실행코드 모음 끝

View File

@ -274,7 +274,7 @@ if ($od_settle_case == "무통장")
$od_receipt_point = $i_temp_point;
$od_receipt_price = 0;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_ORDER;
$od_status = '주문';
}
else if ($od_settle_case == "계좌이체")
{
@ -290,7 +290,7 @@ else if ($od_settle_case == "계좌이체")
$od_bank_account = $bank_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else if ($od_settle_case == "가상계좌")
{
@ -305,7 +305,7 @@ else if ($od_settle_case == "가상계좌")
$od_deposit_name = $od_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_ORDER;
$od_status = '주문';
}
else if ($od_settle_case == "휴대폰")
{
@ -318,7 +318,7 @@ else if ($od_settle_case == "휴대폰")
$od_bank_account = $commid.' '.$mobile_no;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else if ($od_settle_case == "신용카드")
{
@ -333,7 +333,7 @@ else if ($od_settle_case == "신용카드")
$od_bank_account = $card_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else
{

View File

@ -269,7 +269,7 @@ if ($od_settle_case == "무통장")
$od_receipt_point = $i_temp_point;
$od_receipt_price = 0;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_ORDER;
$od_status = '주문';
}
else if ($od_settle_case == "계좌이체")
{
@ -285,7 +285,7 @@ else if ($od_settle_case == "계좌이체")
$od_bank_account = $bank_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else if ($od_settle_case == "가상계좌")
{
@ -300,7 +300,7 @@ else if ($od_settle_case == "가상계좌")
$od_deposit_name = $depositor;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_ORDER;
$od_status = '주문';
}
else if ($od_settle_case == "휴대폰")
{
@ -313,7 +313,7 @@ else if ($od_settle_case == "휴대폰")
$od_bank_account = $commid.' '.$mobile_no;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else if ($od_settle_case == "신용카드")
{
@ -328,7 +328,7 @@ else if ($od_settle_case == "신용카드")
$od_bank_account = $card_name;
$pg_price = $amount;
$od_misu = $i_price - $od_receipt_price;
$od_status = G5_OD_STATUS_SETTLE;
$od_status = '입금';
}
else
{

View File

@ -46,12 +46,14 @@ if(openwin != null) {
<dl id="sod_fin_legend">
<dt>주문</dt>
<dd>주문이 접수되었습니다.</dd>
<dt>입금</dt>
<dd>입금(결제)이 완료 되었습니다.</dd>
<dt>준비</dt>
<dd>상품 준비 중입니다.</dd>
<dt>배송</dt>
<dd>상품 배송 중입니다.</dd>
<dt>완료</dt>
<dd>상품 배송이 완료되었습니다.</dd>
<dd>상품 배송이 완료 되었습니다.</dd>
</dl>
<?php
$st_count1 = $st_count2 = 0;

View File

@ -159,7 +159,7 @@ if(!$default['de_card_test']) {
$sql = " update {$g5['g5_shop_order_table']}
set od_receipt_price = od_receipt_price + '$ipgm_mnyx',
od_receipt_time = '$tx_tm',
od_status = '".G5_OD_STATUS_SETTLE."',
od_status = '입금',
od_shop_memo = concat(od_shop_memo, \"\\n개인결제 ".$row['pp_id']." 로 결제완료 - ".$receipt_time."\")
where od_id = '{$row['od_id']}' ";
sql_query($sql, FALSE);
@ -169,7 +169,7 @@ if(!$default['de_card_test']) {
$sql = " update {$g5['g5_shop_order_table']}
set od_receipt_price = '$ipgm_mnyx',
od_receipt_time = '$tx_tm',
od_status = '".G5_OD_STATUS_SETTLE."'
od_status = '입금'
where od_id = '$order_no'
and od_tno = '$tno' ";
sql_query($sql, FALSE);