상품옵션재고관리 페이지 추가

This commit is contained in:
chicpro
2013-05-28 18:22:12 +09:00
parent 72de24c44b
commit 9806185507
4 changed files with 244 additions and 8 deletions

View File

@ -13,6 +13,7 @@ $menu['menu400'] = array (
array('400650', '사용후기', G4_ADMIN_URL.'/shop_admin/itempslist.php', 'scf_ps'),
array('400620', '상품재고관리', G4_ADMIN_URL.'/shop_admin/itemstocklist.php', 'scf_item_stock'),
array('400610', '상품유형관리', G4_ADMIN_URL.'/shop_admin/itemtypelist.php', 'scf_item_type'),
array('400500', '상품옵션재고관리', G4_ADMIN_URL.'/shop_admin/optionstocklist.php', 'scf_item_option'),
array('400500', '배송일괄처리', G4_ADMIN_URL.'/shop_admin/deliverylist.php', 'scf_deli', 1),
array('400740', '배송업체관리', G4_ADMIN_URL.'/shop_admin/deliverycodelist.php', 'scf_deli_co', 1),
array('400630', '이벤트관리', G4_ADMIN_URL.'/shop_admin/itemevent.php', 'scf_event'),

View File

@ -131,13 +131,19 @@ if ($search) // 검색 결과일 때만 처음 버튼을 보여줌
{
$href = G4_SHOP_URL."/item.php?it_id={$row['it_id']}";
$sql1 = " select SUM(ct_qty) as sum_qty
from {$g4['shop_cart_table']}
where it_id = '{$row['it_id']}'
and ct_stock_use = '0'
and ct_status in ('주문', '준비') ";
$row1 = sql_fetch($sql1);
$wait_qty = $row1['sum_qty'];
// 선택옵션이 있을 경우 주문대기 수량 계산하지 않음
$sql2 = " select count(*) as cnt from {$g4['shop_item_option_table']} where it_id = '{$row['it_id']}' and io_type = '0' and io_use = '1' ";
$row2 = sql_fetch($sql2);
if(!$row2['cnt']) {
$sql1 = " select SUM(ct_qty) as sum_qty
from {$g4['shop_cart_table']}
where it_id = '{$row['it_id']}'
and ct_stock_use = '0'
and ct_status in ('주문', '준비') ";
$row1 = sql_fetch($sql1);
$wait_qty = $row1['sum_qty'];
}
// 가재고 (미래재고)
$temporary_qty = $row['it_stock_qty'] - $wait_qty;
@ -154,7 +160,7 @@ if ($search) // 검색 결과일 때만 처음 버튼을 보여줌
<td class="td_num"><?php echo number_format($temporary_qty); ?></td>
<td class="td_num"><input type="text" name="it_stock_qty[<?php echo $i; ?>]" value="<?php echo $row['it_stock_qty']; ?>" class="frm_input" size="10" autocomplete="off"></td>
<td class="td_chk"><input type="checkbox" name="it_use[<?php echo $i; ?>]" value="1" <?php echo ($row['it_use'] ? "checked" : ""); ?>></td>
<td class="td_smallmng"><a href="./itemform.php?w=u&amp;it_id=<?php echo $row['it_id']; ?>&amp;ca_id=<?php echo $row['ca_id']; ?>&amp;$qstr">수정</a></td>
<td class="td_smallmng"><a href="./itemform.php?w=u&amp;it_id=<?php echo $row['it_id']; ?>&amp;ca_id=<?php echo $row['ca_id']; ?>&amp;<?php echo $qstr; ?>">수정</a></td>
</tr><tr>
<?php
}

View File

@ -0,0 +1,207 @@
<?php
$sub_menu = '400500';
include_once('./_common.php');
auth_check($auth[$sub_menu], "r");
$g4['title'] = '상품옵션재고관리';
include_once (G4_ADMIN_PATH.'/admin.head.php');
$sql_search = " where 1 ";
if ($search != "") {
if ($sel_field != "") {
$sql_search .= " and $sel_field like '%$search%' ";
}
}
if ($sel_ca_id != "") {
$sql_search .= " and b.ca_id like '$sel_ca_id%' ";
}
if ($sel_field == "") $sel_field = "b.it_name";
if ($sort1 == "") $sort1 = "a.io_stock_qty";
if ($sort2 == "") $sort2 = "asc";
$sql_common = " from {$g4['shop_item_option_table']} a left join {$g4['shop_item_table']} b on ( a.it_id = b.it_id ) ";
$sql_common .= $sql_search;
// 테이블의 전체 레코드수만 얻음
$sql = " select count(*) as cnt " . $sql_common;
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select a.it_id,
a.io_id,
a.io_type,
a.io_stock_qty,
a.io_noti_qty,
a.io_use,
b.it_name,
b.it_option_subject
$sql_common
order by $sort1 $sort2
limit $from_record, $rows ";
$result = sql_query($sql);
$qstr1 = 'sel_ca_id='.$sel_ca_id.'&amp;sel_field='.$sel_field.'&amp;search='.$search;
$qstr = $qstr1.'&amp;sort1='.$sort1.'&amp;sort2='.$sort2.'&amp;page='.$page;
$listall = '';
if ($search) // 검색 결과일 때만 처음 버튼을 보여줌
$listall = '<a href="'.$_SERVER['PHP_SELF'].'">전체목록</a>';
?>
<form name="flist">
<input type="hidden" name="doc" value="<?php echo $doc; ?>">
<input type="hidden" name="sort1" value="<?php echo $sort1; ?>">
<input type="hidden" name="sort2" value="<?php echo $sort2; ?>">
<input type="hidden" name="page" value="<?php echo $page; ?>">
<fieldset>
<legend>상품재고 검색</legend>
<span>
<?php echo $listall; ?>
전체 상품 <?php echo $total_count; ?>개
</span>
<?php // ##### // 웹 접근성 취약 지점 시작 - 지운아빠 2013-04-15 ?>
<label for="sel_ca_id" class="sound_only">분류선택</label>
<select name="sel_ca_id" id="sel_ca_id">
<option value=''>전체분류</option>
<?php
$sql1 = " select ca_id, ca_name from {$g4['shop_category_table']} order by ca_id ";
$result1 = sql_query($sql1);
for ($i=0; $row1=mysql_fetch_array($result1); $i++) {
$len = strlen($row1['ca_id']) / 2 - 1;
$nbsp = "";
for ($i=0; $i<$len; $i++) $nbsp .= "&nbsp;&nbsp;&nbsp;";
echo '<option value="'.$row1['ca_id'].'" '.get_selected($sel_ca_id, $row1['ca_id']).'>'.$nbsp.$row1['ca_name'].'</option>'.PHP_EOL;
}
?>
</select>
<?php // ##### // 웹 접근성 취약 지점 끝 ?>
<label for="sel_field" class="sound_only">검색대상</label>
<select name="sel_field" id="sel_field">
<option value="it_name" <?php echo get_selected($sel_field, 'b.it_name'); ?>>상품명</option>
<option value="it_id" <?php echo get_selected($sel_field, 'a.it_id'); ?>>상품코드</option>
</select>
<label for="search" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="search" value="<?php echo $search; ?>" required class="frm_input required">
<input type="submit" value="검색" class="btn_submit">
</fieldset>
</form>
<section class="cbox">
<h2>상품옵션재고 목록</h2>
<p>재고수정의 수치를 수정하시면 창고재고의 수치가 변경됩니다.</p>
<div id="btn_add">
<a href="./itemsellrank.php" class="btn_add_optional">상품판매순위</a>
</div>
<form name="fitemstocklist" action="./optionstocklistupdate.php" method="post">
<input type="hidden" name="sort1" value="<?php echo $sort1; ?>">
<input type="hidden" name="sort2" value="<?php echo $sort2; ?>">
<input type="hidden" name="sel_ca_id" value="<?php echo $sel_ca_id; ?>">
<input type="hidden" name="sel_field" value="<?php echo $sel_field; ?>">
<input type="hidden" name="search" value="<?php echo $search; ?>">
<input type="hidden" name="page" value="<?php echo $page; ?>">
<table class="frm_basic">
<thead>
<tr>
<th scope="col"><a href="<?php echo title_sort("b.it_name") . "&amp;$qstr1"; ?>">상품명<span class="sound_only"> 순 정렬</span></a></th>
<th scope="col">옵션항목</th>
<th scope="col">옵션타입</th>
<th scope="col"><a href="<?php echo title_sort("a.io_stock_qty") . "&amp;$qstr1"; ?>">창고재고<span class="sound_only"> 순 정렬</span></a></th>
<th scope="col">주문대기</th>
<th scope="col">가재고</th>
<th scope="col">재고수정</th>
<th scope="col"><a href="<?php echo title_sort("a.io_use") . "&amp;$qstr1"; ?>">판매<span class="sound_only"> 순 정렬</span></a></th>
<th scope="col">관리</th>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
$href = G4_SHOP_URL."/item.php?it_id={$row['it_id']}";
$sql1 = " select SUM(ct_qty) as sum_qty
from {$g4['shop_cart_table']}
where it_id = '{$row['it_id']}'
and io_id = '{$row['io_id']}'
and ct_stock_use = '0'
and ct_status in ('주문', '준비') ";
$row1 = sql_fetch($sql1);
$wait_qty = $row1['sum_qty'];
// 가재고 (미래재고)
$temporary_qty = $row['io_stock_qty'] - $wait_qty;
$option = '';
$nbsp = '';
if($row['io_type']) {
$opt = explode(chr(30), $row['io_id']);
if($opt[0] && $opt[1])
$option .= $opt[0].' : '.$opt[1];
} else {
$subj = explode(',', $row['it_option_subject']);
$opt = explode(chr(30), $row['io_id']);
for($k=0; $k<count($subj); $k++) {
if($subj[$k] && $opt[$k]) {
$option .= $nbsp.$subj[$k].' : '.$opt[$k];
$nbsp = '&nbsp;';
}
}
}
$type = '선택옵션';
if($row['io_type'])
$type = '추가옵션';
?>
<tr>
<td class="td_bignum">
<input type="hidden" name="it_id[<?php echo $i; ?>]" value="<?php echo $row['it_id']; ?>">
<input type="hidden" name="io_id[<?php echo $i; ?>]" value="<?php echo $row['io_id']; ?>">
<input type="hidden" name="io_type[<?php echo $i; ?>]" value="<?php echo $row['io_type']; ?>">
<a href="<?php echo $href; ?>"><?php echo get_it_image($row['it_id'], 50, 50); ?><?php echo cut_str(stripslashes($row['it_name']), 60, "&#133"); ?></a>
</td>
<td><?php echo $option; ?></td>
<td><?php echo $type; ?></td>
<td class="td_num"><?php echo number_format($row['io_stock_qty']); ?></td>
<td class="td_num"><?php echo number_format($wait_qty); ?></td>
<td class="td_num"><?php echo number_format($temporary_qty); ?></td>
<td class="td_num"><input type="text" name="io_stock_qty[<?php echo $i; ?>]" value="<?php echo $row['io_stock_qty']; ?>" class="frm_input" size="10" autocomplete="off"></td>
<td class="td_chk"><input type="checkbox" name="io_use[<?php echo $i; ?>]" value="1" <?php echo ($row['io_use'] ? "checked" : ""); ?>></td>
<td class="td_smallmng"><a href="./itemform.php?w=u&amp;it_id=<?php echo $row['it_id']; ?>&amp;ca_id=<?php echo $row['ca_id']; ?>&amp;<?php echo $qstr; ?>">수정</a></td>
</tr><tr>
<?php
}
if (!$i)
echo '<tr><td colspan="8" class="empty_table"><span>자료가 없습니다.</span></td></tr>';
?>
</tbody>
</table>
<div class="btn_confirm">
<input type="submit" value="일괄수정" class="btn_submit">
</div>
</form>
</section>
<?php echo get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['PHP_SELF']}?$qstr&amp;page="); ?>
<?php
include_once (G4_ADMIN_PATH.'/admin.tail.php');
?>

View File

@ -0,0 +1,22 @@
<?php
$sub_menu = '400500';
include_once('./_common.php');
check_demo();
auth_check($auth[$sub_menu], "w");
// 재고 일괄수정
for ($i=0; $i<count($_POST['it_id']); $i++)
{
$sql = "update {$g4['shop_item_option_table']}
set io_stock_qty = '{$_POST['io_stock_qty'][$i]}',
io_use = '{$_POST['io_use'][$i]}'
where it_id = '{$_POST['it_id'][$i]}'
and io_id = '{$_POST['io_id'][$i]}'
and io_type = '{$_POST['io_type'][$i]}' ";
sql_query($sql);
}
goto_url("./optionstocklist.php?sort1=$sort&amp;sort2=$sort2&amp;sel_ca_id=$sel_ca_id&amp;sel_field=$sel_field&amp;search=$search&amp;page=$page");
?>