Ejemplo n.º 1
0
 public function actionAddAddition()
 {
     $companyId = Yii::app()->request->getParam('companyId', '0');
     $typeId = Yii::app()->request->getParam('typeId', '0');
     $orderId = Yii::app()->request->getParam('orderId', '0');
     $productId = Yii::app()->request->getParam('productId', '0');
     $products = ProductClass::getAdditionProducts($productId, $companyId);
     if (Yii::app()->request->isPostRequest) {
         Until::validOperate($companyId, $this);
         $additionnames = Yii::app()->request->getPost('additionnames', '');
         $db = Yii::app()->db;
         $transaction = $db->beginTransaction();
         try {
             if (strlen($additionnames) > 10) {
                 $productIdlist = explode(',', $additionnames);
                 //update parent product
                 $db->createCommand('update nb_order_product set main_id=product_id where product_id=:productid and dpid=:dpid')->execute(array(':productid' => $productId, ':dpid' => $companyId));
                 foreach ($productIdlist as $product) {
                     //var_dump($productId);
                     $sorderProduct = new OrderProduct();
                     $sorderProduct->dpid = $companyId;
                     $sorderProduct->delete_flag = '0';
                     $sorderProduct->product_order_status = '0';
                     $sorderProduct->order_id = $orderId;
                     $sorderProduct->main_id = $productId;
                     $sorderProduct->set_id = '0000000000';
                     //$orderProduct->attributes = Yii::app()->request->getPost('OrderProduct');
                     $sorderProduct->create_at = date('Y-m-d H:i:s', time());
                     $productUnit = explode('|', $product);
                     $sorderProduct->product_id = $productUnit[0];
                     $sorderProduct->price = $productUnit[1];
                     $sorderProduct->amount = $productUnit[2];
                     $sorderProduct->is_giving = '0';
                     $sorderProduct->zhiamount = 0;
                     $se = new Sequence("order_product");
                     $sorderProduct->lid = $se->nextval();
                     //var_dump($orderProduct);exit;
                     $sorderProduct->save();
                 }
             }
             $transaction->commit();
             Yii::app()->user->setFlash('success', yii::t('app', '添加成功'));
             $this->redirect(array('defaultOrder/order', 'companyId' => $this->companyId, 'orderId' => $orderId, 'typeId' => $typeId));
         } catch (Exception $e) {
             $transaction->rollback();
             //如果操作失败, 数据回滚
             //echo json_encode(array('status'=>0,'message'=>'换台失败'));
             Yii::app()->user->setFlash('success', yii::t('app', '添加失败'));
             return false;
         }
         //var_dump($orderProduct);exit;
         //第一个菜需要更新订单状态。。。。
         //添加产品时,还可以添加套餐。。。
     }
     $paymentMethods = PaymentClass::getPaymentMethodList($companyId);
     //var_dump($paymentMethods);exit;
     $this->renderPartial('additiondetail', array('orderId' => $orderId, 'models' => $products, 'productId' => $productId, 'typeId' => $typeId));
 }