|
@@ -240,7 +240,7 @@ Class Manage
|
|
|
}
|
|
|
}
|
|
|
// print_R($goods);die;
|
|
|
- // print_R($goods_info);
|
|
|
+ // print_R($goods_info);die;
|
|
|
if ($goods_info['price_type'] > 2 && isset($goods_info['goods']) && is_array($goods_info['goods'])) {
|
|
|
$heji = 0;
|
|
|
$heji = $this->total($goods,$v1['num']);
|
|
@@ -248,8 +248,9 @@ Class Manage
|
|
|
foreach ($goods_info['goods'] as $key => $val) {
|
|
|
|
|
|
$dnum = round($val['num']*$v1['num'],2);
|
|
|
- // $bili = round($val['price']*$dnum /$heji,2);#比例
|
|
|
- // $price_money = $val['price']*$dnum*$v['discount_cash'];#支付
|
|
|
+ $bili = round($val['price']*$dnum /$heji,2);#比例
|
|
|
+ // print_R($bili);die;
|
|
|
+ $price_money = $val['price']*$dnum*$v['discount_cash'];#支付
|
|
|
// if ($v['discount_id']>0) {
|
|
|
// $youhui = round($val['price']*$dnum-$price_money,2);
|
|
|
// } else {
|
|
@@ -263,19 +264,47 @@ Class Manage
|
|
|
|
|
|
// // print_R($price_money);die;
|
|
|
// $goodsfu = $val['price']*$dnum-$youhui-$card_price-$wallet_price;
|
|
|
- if ($v['discount_id']<=0) {
|
|
|
- $youhui = 0;
|
|
|
- } else {
|
|
|
- $youhui = ($val['price']*$dnum-($val['price']*$dnum/$heji)*$v['price'])*$v1['num'];
|
|
|
- }
|
|
|
+ // $youhui = 0;
|
|
|
+ // print_R($v1);die;
|
|
|
if ($v['card_code_cash'] && $v['card_code_cash']>0){
|
|
|
$card_price = ($v['card_code_cash']/$v['oprice']*($val['price']*$dnum))*$v1['num'];
|
|
|
} else {
|
|
|
$card_price = 0;
|
|
|
}
|
|
|
$wallet_price = ($v['wallet_cash']/$v['oprice']*($val['price']*$dnum))*$v1['num'];
|
|
|
- $goodsfu = $val['price']*$dnum-$youhui-$card_price-$wallet_price;
|
|
|
- if ($key == 0) {
|
|
|
+ $goodsfu = 0;
|
|
|
+ if ($v1['discount_id']<=0) {
|
|
|
+ $youhui = 0;
|
|
|
+ if ($card_price + $wallet_price >=$val['price']*$dnum){
|
|
|
+ $goodsfu = 0;
|
|
|
+ } elseif ($card_price + $wallet_price ==0) {
|
|
|
+ $goodsfu = round($val['price']*$dnum,2);
|
|
|
+ } else {
|
|
|
+ $goodsfu = round($val['price']*$dnum-($card_price + $wallet_price),2);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ $act = Dever::db('act/discount')->find($v['discount_id']);
|
|
|
+ if ($act && $act['num']) {
|
|
|
+ $act_num = $act['num']/10;
|
|
|
+ }
|
|
|
+ if ($card_price + $wallet_price == 0) {
|
|
|
+ $goodsfu = round($val['price']*$dnum*$act_num,2);
|
|
|
+ $youhui = round($val['price']*$dnum-$goodsfu);
|
|
|
+ } elseif ($card_price + $wallet_price >=$val['price']*$dnum) {
|
|
|
+ $goodsfu = 0;
|
|
|
+ $youhui = round($val['price']*$dnum-$goodsfu-($card_price + $wallet_price),2);
|
|
|
+ } else {
|
|
|
+ $goodsfu = round($val['price']*$dnum-($card_price + $wallet_price),2);
|
|
|
+ $youhui = round($val['price']*$dnum-$goodsfu,2);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // $youhui = ($val['price']*$dnum-($val['price']*$dnum/$heji)*$v1['price'])*$v1['num'];
|
|
|
+ }
|
|
|
+
|
|
|
+ // $goodsfu = $val['price']*$dnum-$youhui-$card_price-$wallet_price;
|
|
|
+ if ($key == 0 && $k1 ==0) {
|
|
|
$price = $v['price'];//round($v1['price']*$v1['num']-$v1['discount_cash'],2);
|
|
|
$shifu = round($v['price'],2);//实付金额
|
|
|
$order_num = $v1['num'];#订单总数量
|
|
@@ -316,7 +345,7 @@ Class Manage
|
|
|
$goodsfu,
|
|
|
$card_price,
|
|
|
$wallet_price,
|
|
|
- $goodsfu,//$price,//$price_money,
|
|
|
+ $price,//$price,//$price_money,
|
|
|
|
|
|
$v['card'],
|
|
|
$v['card_code_card']."\t",
|
|
@@ -349,7 +378,7 @@ Class Manage
|
|
|
$body[] = $d;
|
|
|
}
|
|
|
} else {
|
|
|
- if ($k1 == 0) {
|
|
|
+ if ($k1 == 0 ) {
|
|
|
$discount_cash = round($v['discount_cash'],2);
|
|
|
$card_code_cash = round($v['card_code_cash'],2);
|
|
|
$wallet_cash = round($v['wallet_cash'],2);
|
|
@@ -368,10 +397,7 @@ Class Manage
|
|
|
$oprice = 0;
|
|
|
$coupon_cash = 0;
|
|
|
}
|
|
|
- // print_R($v1['price']*$v1['num']/$v['oprice']*$v['price']);die;
|
|
|
$dyouhui = round($v1['discount_cash'],2);
|
|
|
- // ($v1['price']*$v1['num']/$v['oprice']*$v['price']);
|
|
|
- // print_R($dyouhui);die;
|
|
|
$dcard_price = $v['card_code_cash']/$v['oprice']*($v1['price']*$v1['num']);
|
|
|
$dwallet_price = $v['wallet_cash']/$v['oprice']*($v1['price']*$v1['num']);
|
|
|
$dgoodsfu = $v1['price']*$v1['num']-$dyouhui-$dcard_price-$dwallet_price;
|
|
@@ -400,7 +426,7 @@ Class Manage
|
|
|
$dgoodsfu,
|
|
|
$dcard_price,
|
|
|
$dwallet_price,
|
|
|
- $dgoodsfu,//$zhifu,
|
|
|
+ $zhifu,//$dgoodsfu,//
|
|
|
|
|
|
$v['card'],
|
|
|
$v['card_code_card']."\t",
|
|
@@ -445,6 +471,7 @@ Class Manage
|
|
|
$file = '商品销售相关数据';
|
|
|
return Dever::excelExport($body, $header, $file);
|
|
|
}
|
|
|
+
|
|
|
public function total($goods,$num){
|
|
|
if ($goods) {
|
|
|
$price = 0;
|
|
@@ -465,6 +492,7 @@ Class Manage
|
|
|
$name = Dever::input('goods_name');
|
|
|
$shop_name = Dever::input('shop_name');
|
|
|
$order_num = Dever::input('order_num');
|
|
|
+ $parent_type = Dever::input('cate');
|
|
|
if ($start) {
|
|
|
$where['start'] = strtotime($start);
|
|
|
}
|
|
@@ -483,6 +511,11 @@ Class Manage
|
|
|
if ($fend) {
|
|
|
$where['fend'] = strtotime($fend);
|
|
|
}
|
|
|
+ if ($parent_type && $parent_type>0) {
|
|
|
+ $where['parent_type'] = $parent_type;
|
|
|
+ } else {
|
|
|
+ $where['parent_type'] = '1,3';
|
|
|
+ }
|
|
|
|
|
|
if ($name) {
|
|
|
$where['name'] = $name;
|
|
@@ -498,17 +531,14 @@ Class Manage
|
|
|
$where['order_num'] = $order_num;
|
|
|
}
|
|
|
$where['state'] = 1;
|
|
|
- // print_R($where);die;
|
|
|
$data = Dever::db('shop/buy_order')->getDui($where);
|
|
|
- $header = array('门店类型', '门店编号', '门店名称', '订单号', '商品编码', '存货编码', '商品名称', '规格型号', '税率', '商品单价', '购买数量', '商品合计金额', '代理商注册时间', '下单时间', '付款时间', '发货时间', '完成时间', '订单总数量', '订单总金额', '订单实付金额', '订单状态', '收件人', '收件人手机', '收件人地址');
|
|
|
+ $header = array('门店类型', '门店编号', '门店名称', '订单号', '商品编码', '存货编码', '商品名称', '规格型号', '税率', '商品单价', '购买数量', '商品合计金额', '代理商注册时间', '下单时间', '付款时间', '发货时间', '完成时间', '订单总数量', '订单总金额', '订单实付金额', '资金账户抵扣金额', '订单状态', '退款状态', '退款时间', '退款金额', '收件人', '收件人手机', '收件人地址');
|
|
|
$body = array();
|
|
|
if ($data) {
|
|
|
foreach($data as $k => $v){
|
|
|
$shop = Dever::db('shop/info')->find($v['type_id']);
|
|
|
if ($shop['type'] ==1) {
|
|
|
$shop_type = '体验店';
|
|
|
- } elseif ($shop['type'] ==2) {
|
|
|
- $shop_type = '零售店';
|
|
|
} elseif ($shop['type'] ==10) {
|
|
|
$shop_type = '平台商城';
|
|
|
}
|
|
@@ -516,8 +546,23 @@ Class Manage
|
|
|
$address_contact = '';
|
|
|
$address_mobile = '';
|
|
|
$address_info = '';
|
|
|
- $parent_order = Dever::db('agent/dh_order')->find($v['parent_order_id']);
|
|
|
- if ($parent_order && isset($parent_order['uid']) && $parent_order['uid']) {
|
|
|
+ $shifu = 0;
|
|
|
+ if ($v['parent_type'] == 3) {
|
|
|
+ $parent_order = Dever::db('agent/dh_order')->find($v['parent_order_id']);
|
|
|
+ $shifu = 0;
|
|
|
+ $record_cash = 0;
|
|
|
+ } else {
|
|
|
+ $shifu = round($v['price'],2);
|
|
|
+ $record_cash = round($v['record_cash'],2);
|
|
|
+ }
|
|
|
+ if ($v['type'] == 1) {
|
|
|
+ $type_info = Dever::db('shop/info')->find($v['type_id']);
|
|
|
+ } elseif ($info['type'] == 2) {
|
|
|
+ $type_info = Dever::db('store/info')->find($v['type_id']);
|
|
|
+ } elseif ($info['type'] == 3) {
|
|
|
+ $type_info = Dever::db('store/info')->find($v['type_id']);
|
|
|
+ }
|
|
|
+ if (isset($parent_order) && $parent_order && isset($parent_order['uid']) && $parent_order['uid']) {
|
|
|
if ($parent_order['address_id']) {
|
|
|
$address = Dever::load('passport/address')->getOne($parent_order['uid'], $parent_order['address_id']);
|
|
|
if($address) {
|
|
@@ -530,6 +575,10 @@ Class Manage
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } elseif (isset($type_info) && $type_info) {
|
|
|
+ $address_contact = $type_info['truename'];
|
|
|
+ $address_mobile = $type_info['mobile'];
|
|
|
+ $address_info = $type_info['address'];
|
|
|
}
|
|
|
$goods = Dever::db('shop/buy_order_goods')->select(array('order_id' => $v['id']));
|
|
|
$goods_status = Dever::db('shop/buy_order_goods')->config['status'];
|
|
@@ -552,7 +601,33 @@ Class Manage
|
|
|
if ($v['fdate']) {
|
|
|
$fdate = date('Y-m-d H:i',$v['fdate']);
|
|
|
}
|
|
|
- // print_R($v1);die;
|
|
|
+
|
|
|
+ if ($v1['status'] == 1) {
|
|
|
+ $refund_status = '正常';
|
|
|
+ } elseif ($v1['status'] == 2) {
|
|
|
+ $refund_status = '已申报';
|
|
|
+ } elseif ($v1['status'] == 3) {
|
|
|
+ $refund_status = '已退款';
|
|
|
+ }
|
|
|
+ $tk = Dever::db('shop/buy_order_refund')->find(array('order_id'=>$v['id'],'order_goods_id'=>$v1['goods_id']));
|
|
|
+ $refund_cdate = '-';
|
|
|
+ if ($tk) {
|
|
|
+ $refund_cdate = date('Y-m-d H:i',$tk['cdate']);
|
|
|
+ }
|
|
|
+ if ($k1 == 0) {
|
|
|
+ $num = $v['num'];
|
|
|
+ $order_price = round($v['price'],2);
|
|
|
+ $shifu = $shifu;
|
|
|
+ $record_cash = $record_cash;
|
|
|
+ $refund_cash = round($v['refund_cash'],2);
|
|
|
+ } else {
|
|
|
+ $num = 0;
|
|
|
+ $order_price = 0;
|
|
|
+ $shifu = 0;
|
|
|
+ $record_cash = 0;
|
|
|
+ $refund_cash = 0;
|
|
|
+ }
|
|
|
+
|
|
|
$d = array
|
|
|
(
|
|
|
$shop_type,
|
|
@@ -575,10 +650,15 @@ Class Manage
|
|
|
$fadate,
|
|
|
$fdate,
|
|
|
|
|
|
- $v['num'],
|
|
|
- round($v['price'],2),
|
|
|
- 0,
|
|
|
+ $num,
|
|
|
+ $order_price,
|
|
|
+ $shifu,
|
|
|
+ $record_cash,
|
|
|
$goods_status[$v1['status']],
|
|
|
+ $refund_status,
|
|
|
+ $refund_cdate,
|
|
|
+ $refund_cash,
|
|
|
+
|
|
|
|
|
|
|
|
|
$address_contact,
|