영카트4 고객용 영수증 출력 페이지
영카트4에서는 주문 내역 겸 영수증을 출력할 수 있는 기능이 없어 머리를 싸매고 한번 만들어 봤습니다. 여기저기
페이지 내용을 긁어다가 짜김기 한 것이기 때문에 코드도 엉망이고 수정해야할 부분이 많이 있을 것이라 생각합니다.
include_once(“./_common.php”);
$sql = “select * from $g4[yc4_order_table] where od_id = ‘$od_id’ and on_uid = ‘$on_uid’ “;
$od = sql_fetch($sql);
if (!$od[od_id]) {
echo “$od_id $on_uid $MxIssueNO”;
alert(“조회하실 주문서가 없습니다.”, $g4[path]);
}
if ($od[od_dc_amount] > 0)
$od_dc = $od[od_dc_amount];
// 결제방법
$settle_case = $od[od_settle_case];
set_session(‘ss_temp_on_uid’, $on_uid);
$g4[title] = “거래내역출력 : 주문번호 – $od_id”;
$s_on_uid = $od[on_uid];
// 합계금액 계산
$tot_sell_amount = 0;
$goods = $goods_it_id = “”;
$goods_count = -1;
// $s_on_uid 로 현재 장바구니 자료 쿼리
$sql = ” select a.ct_id, a.ct_amount, a.ct_qty, b.it_id, b.it_name from $g4[yc4_cart_table] a, $g4[yc4_item_table] b where a.on_uid = ‘$s_on_uid’ and a.it_id = b.it_id order by a.ct_id “;
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
if (!$goods)
{
//$goods = addslashes($row[it_name]);
//$goods = get_text($row[it_name]);
$goods = preg_replace(“/’|”|||,|&|;/”, “”, $row[it_name]);
$goods_it_id = $row[it_id];
}
$goods_count++;
$sell_amount = $row[ct_amount] * $row[ct_qty];
$tot_sell_amount += $sell_amount;
//DC 금액 차감
if($od_dc) $tot_sell_amount = $tot_sell_amount – $od_dc;
}
?>
<!– 인쇄용 스크립트 –>
<SCRIPT Language=”Javascript”>
function printit(cmd,param){
if (navigator.appName == “Netscape”) {
if(cmd==6) window.print() ;
else alert(“netscape는 바로인쇄만 가능합니다.”);
} else {
var WebBrowser = ‘<OBJECT ID=”WebBrowser1″ WIDTH=0 HEIGHT=0 CLASSID=”CLSID:8856F961-340A-11D0-A96B-00C04FD705A2″></OBJECT>’;
document.body.insertAdjacentHTML(‘beforeEnd’, WebBrowser);
WebBrowser1.ExecWB(cmd, param);//Use a 1 vs. a 2 for a prompting dialog box
WebBrowser1.outerHTML = “”;
}
}
</Script>
<html>
<head>
<meta http-equiv=”Content-type” content=”text/html; charset=<?=$g4[‘charset’]?>”>
<title><?=$g4[title]?></title>
<style type=”text/css”>
<!–
@media print{
#printArea{
background-color:#FFFFFF;
background-image:none;
color:#000000;
}
#buttons{ display:none;}
}
body, td {
color: #0d0057;
font-family: “돋움”, “돋움체”;
font-size: 9pt;
}
.style_i {
color: #0d0057;
font-family: “돋움”, “돋움체”;
font-size: 9pt;
font-weight: bold;
}
–>
</style>
</head>
<body>
<div id=”printArea”>
<!– print area –>
<table width=”700″ cellpadding=0 cellspacing=0 border=0>
<tr>
<td colspan=”2″ width=”700″ height=”50″ align=”center”><h2>거 래 내 역 서</h></td>
</tr>
<tr>
<td width=”345″>
<table cellpadding=”0″ cellspacing=”0″ border=”0″>
<tr>
<td align=”center” width=”55″ height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>주문번호</span></td>
<td width=”110″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><?=$od[od_id]?></td>
<td align=”center” width=”55″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>주문일자</span></td>
<td width=”110″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057;”><?=substr($od[od_time], 0, 10)?></td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>주문자명</span></td>
<td colspan=”3″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057; padding-left:10px; “><?=$od[od_name]?></td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>결제방법</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><?=$od[od_settle_case]?></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>입금자</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057;”>
<? if($od[od_deposit_name]) echo $od[od_deposit_name]; else echo $od[od_name]; ?>
</td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”><span class=”style_i”>합계금액</span></td>
<td colspan=”3″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057; border-bottom:solid 1px #0d0057;” class=”style_i”><?=number_format($tot_sell_amount)?> 원</b></td>
</tr>
</table>
</td>
<td width=”355″ align=”right”>
<table width=”360″ cellpadding=”0″ cellspacing=”0″ border=”0″>
<tr>
<td width=”20″ rowspan=”4″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”><span class=”style_i”>공<br /><br />급<br /><br />자</span></td>
<td align=”center” width=”55″ height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>등록번호</span></td>
<td width=”115″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><?=$default[de_admin_company_saupja_no]?></td>
<td align=”center” width=”55″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>문의전화</span></td>
<td width=”115″ align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057;”><span class=”style_i”><?=$default[de_admin_company_tel]?></span></td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>상 호</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><?=$default[de_admin_company_name]?></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>성 명</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057;”><?=$default[de_admin_company_owner]?></td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057;”><span class=”style_i”>주 소</span></td>
<td align=”center” colspan=”3″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057;”><?=$default[de_admin_company_addr]?></td>
</tr>
<tr>
<td align=”center” height=”30″ style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”><span class=”style_i”>업 태</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”>도, 소매</td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”><span class=”style_i”>종 목</span></td>
<td align=”center” style=”border-left:solid 1px #0d0057; border-top:solid 1px #0d0057; border-right:solid 1px #0d0057; border-bottom:solid 1px #0d0057;”>
장식용품 외</a>
</tr>
</table>
</td>
</tr>
<tr>
<td height=”5″ colspan=”2″></td>
</tr>
<tr>
<td colspan=”2″>
<table width=”700″ cellpadding=”0″ cellspacing=”0″ border=”0″ style=”border:solid 1px #0d0057;”>
<tr>
<td width=”450″ height=”30″ align=”center” style=”border-bottom:solid 1px #000000;”><span class=”style_i”>상 품 명</span></td>
<td width=”40″ align=”center” style=”border-bottom:solid 1px #000000;”><span class=”style_i”>수 량</span></td>
<td width=”90″ align=”center” style=”border-bottom:solid 1px #000000;”><span class=”style_i”>단 가</span></td>
<td width=”120″ align=”center” style=”border-bottom:solid 1px #000000;”><span class=”style_i”>금 액</span></td>
</tr>
<?
$temp_i = 0;
if($od_dc) $tot_tr = 24;
else $tot_tr = 25;
$tot_sell_amount = 0;
$tot_cancel_amount = 0;
$goods = $goods_it_id = “”;
$goods_count = -1;
// $s_on_uid 로 현재 장바구니 자료 쿼리
$sql = ” select a.ct_id,
a.it_opt1,
a.it_opt2,
a.it_opt3,
a.it_opt4,
a.it_opt5,
a.it_opt6,
a.ct_amount,
a.ct_point,
a.ct_qty,
a.ct_status,
b.it_id,
b.it_name,
b.ca_id
from $g4[yc4_cart_table] a,
$g4[yc4_item_table] b
where a.on_uid = ‘$s_on_uid’
and a.it_id = b.it_id
order by a.ct_id “;
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++)
{
if (!$goods)
{
//$goods = addslashes($row[it_name]);
//$goods = get_text($row[it_name]);
$goods = preg_replace(“/’|”|||,|&|;/”, “”, $row[it_name]);
$goods_it_id = $row[it_id];
}
$goods_count++;
$it_name = stripslashes($row[it_name]) . “<br>”;
$it_name .= print_item_options($row[it_id], $row[it_opt1], $row[it_opt2], $row[it_opt3], $row[it_opt4], $row[it_opt5], $row[it_opt6]);
if (!$is_member) $point = 0;
else $point = $row[ct_point] * $row[ct_qty];
$sell_amount = $row[ct_amount] * $row[ct_qty];
//echo “<xmp>”;
//print_r($point);
//echo “</xmp>”;
$temp_i++;
?>
<tr>
<td height=”30″ style=”padding-left:5px; border-bottom:dotted 1px #ccc;”><?=$it_name?></td><!– 상품명 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”><?=$row[ct_qty]?></td><!– 수량 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”><?=number_format($row[ct_amount])?> 원</td><!– 단가 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”><?=number_format($sell_amount)?> 원</td><!– 금액 –>
</tr>
<? //DC 금액 표시
if($od_dc) { ?>
<tr>
<td height=”30″ style=”padding-left:5px; border-bottom:dotted 1px #ccc;”>가격할인</td><!– 상품명 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”>1</td><!– 수량 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”>- <?=number_format($od_dc)?> 원</td><!– 단가 –>
<td align=”center” style=”border-bottom:dotted 1px #ccc;”>- <?=number_format($od_dc)?> 원</td><!– 금액 –>
</tr>
<? } ?>
<?
$tot_sell_amount += $sell_amount;
//DC 금액 차감
if($od_dc) $tot_sell_amount = $tot_sell_amount -$od_dc;
}
// 배송비 계산
if ($default[de_send_cost_case] == “없음”)
$send_cost = 0;
else {
// 배송비 상한 : 여러단계의 배송비 적용 가능
$send_cost_limit = explode(“;”, $default[de_send_cost_limit]);
$send_cost_list = explode(“;”, $default[de_send_cost_list]);
$send_cost = 0;
for ($k=0; $k<count($send_cost_limit); $k++) {
// 총판매금액이 배송비 상한가 보다 작다면
if ($tot_sell_amount < $send_cost_limit[$k]) {
$send_cost = $send_cost_list[$k];
break;
}
}
}
// 이미 주문된 내역을 보여주는것이므로 배송비를 주문서에서 얻는다.
$sql = “select od_send_cost from $g4[yc4_order_table] where od_id = ‘$od_id’ “;
$row = sql_fetch($sql);
if ($row[od_send_cost] > 0)
$send_cost = $row[od_send_cost];
//빈 줄 채움
for($k=0; $k < ($tot_tr – $temp_i); $k++) {
echo “<tr><td colspan=’4′ height=30 style=’padding-left:5px; border-bottom:dotted 1px #ccc;’> </td></tr>”;
}
?>
<tr>
<td height=”50″ align=”right” colspan=”2″><span class=”style_i”>합계금액 : </span></td>
<td colspan=”2″ align=”right” style=”padding-right:5px;”>
<span class=”style_i”>
<?
// 총계 = 주문상품금액합계 + 배송비
$tot_amount = $tot_sell_amount + $send_cost;
// 배송비가 0 보다 크다면 (있다면)
if ($send_cost > 0) {
?>
<?=number_format($tot_amount)?> 원<!– 143,000 원 + 3,500 원 (배송비) = 146,500 원 –>
<?
}
else {
?>
<?=number_format($tot_sell_amount)?> 원<!– 143,000 원 + 무료배송 = 143,000 원 –>
<?
}
?>
</span>(부가세 포함)
</td>
</tr>
</table>
<!– print area –>
</div>
<center id=”buttons”>
<table width=”700″ cellpadding=”0″ cellspacing=”0″ border=”0″>
<tr>
<td height=”60″ align=”center”><input type=”button” value=”인쇄하기” onclick=”window.printit(6, -1)” ></td>
</tr>
</table>
</center>
</body>
</html>
od_id 와 on_uid 변수값을 페이지 호출시에 지정해줘야만 합니다. 이 페이지에 영수증 부분만 바로 출력이 되도록
하는 기능을 더 넣을 예정입니다. 그리고 몇가지 수정을 더 해야만 하는데 하려니 참 귀찮네요 ^^; 하긴 해야하는데..
덧, 공급자 부분에서 기본 정보를 DB에 저장된 정보로 가져오도록 수정했고 인쇄 버튼을 추가함. (09-08-28)
인쇄하기 기능을 변경했고 할인금액이 있을 경우 할인금액이 내역에 표시되도록 수정함. (09-09-29)
안녕하세요 영카트 쇼핑몰 만드는 중인데..
마침 견적서를 인쇄할 방법이 필요했는데 유용하게 잘 쓰겠습니다.
감사해요~
아 혹시 이 상태를 엑셀 csv파일로 다운 받을수는 없나요?
블로그 방문해 주셔서 감사합니다.
html 출력하는 부분을 xls 파일로 저장할 수는 있을 것입니다.
자세한 방법은 검색해 보시면 찾으실 수 있을 겁니다.
아.. 오래된 글이라 답글이 이렇게 빨리 달릴거라곤 생각하지 못했는데..
일단 답글 감사드립니다!
한가지만 더 여쭤볼께요..
현재 코딩하신 페이지가.. 장바구니에서 출력되는 페이지인가요?
아니면.. 주문 완료 후 출력되는 페이지인가요?
즐거운 주말 되셨기를..
내일은 월요일이군요…-_-;;
오래전이라 저두 기억이 잘 안나지만
관리자 페이지에서 영수증을 출력하기 위해 만들었던 것으로 기억하고 있습니다.