function pageOut($inPath) { $url = $this->getUrlParams($inPath); $order_id = (int) $url['oid']; session_start(); $tempsales = new m_tempsales(); $info = $tempsales->select("order_id='{$order_id}'")->items; //$info = $_SESSION ['goodsInfo']; $saleObj = new m_sales(); $sales = $mem_rs = array(); $purchaseObj = new m_purchase(); if (is_array($info)) { $url['ac'] = ''; $dateline = time(); $goodsObj = new m_goods(); $cardid = base_Utils::getStr($_POST['cardid']); if ($cardid) { $memberObj = new m_member(); $mem_rs = $memberObj->getMemberPrice($cardid); if (!$mem_rs['mid']) { $this->ShowMsg("会员卡不存在!"); } $sales['mid'] = $mem_rs['mid']; $sales['membercardid'] = $mem_rs['membercardid']; $sales['realname'] = $mem_rs['realname']; } //$order_id = date ( "mdHis", time () ) . base_Utils::random ( 4, 1 ); $mem_amount = 0; $pro_amount = 0; foreach ($info as $k => $v) { $out_amount += sprintf("%01.2f", $v['out_price'] * $v['num']); //总价 $pro_amount += sprintf("%01.2f", $v['p_discount'] * $v['num']); //促销优惠的总价 $sales['order_id'] = $order_id; $sales['goods_id'] = $v['goods_id']; $sales['cat_id'] = $v['cat_id']; $sales['goods_sn'] = $v['goods_sn']; $sales['goods_name'] = $v['goods_name']; $sales['num'] = $v['num']; $sales['out_price'] = $v['out_price']; $sales['in_price'] = $goodsObj->getAvgPrice($v['goods_id']); $sales['p_discount'] = $v['p_discount']; //促销优惠的金额 $sales['price'] = $sales['out_price'] - $sales['p_discount']; if ($v['ismemberprice'] == 1 and $mem_rs['mid']) { $sales['m_discount'] = ($v['out_price'] - $v['p_discount']) * (100 - $mem_rs['discount']) / 100; //会员+促销优惠 $sales['m_discount'] = sprintf("%01.2f", $sales['m_discount']); $sales['price'] = $sales['out_price'] - $sales['m_discount']; $mem_amount += sprintf("%01.2f", $v['out_price'] * $v['num'] - $sales['m_discount'] * $v['num']); //会员+促销总价 } $sales['dateymd'] = date("Y-m-d", time()); $sales['dateline'] = time(); if (!$saleObj->insert($sales)) { $this->ShowMsg("添加销售记录错误!" . $saleObj->getError()); } $purchaseObj->outStock($sales['goods_id'], $v['num'], sprintf("%01.2f", $sales['price'] * $v['num'])); } //计算应收金额 $real_amount = $out_amount - $mem_amount - $pro_amount; if ($sales['mid']) { $memberObj->setCredit($sales['mid']); } $tempsales->delOrder($order_id); //清除临时销售记录 } $goods = $saleObj->select("order_id={$order_id}")->items; if ($url['ac'] == 'p') { //独立打印 if (!is_array($goods)) { $this->ShowMsg("订单中没有任何商品!"); } foreach ($goods as $k => $v) { $out_amount += sprintf("%01.2f", $v['out_price'] * $v['num']); //应收金额 $pro_amount += sprintf("%01.2f", $v['p_discount'] * $v['num']); //促销优惠的总价 $mem_amount += sprintf("%01.2f", $v['m_discount'] * $v['num']); //会员优惠的总价 $real_amount += sprintf("%01.2f", $v['price'] * $v['num']); //实收金额 减去会员优惠和促销优惠 $dateline = $v['dateline']; } } $this->params['goods'] = $goods; $this->params['order_id'] = $order_id; $this->params['out_amount'] = $out_amount; $this->params['real_amount'] = $real_amount; $this->params['pro_amount'] = $pro_amount; $this->params['mem_amount'] = $mem_amount; $this->params['dateline'] = $dateline; $_SESSION['order_id'] = ""; return $this->render('sales/out.html', $this->params); }