public function actionSaleMobile() { $this->checkLogin(); $user_id = Yii::app()->request->cookies['user_id']->value; if (!empty($_POST)) { $barcode = Util::input($_POST['barcode']); $info = Product::getInfoByBarcode($barcode); $user = User::model()->findByPk((int) $user_id); $saleTemp = new SaleTemp(); $saleTemp->barcode = $barcode; $saleTemp->serial = Util::input($_POST['serial']); $saleTemp->qty = 1; $saleTemp->qty_per_pack = $info['qty_per_pack']; $saleTemp->price = $info['price']; $saleTemp->user_id = $user_id; $saleTemp->branch_id = $user->branch_id; $saleTemp->pk_temp = rand(1000, 10000); $saleTemp->created_at = new CDbExpression('NOW()'); $saleTemp->old_price = $info['old_price']; $saleTemp->sale_type = 'mobile'; $saleTemp->name = $info['name']; if ($saleTemp->save()) { $this->redirect(array('SaleMobile')); } } $saleTemps = SaleTemp::model()->findAll(array('condition' => 'user_id = :user_id AND sale_type = :sale_type', 'params' => array('user_id' => $user_id, 'sale_type' => 'mobile'), 'order' => 'created_at DESC')); $this->renderPartial('//Basic/SaleMobile', array('saleTemps' => $saleTemps, 'sum' => 0)); }
public function actionEndSaleMobile() { $user_id = (int) Yii::app()->request->cookies['user_id']->value; $user = User::model()->findByPk($user_id); $saleTemps = SaleTemp::model()->findAllByAttributes(array('user_id' => $user_id, 'sale_type' => 'mobile')); // find total money $total_money = 0; foreach ($saleTemps as $saleTemp) { $total_money += $saleTemp->price; } // bill sale $billSale = new BillSale(); $billSale->bill_sale_created_date = new CDbExpression('NOW()'); $billSale->bill_sale_status = 'pay'; $billSale->member_id = 0; $billSale->bill_sale_vat = 'no'; $billSale->user_id = $user_id; $billSale->branch_id = $user->branch_id; $billSale->bill_sale_pay_date = new CDbExpression('NOW()'); $billSale->vat_type = 'in'; $billSale->bonus_price = 0; $billSale->out_vat = 0; $billSale->input_money = 0; $billSale->return_money = 0; $billSale->total_money = $total_money; $billSale->sale_type = 'mobile'; if ($billSale->save()) { // bill sale detail foreach ($saleTemps as $saleTemp) { $info = Product::getInfoByBarcode($saleTemp->barcode); $billSaleDetail = new BillSaleDetail(); $billSaleDetail->bill_id = $billSale->bill_sale_id; $billSaleDetail->bill_sale_detail_barcode = $saleTemp->barcode; $billSaleDetail->bill_sale_detail_price = $saleTemp->price; $billSaleDetail->bill_sale_detail_price_vat = 0; $billSaleDetail->bill_sale_detail_qty = 1; $billSaleDetail->bill_sale_detail_has_bonus = 'no'; $billSaleDetail->bill_sale_detail_type = 'one'; $billSaleDetail->old_price = $info['old_price']; $billSaleDetail->save(); } // clear sale temp SaleTemp::model()->deleteAllByAttributes(array('user_id' => $user_id, 'sale_type' => 'mobile')); // success echo 'success'; } }