示例#1
0
 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));
 }
示例#2
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';
     }
 }