Example #1
0
 public static function getSetlist($companyId)
 {
     $criteria = new CDbCriteria();
     $criteria->condition = 't.delete_flag=0 and t.dpid=' . $companyId;
     $criteria->order = ' t.lid asc ';
     $models = ProductSet::model()->findAll($criteria);
     //return CHtml::listData($models, 'lid', 'category_name','pid');
     //$options = array();
     $options = array(yii::t('app', '--请选择分类--'));
     if ($models) {
         foreach ($models as $model) {
             $options[$model->lid] = $model->set_name;
         }
         //var_dump($options);exit;
     }
     return $options;
 }
 public function actionPrintKitchen()
 {
     $orderId = Yii::app()->request->getParam('orderId', 0);
     $companyId = Yii::app()->request->getParam('companyId');
     $typeId = Yii::app()->request->getParam('typeId');
     $callId = Yii::app()->request->getParam('callId');
     Until::validOperate($companyId, $this);
     $db = Yii::app()->db;
     $ret = array();
     //var_dump(Yii::app()->params->has_cache);exit;
     $transaction = $db->beginTransaction();
     try {
         $order = Order::model()->with('company')->find('t.lid=:id and t.dpid=:dpid', array(':id' => $orderId, ':dpid' => $companyId));
         //var_dump($order);exit;
         $criteria = new CDbCriteria();
         $criteria->condition = 't.status in ("1","2","3") and t.dpid=' . $order->dpid . ' and t.site_id=' . $order->site_id . ' and t.is_temp=' . $order->is_temp;
         $criteria->order = ' t.lid desc ';
         $siteNo = SiteNo::model()->find($criteria);
         //var_dump($siteNo);exit;
         if ($siteNo->is_temp == '0') {
             $site = Site::model()->with('siteType')->find('t.lid=:lid and t.dpid=:dpid', array(':lid' => $order->site_id, ':dpid' => $order->dpid));
             $site->status = '2';
             $site->save();
         } else {
             $site = new Site();
         }
         $orderProducts = OrderProduct::model()->with('product')->findAll('t.order_id=:id and t.dpid=:dpid and t.delete_flag=0', array(':id' => $orderId, ':dpid' => $companyId));
         $order->order_status = '2';
         $order->callno = $callId;
         $order->save();
         $siteNo->status = '2';
         $siteNo->save();
         $jobids = array();
         //var_dump($orderProducts);exit;
         foreach ($orderProducts as $orderProduct) {
             $reprint = false;
             //var_dump($orderProduct);exit;
             if ($orderProduct->is_print == '0') {
                 //echo $orderProduct->is_print; exit;
                 $tempprintret = Helper::printKitchen($order, $orderProduct, $site, $siteNo, $reprint);
                 sleep(4);
                 //echo $tempprintret;exit;
                 //if($tempprintret['status'])
                 //{
                 array_push($jobids, $tempprintret['jobid'] . "_" . $orderProduct->lid);
                 //如果失败jobid==0,检测时判断就行
                 //}
                 //$orderProduct->is_print='1';
                 $orderProduct->product_order_status = '1';
                 $orderProduct->save();
                 if ($orderProduct->set_id != "0000000000") {
                     $productset = ProductSet::model()->find('t.lid=:id and t.dpid=:dpid', array(':id' => $orderProduct->set_id, ':dpid' => $companyId));
                     if (!empty($productset)) {
                         $productset->order_number++;
                         $productset->save();
                     }
                 }
                 $product = Product::model()->find('t.lid=:id and t.dpid=:dpid', array(':id' => $orderProduct->product_id, ':dpid' => $companyId));
                 if (!empty($product)) {
                     $product->order_number++;
                     $product->save();
                 }
                 //                                $product=  Product::model()->find('t.lid=:id and t.dpid=:dpid' , array(':id'=>$orderProduct->product_id,':dpid'=>$companyId));
                 //                                $product->order_number++;
                 //                                $product->save();
             }
         }
         $transaction->commit();
         //var_dump(json_encode($jobids));exit;
         Gateway::getOnlineStatus();
         $store = Store::instance('wymenu');
         $store->set("kitchenjobs_" . $companyId . "_" . $orderId, json_encode($jobids), 0, 300);
         $ret = array('status' => true, 'allnum' => count($jobids), 'msg' => yii::t('app', '打印任务正常发布'));
     } catch (Exception $e) {
         $transaction->rollback();
         //如果操作失败, 数据回滚
         $ret = array('status' => false, 'allnum' => count($jobids), 'msg' => yii::t('app', '打印任务发布异常'));
         Yii::app()->end(json_encode($ret));
     }
     $this->renderPartial('printresultlist', array('orderId' => $orderId, 'ret' => $ret, 'typeId' => $typeId, 'callId' => $callId));
     /*/////////////test
       Gateway::getOnlineStatus();
       $se=new Sequence("printer_job_id");
       $jobid = $se->nextval();
       $test_print_data=array(
           "company_id"=>  $this->companyId,
           "job_id"=>$jobid,
           "printer"=>"192.168.63.100",
           "content"=>"BBB6D3ADCAB9D3C30A0A0A0A0A0A1D5601"
       );
       $store = Store::instance('wymenu');
       $clientId=$store->get("client_".$companyId);
       var_dump($clientId, json_encode($test_print_data));
       if(!empty($clientId))
       {
           Gateway::sendToClient($clientId,json_encode($test_print_data));
       }
       exit;*/
     ///////////test
 }
 public function actionDetailIndex()
 {
     $pwlid = Yii::app()->request->getParam('lid');
     $criteria = new CDbCriteria();
     $criteria->with = array('product');
     $criteria->order = 't.group_no';
     //$criteria->with = 'printer';
     $criteria->condition = 't.dpid=' . $this->companyId . ' and t.set_id=' . $pwlid . ' and t.delete_flag=0 and product.delete_flag=0';
     $criteria2 = new CDbCriteria();
     $criteria2->condition = 't.dpid=' . $this->companyId . ' and t.lid=' . $pwlid . ' and t.delete_flag=0';
     $pages = new CPagination(ProductSetDetail::model()->count($criteria));
     //	    $pages->setPageSize(1);
     $pages->applyLimit($criteria);
     $models = ProductSetDetail::model()->findAll($criteria);
     $psmodel = ProductSet::model()->find($criteria2);
     // var_dump($psmodel);exit;
     $this->render('detailindex', array('models' => $models, 'psmodel' => $psmodel, 'pages' => $pages));
 }
Example #4
0
 public function actionIndex()
 {
     //
     $companyId = Yii::app()->request->getParam('companyId', '0');
     $typeId = Yii::app()->request->getParam('typeId', '0');
     $siteTypes = SiteClass::getTypes($this->companyId);
     if (empty($siteTypes)) {
         $typeId = 'tempsite';
     }
     if ($typeId != 'tempsite') {
         $typeKeys = array_keys($siteTypes);
         $typeId = array_search($typeId, $typeKeys) ? $typeId : $typeKeys[0];
     }
     $criteria = new CDbCriteria();
     $criteria->condition = 't.delete_flag=0 and t.dpid=' . $companyId;
     $criteria->order = ' pid,lid ';
     $categories = ProductCategory::model()->findAll($criteria);
     //                var_dump($categories);exit;
     $criteriaps = new CDbCriteria();
     $criteriaps->condition = 't.delete_flag=0 and t.dpid=' . $companyId;
     $criteriaps->with = "productsetdetail";
     $criteriaps->order = ' t.lid asc ';
     $productSets = ProductSet::model()->findAll($criteriaps);
     $setprice = array();
     foreach ($productSets as $productSet) {
         $sqlsetsum = "select sum(price * number) as tprice from nb_product_set_detail where dpid=" . $companyId . " and set_id=" . $productSet->lid . " and is_select=1 and delete_flag=0";
         $nowval = Yii::app()->db->createCommand($sqlsetsum)->queryScalar();
         $setprice[$productSet->lid] = empty($nowval) ? "0.00" : $nowval;
     }
     //var_dump($setprice);exit;
     $criteriap = new CDbCriteria();
     $criteriap->condition = 'delete_flag=0 and t.dpid=' . $companyId;
     // and is_show=1
     $criteriap->order = ' t.category_id asc,t.lid asc ';
     $products = Product::model()->findAll($criteriap);
     //var_dump($products);exit;
     $productidnameArr = array();
     foreach ($products as $product) {
         $productidnameArr[$product->lid] = $product->product_name;
     }
     //var_dump($productidnameArr);exit;
     $this->render('indexall', array('siteTypes' => $siteTypes, 'typeId' => $typeId, "categories" => $categories, "productSets" => $productSets, 'setprice' => $setprice, "products" => $products, "pn" => $productidnameArr));
 }
 public function actionIndex()
 {
     //$sc = Yii::app()->request->getPost('csinquery');
     $typeId = Yii::app()->request->getParam('typeId');
     $categoryId = Yii::app()->request->getParam('cid', "");
     $fromId = Yii::app()->request->getParam('from', 'sidebar');
     $csinquery = Yii::app()->request->getPost('csinquery', "");
     //var_dump($csinquery);exit;
     if ($typeId == 'product') {
         $criteria = new CDbCriteria();
         $criteria->with = array('company', 'category');
         $criteria->condition = 't.delete_flag=0 and t.dpid=' . $this->companyId;
         if (!empty($categoryId)) {
             $criteria->condition .= ' and t.category_id = ' . $categoryId;
         }
         if (!empty($csinquery)) {
             $criteria->condition .= ' and t.simple_code like "%' . strtoupper($csinquery) . '%"';
         }
         $pages = new CPagination(Product::model()->count($criteria));
         //	    $pages->setPageSize(1);
         $pages->applyLimit($criteria);
         $models = Product::model()->findAll($criteria);
         $categories = $this->getCategories();
         //var_dump($models);exit;
         $this->render('index', array('models' => $models, 'pages' => $pages, 'categories' => $categories, 'categoryId' => $categoryId, 'typeId' => $typeId));
     } else {
         $criteria = new CDbCriteria();
         $criteria->condition = 't.delete_flag=0 and t.dpid=' . $this->companyId;
         $pages = new CPagination(ProductSet::model()->count($criteria));
         $pages->applyLimit($criteria);
         $models = ProductSet::model()->findAll($criteria);
         //var_dump($models);exit;
         $this->render('index', array('models' => $models, 'pages' => $pages, 'typeId' => $typeId));
     }
     //var_dump($sc);exit;
     //$db = Yii::app()->db;
     /*if(empty($sc))
                     {
                         $sql = "SELECT 0 as isset,lid,dpid,product_name as name,simple_code as cs,main_picture as pic , status from nb_product where delete_flag=0 and is_show=1 and dpid=".$this->companyId
                                 . " union ".
                                 "SELECT 1 as isset,lid,dpid,set_name as name,simple_code as cs,main_picture as pic ,status from nb_product_set where delete_flag=0 and dpid=".$this->companyId
                                ;
                     }else{
                         $sql = "SELECT 0 as isset,lid,dpid,product_name as name,simple_code as cs,main_picture as pic , status from nb_product where delete_flag=0 and is_show=1 and dpid=".$this->companyId." and simple_code like '%".$sc."%'"
                                 . " union ".
                                 "SELECT 1 as isset,lid,dpid,set_name as name,simple_code as cs,main_picture as pic ,status from nb_product_set where delete_flag=0 and dpid=".$this->companyId." and simple_code like '%".$sc."%'"
                                ;
                     }
                     $command=$db->createCommand($sql);
                     //$command->bindValue(":table" , $this->table);
                     $models= $command->queryAll();
     		//var_dump($models);exit;
                     $criteria = new CDbCriteria;
     		$pages = new CPagination(count($models));
     		//	    $pages->setPageSize(1);
     		$pages->applyLimit($criteria);
     		$this->render('index',array(
     				'models'=>$models,
     				'pages'=>$pages
     		));*/
 }