배송비쿠폰 적용시 od_send_cost 값 변경되지 않도록 수정

This commit is contained in:
chicpro
2013-08-27 15:16:17 +09:00
parent 7346720d38
commit cfffa6ba65
8 changed files with 48 additions and 52 deletions

View File

@ -169,7 +169,7 @@ $pg_anchor .='<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>
<tbody>
<?php
// 상품의 옵션정보
$sql = " select ct_id, it_id, ct_price, ct_qty, ct_option, ct_status, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price
$sql = " select ct_id, it_id, ct_price, ct_qty, ct_option, ct_status, cp_amount, ct_stock_use, ct_point_use, ct_send_cost, io_type, io_price
from {$g4['shop_cart_table']}
where od_id = '{$od['od_id']}'
and it_id = '{$row['it_id']}'
@ -210,6 +210,7 @@ $pg_anchor .='<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>
</tr>
<?php
$chk_cnt++;
$t_cp_amount += $opt['cp_amount']; // 쿠폰사용금액
}
?>
</tbody>
@ -217,7 +218,6 @@ $pg_anchor .='<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>
</li>
<?php
$t_cp_amount += $row['cp_amount']; // 쿠폰사용금액
$t_ct_amount['합계'] += $ct_amount['소계'];
$t_ct_point['합계'] += $ct_point['소계'];
}
@ -259,8 +259,8 @@ $pg_anchor .='<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>
// 입금액 = 결제금액 + 포인트
$amount['입금'] = $od['od_receipt_amount'] + $od['od_receipt_point'];
// 쿠폰금액
$amount['쿠폰'] = $t_cp_amount + $od['od_coupon'];
// 쿠폰금액 od_send_cost에는 배송비 할인 쿠폰이 적용된 금액이 기록되므로 계산에 추가하지 않음
$amount['쿠폰'] = $t_cp_amount + $od['od_coupon'] + $od['od_send_coupon'];
// 미수금 = (주문금액 - DC + 환불액) - (입금액 - 결제승인취소) - 쿠폰금액
$amount['미수'] = ($amount['정상'] - $od['od_dc_amount'] + $od['od_refund_amount']) - ($amount['입금'] - $od['od_cancel_card']) - $amount['쿠폰'];
@ -533,6 +533,12 @@ $pg_anchor .='<li><a href="#anc_sodr_chk">결제상세정보 확인</a></li>
<input type="text" name="od_send_cost" value="<?php echo $od['od_send_cost']; ?>" id="od_send_cost" class="frm_input" size="10"> 원
</td>
</tr>
<?php if($od['od_send_coupon']) { ?>
<tr>
<th scope="row">배송비할인</th>
<td><?php echo display_price($od['od_send_coupon']); ?></td>
</tr>
<?php } ?>
<tr>
<th scope="row"><label for="od_send_cost2">추가배송비</label></th>
<td>

View File

@ -35,7 +35,7 @@ define(_MISU_QUERY_, "
(a.od_receipt_amount + a.od_receipt_point) as receiptamount, /* 입금합계 */
(a.od_refund_amount + a.od_cancel_card) as receiptcancel, /* 입금취소 */
(
(SUM(IF(b.io_type = 1, b.io_price * b.ct_qty, (b.ct_price + b.io_price) * b.ct_qty)) + a.od_send_cost + a.od_send_cost2) -
(SUM(IF(b.io_type = 1, b.io_price * b.ct_qty, (b.ct_price + b.io_price) * b.ct_qty)) + a.od_send_cost + a.od_send_cost2 - a.od_send_coupon) -
(SUM(IF(b.ct_status = '취소' OR b.ct_status = '반품' OR b.ct_status = '품절', (IF(b.io_type = 1, b.io_price * b.ct_qty, (b.ct_price + b.io_price) * b.ct_qty)), 0))) -
a.od_dc_amount -
(a.od_receipt_amount + a.od_receipt_point) +

View File

@ -342,7 +342,6 @@ ob_end_clean();
<input type="hidden" name="od_amount" value="<?php echo $tot_sell_amount; ?>">
<input type="hidden" name="org_od_amount" value="<?php echo $tot_sell_amount; ?>">
<input type="hidden" name="od_send_cost" value="<?php echo $send_cost; ?>">
<input type="hidden" name="org_send_cost" value="<?php echo $send_cost; ?>">
<input type="hidden" name="od_send_cost2" value="0">
<input type="hidden" name="item_coupon" value="0">
<input type="hidden" name="od_coupon" value="0">
@ -848,7 +847,7 @@ $(function() {
var cp_id = $el.find("input[name='o_cp_id[]']").val();
var amount = parseInt($el.find("input[name='o_cp_amt[]']").val());
var subj = $el.find("input[name='o_cp_subj[]']").val();
var send_cost = $("input[name=org_send_cost]").val();
var send_cost = $("input[name=od_send_cost]").val();
var item_coupon = parseInt($("input[name=item_coupon]").val());
var od_amount = parseInt($("input[name=org_od_amount]").val()) - item_coupon;
@ -863,7 +862,6 @@ $(function() {
return false;
}
$("input[name=od_send_cost]").val(send_cost);
$("input[name=sc_cp_id]").val("");
$("#sc_coupon_btn").text("쿠폰적용");
$("#sc_coupon_cancel").remove();
@ -887,7 +885,6 @@ $(function() {
var org_amount = $("input[name=org_od_amount]").val();
var item_coupon = parseInt($("input[name=item_coupon]").val());
$("input[name=od_amount]").val(org_amount - item_coupon);
$("input[name=od_send_cost]").val($("input[name=org_send_cost]").val());
$("input[name=sc_cp_id]").val("");
$("input[name=od_coupon]").val(0);
$("input[name=od_send_coupon]").val(0);
@ -903,10 +900,10 @@ $(function() {
$("#sc_coupon_frm").remove();
var $this = $(this);
var amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
$.post(
"./ordersendcostcoupon.php",
{ amount: (amount + send_cost), send_cost: send_cost },
{ amount: amount, send_cost: send_cost },
function(data) {
$this.after(data);
}
@ -918,7 +915,7 @@ $(function() {
var cp_id = $el.find("input[name='s_cp_id[]']").val();
var amount = parseInt($el.find("input[name='s_cp_amt[]']").val());
var subj = $el.find("input[name='s_cp_subj[]']").val();
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
if(parseInt(amount) == 0) {
if(!confirm(subj+"쿠폰의 할인 금액은 "+amount+"원입니다.\n쿠폰을 적용하시겠습니까?")) {
@ -926,7 +923,6 @@ $(function() {
}
}
$("input[name=od_send_cost]").val(send_cost - amount);
$("input[name=sc_cp_id]").val(cp_id);
$("input[name=od_send_coupon]").val(amount);
calculate_order_amount();
@ -942,8 +938,6 @@ $(function() {
});
$("#sc_coupon_cancel").live("click", function() {
var send_cost = $("input[name=org_send_cost]").val();
$("input[name=od_send_cost]").val(send_cost);
$("input[name=od_send_coupon]").val(0);
calculate_order_amount();
$("#sc_coupon_frm").remove();
@ -998,7 +992,7 @@ function calculate_total_amount()
var tot_sell_amount = sell_amount = tot_cp_amount = 0;
var it_amount, cp_amount, it_notax;
var tot_mny = comm_tax_mny = comm_vat_mny = comm_free_mny = tax_mny = vat_mny = 0;
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
$it_amt.each(function(index) {
it_amount = parseInt($(this).val());
@ -1014,7 +1008,6 @@ function calculate_total_amount()
$("input[name=good_mny]").val(tot_sell_amount);
$("input[name=od_amount]").val(sell_amount - tot_cp_amount);
$("input[name=od_send_cost]").val(send_cost);
$("input[name=item_coupon]").val(tot_cp_amount);
$("input[name=od_coupon]").val(0);
$("input[name=od_send_coupon]").val(0);
@ -1044,7 +1037,8 @@ function calculate_order_amount()
var sell_amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
var tot_amount = sell_amount + send_cost + send_cost2;
var send_coupon = parseInt($("input[name=od_send_coupon").val());
var tot_amount = sell_amount + send_cost + send_cost2 - send_coupon;
$("form[name=sm_form] input[name=good_mny]").val(tot_amount);
$("#od_tot_amount").text(number_format(String(tot_amount)));
@ -1057,8 +1051,9 @@ function calculate_temp_point()
{
var sell_amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_coupon = parseInt($("input[name=od_send_coupon]").val());
var point_per = <?php echo $default['de_point_per']; ?>;
var temp_point = parseInt((sell_amount + send_cost) * (point_per / 100) / 100) * 100;
var temp_point = parseInt((sell_amount + send_cost - send_coupon) * (point_per / 100) / 100) * 100;
var point = <?php echo (int)$member_point; ?>
if(temp_point > point)
@ -1089,7 +1084,7 @@ function calculate_tax()
var sell_amount = tot_cp_amount = 0;
var it_amount, cp_amount, it_notax;
var tot_mny = comm_free_mny = tax_mny = vat_mny = 0;
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
var od_coupon = parseInt($("input[name=od_coupon]").val());
var send_coupon = parseInt($("input[name=od_send_coupon]").val());

View File

@ -65,6 +65,7 @@ if ($error != "")
$i_amount = (int)$_POST['od_amount'];
$i_send_cost = (int)$_POST['od_send_cost'];
$i_send_cost2 = (int)$_POST['od_send_cost2'];
$i_send_coupon = (int)$_POST['od_send_coupon'];
$i_temp_point = (int)$_POST['od_temp_point'];
@ -253,7 +254,7 @@ if($is_member && $send_cost > 0) {
}
}
if ((int)($send_cost - $tot_sc_cp_amount) !== $i_send_cost) {
if ((int)($send_cost - $tot_sc_cp_amount) !== (int)($i_send_cost - $i_send_coupon)) {
die("Error..");
}
@ -295,7 +296,7 @@ if ($od_temp_point)
alert('회원님의 포인트가 부족하여 포인트로 결제 할 수 없습니다.');
}
$i_amount = $i_amount + $i_send_cost + $i_send_cost2 - $i_temp_point;
$i_amount = $i_amount + $i_send_cost + $i_send_cost2 - $i_temp_point - $i_send_coupon;
if ($od_settle_case == "무통장")
{

View File

@ -89,7 +89,7 @@ include_once(G4_MSHOP_PATH.'/_head.php');
from {$g4['shop_cart_table']}
where od_id = '$od_id'
and it_id = '{$row['it_id']}'
order by it_type asc, ct_id asc ";
order by io_type asc, ct_id asc ";
$res = sql_query($sql);
$ct_list = array();
@ -149,7 +149,6 @@ include_once(G4_MSHOP_PATH.'/_head.php');
$send_cost = $od['od_send_cost'];
$send_cost2 = $od['od_send_cost2'];
$send_coupon = $od['od_send_coupon'];
$org_send_cost = $send_cost + $send_coupon;
?>
</ul>
@ -284,9 +283,9 @@ include_once(G4_MSHOP_PATH.'/_head.php');
?>
<?php
// 총계 = 주문상품금액합계 + 배송비 - 상품할인 - 결제할인
// 총계 = 주문상품금액합계 + 배송비 - 상품할인 - 결제할인 - 배송비할인
$od_coupon = $od['od_coupon'];
$tot_amount = $tot_sell_amount + $send_cost + $send_cost2 - $tot_cp_amount - $od_coupon;
$tot_amount = $tot_sell_amount + $send_cost + $send_cost2 - $tot_cp_amount - $od_coupon - $send_coupon;
?>
<dl id="sod_bsk_tot">
@ -303,9 +302,9 @@ include_once(G4_MSHOP_PATH.'/_head.php');
<dd class="sod_bsk_dvr"><strong><?php echo number_format($od_coupon); ?> 원</strong></dd>
<?php } ?>
<?php if ($org_send_cost > 0) { ?>
<?php if ($send_cost > 0) { ?>
<dt class="sod_bsk_dvr">배송비</dt>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($org_send_cost); ?> 원</strong></dd>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($send_cost); ?> 원</strong></dd>
<?php } ?>
<?php if($send_coupon > 0) { ?>
@ -313,9 +312,9 @@ include_once(G4_MSHOP_PATH.'/_head.php');
<dd class="sod_bsk_dvr"><strong><?php echo number_format($send_coupon); ?> 원</strong></dd>
<?php } ?>
<?php if ($org_send_cost2 > 0) { ?>
<?php if ($send_cost2 > 0) { ?>
<dt class="sod_bsk_dvr">추가배송비</dt>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($org_send_cost2); ?> 원</strong></dd>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($send_cost2); ?> 원</strong></dd>
<?php } ?>
<dt class="sod_bsk_cnt">총계</dt>

View File

@ -340,7 +340,6 @@ function get_intall_file()
<input type="hidden" name="od_amount" value="<?php echo $tot_sell_amount; ?>">
<input type="hidden" name="org_od_amount" value="<?php echo $tot_sell_amount; ?>">
<input type="hidden" name="od_send_cost" value="<?php echo $send_cost; ?>">
<input type="hidden" name="org_send_cost" value="<?php echo $send_cost; ?>">
<input type="hidden" name="od_send_cost2" value="0">
<input type="hidden" name="item_coupon" value="0">
<input type="hidden" name="od_coupon" value="0">
@ -1066,7 +1065,7 @@ $(function() {
var cp_id = $el.find("input[name='o_cp_id[]']").val();
var amount = parseInt($el.find("input[name='o_cp_amt[]']").val());
var subj = $el.find("input[name='o_cp_subj[]']").val();
var send_cost = $("input[name=org_send_cost]").val();
var send_cost = $("input[name=od_send_cost]").val();
var item_coupon = parseInt($("input[name=item_coupon]").val());
var od_amount = parseInt($("input[name=org_od_amount]").val()) - item_coupon;
@ -1081,7 +1080,6 @@ $(function() {
return false;
}
$("input[name=od_send_cost]").val(send_cost);
$("input[name=sc_cp_id]").val("");
$("#sc_coupon_btn").text("쿠폰적용");
$("#sc_coupon_cancel").remove();
@ -1105,7 +1103,6 @@ $(function() {
var org_amount = $("input[name=org_od_amount]").val();
var item_coupon = parseInt($("input[name=item_coupon]").val());
$("input[name=od_amount]").val(org_amount - item_coupon);
$("input[name=od_send_cost]").val($("input[name=org_send_cost]").val());
$("input[name=sc_cp_id]").val("");
$("input[name=od_coupon]").val(0);
$("input[name=od_send_coupon]").val(0);
@ -1121,10 +1118,10 @@ $(function() {
$("#sc_coupon_frm").remove();
var $this = $(this);
var amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
$.post(
"./ordersendcostcoupon.php",
{ amount: (amount + send_cost), send_cost: send_cost },
{ amount: amount, send_cost: send_cost },
function(data) {
$this.after(data);
}
@ -1136,7 +1133,7 @@ $(function() {
var cp_id = $el.find("input[name='s_cp_id[]']").val();
var amount = parseInt($el.find("input[name='s_cp_amt[]']").val());
var subj = $el.find("input[name='s_cp_subj[]']").val();
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
if(parseInt(amount) == 0) {
if(!confirm(subj+"쿠폰의 할인 금액은 "+amount+"원입니다.\n쿠폰을 적용하시겠습니까?")) {
@ -1144,7 +1141,6 @@ $(function() {
}
}
$("input[name=od_send_cost]").val(send_cost - amount);
$("input[name=sc_cp_id]").val(cp_id);
$("input[name=od_send_coupon]").val(amount);
calculate_order_amount();
@ -1160,8 +1156,6 @@ $(function() {
});
$("#sc_coupon_cancel").live("click", function() {
var send_cost = $("input[name=org_send_cost]").val();
$("input[name=od_send_cost]").val(send_cost);
$("input[name=od_send_coupon]").val(0);
calculate_order_amount();
$("#sc_coupon_frm").remove();
@ -1212,7 +1206,7 @@ function calculate_total_amount()
var tot_sell_amount = sell_amount = tot_cp_amount = 0;
var it_amount, cp_amount, it_notax;
var tot_mny = comm_tax_mny = comm_vat_mny = comm_free_mny = tax_mny = vat_mny = 0;
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
$it_amt.each(function(index) {
it_amount = parseInt($(this).val());
@ -1228,7 +1222,6 @@ function calculate_total_amount()
$("input[name=good_mny]").val(tot_sell_amount);
$("input[name=od_amount]").val(sell_amount - tot_cp_amount);
$("input[name=od_send_cost]").val(send_cost);
$("input[name=item_coupon]").val(tot_cp_amount);
$("input[name=od_coupon]").val(0);
$("input[name=od_send_coupon]").val(0);
@ -1258,7 +1251,8 @@ function calculate_order_amount()
var sell_amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
var tot_amount = sell_amount + send_cost + send_cost2;
var send_coupon = parseInt($("input[name=od_send_coupon").val());
var tot_amount = sell_amount + send_cost + send_cost2 - send_coupon;
$("input[name=good_mny]").val(tot_amount);
$("#od_tot_amount").text(number_format(String(tot_amount)));
@ -1271,8 +1265,9 @@ function calculate_temp_point()
{
var sell_amount = parseInt($("input[name=od_amount]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_coupon = parseInt($("input[name=od_send_coupon]").val());
var point_per = <?php echo $default['de_point_per']; ?>;
var temp_point = parseInt((sell_amount + send_cost) * (point_per / 100) / 100) * 100;
var temp_point = parseInt((sell_amount + send_cost - send_coupon) * (point_per / 100) / 100) * 100;
var point = <?php echo (int)$member_point; ?>;
if(temp_point > point)
@ -1303,7 +1298,7 @@ function calculate_tax()
var sell_amount = tot_cp_amount = 0;
var it_amount, cp_amount, it_notax;
var tot_mny = comm_free_mny = tax_mny = vat_mny = 0;
var send_cost = parseInt($("input[name=org_send_cost]").val());
var send_cost = parseInt($("input[name=od_send_cost]").val());
var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
var od_coupon = parseInt($("input[name=od_coupon]").val());
var send_coupon = parseInt($("input[name=od_send_coupon]").val());

View File

@ -59,6 +59,7 @@ if ($error != "")
$i_amount = (int)$_POST['od_amount'];
$i_send_cost = (int)$_POST['od_send_cost'];
$i_send_cost2 = (int)$_POST['od_send_cost2'];
$i_send_coupon = (int)$_POST['od_send_coupon'];
$i_temp_point = (int)$_POST['od_temp_point'];
@ -247,7 +248,7 @@ if($is_member && $send_cost > 0) {
}
}
if ((int)($send_cost - $tot_sc_cp_amount) !== $i_send_cost) {
if ((int)($send_cost - $tot_sc_cp_amount) !== (int)($i_send_cost - $i_send_coupon)) {
die("Error..");
}
@ -289,7 +290,7 @@ if ($od_temp_point)
alert('회원님의 포인트가 부족하여 포인트로 결제 할 수 없습니다.');
}
$i_amount = $i_amount + $i_send_cost + $i_send_cost2 - $i_temp_point;
$i_amount = $i_amount + $i_send_cost + $i_send_cost2 - $i_temp_point - $i_send_coupon;
if ($od_settle_case == "무통장")
{

View File

@ -162,7 +162,6 @@ if(openwin != null) {
$send_cost = $od['od_send_cost'];
$send_cost2 = $od['od_send_cost2'];
$send_coupon = $od['od_send_coupon'];
$org_send_cost = $send_cost + $send_coupon;
?>
</ul>
@ -298,9 +297,9 @@ if(openwin != null) {
?>
<?php
// 총계 = 주문상품금액합계 + 배송비 - 상품할인 - 결제할인
// 총계 = 주문상품금액합계 + 배송비 - 상품할인 - 결제할인 - 배송비할인
$od_coupon = $od['od_coupon'];
$tot_amount = $tot_sell_amount + $send_cost + $send_cost2 - $tot_cp_amount - $od_coupon;
$tot_amount = $tot_sell_amount + $send_cost + $send_cost2 - $tot_cp_amount - $od_coupon - $send_coupon;
?>
<dl id="sod_bsk_tot">
@ -317,9 +316,9 @@ if(openwin != null) {
<dd class="sod_bsk_dvr"><strong><?php echo number_format($od_coupon); ?> 원</strong></dd>
<?php } ?>
<?php if ($org_send_cost > 0) { ?>
<?php if ($send_cost > 0) { ?>
<dt class="sod_bsk_dvr">배송비</dt>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($org_send_cost); ?> 원</strong></dd>
<dd class="sod_bsk_dvr"><strong><?php echo number_format($send_cost); ?> 원</strong></dd>
<?php } ?>
<?php if($send_coupon > 0) { ?>