Ejemplo n.º 1
0
 /**
  * 批量上传商品
  */
 public function actionRecomupload()
 {
     $this->pageTitle = Yii::app()->name . '-' . "商品管理";
     //文件模板为product
     $template = "dealergoods";
     $userID = Yii::app()->user->id;
     $organID = Commonmodel::getOrganID();
     //上传文件
     if ($_POST['leadExcel'] == "true") {
         $filename = iconv("utf-8", "gb2312", $_FILES['inputExcel']['name']);
         $tmp_name = $_FILES['inputExcel']['tmp_name'];
         //$filePath = dirname(Yii::app()->BasePath) . "/themes/default/uploadsfile/dealer/execl/";
         $filePath = Yii::app()->params['uploadPath'] . 'dealer/execl/';
         $upload_result = UploadsFile::uploadFile($filename, $tmp_name, $filePath);
         //如果上传成,则解析Excel文件
         if ($upload_result['success']) {
             //解析Excel文件,返回结果为错误消息,如果不为空则表明发生错误
             $uploadfile = $upload_result['uploadfile'];
             $dataImport = new GoodsImport();
             $createtime = time();
             $data = array('OrganID' => $organID, 'UserID' => $userID, 'CreateTime' => $createtime);
             $result = $dataImport->parse($uploadfile, $template, $data);
             //如果不成功则返回错误结果
             if (!$result['success']) {
                 $message = $result['error'];
                 $this->render('index', array('message' => $message));
                 exit;
             }
             $insert_sql = $result['sql'];
             $sql_result = DBUtil::execute($insert_sql);
             //如果SQL执行不成功则返回错误结果
             if ($sql_result && !$sql_result['result']) {
                 $this->render('index', array('message' => $sql_result['error']));
                 exit;
             } else {
                 // 上传成功,则把上传成功的数据展示出来
                 // 把数据分拆出来,添加到其他表 、DealerParts  、DealerPromotionCpname
                 // $message = Yii::app()->db->getLastInsertID();
                 $lastID = Yii::app()->db->getLastInsertID();
                 $newsgoods = DealerGoods::model()->findAll("ID >= {$lastID}");
                 foreach ($newsgoods as $value) {
                     $goodsspec = new DealerGoodsSpec();
                     $goodsspec->GoodsID = $value['ID'];
                     $goodsspec->save();
                     $goodspack = new DealerGoodsPack();
                     $goodspack->GoodsID = $value['ID'];
                     $goodspack->save();
                     $goodsoe = new DealerGoodsOenoRelation();
                     $goodsoe->GoodsID = $value['ID'];
                     $goodsoe->OENO = $value['OENO'];
                     $goodsoe->OrganID = $organID;
                     $goodsoe->save();
                 }
                 $this->redirect(array('index', 'message' => $booc, 'success' => TRUE));
             }
         } else {
             $message = $upload_result['error'];
             $this->render('index', array('message' => $message));
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * 
  * 获取商品信息
  * @param type array() $prams
  * Description 根据传入的阐述
  * 参数传入方法: array('OrganID'=>'机构ID','goodsName'=>'商品名称',...);
  *                如果需要分页,array('rows'=>'每页显示条数',...); 返回结果 获取总条数: $data[0]['count'];
  * @return array 
  * 使用方法 : 1、DealerGoods::getGoodsInfo(); 
  *             3、DealerGoods::getGoodsInfo(array('goodsName'=>'商品001')); 等
  */
 public static function getGoodsInfo($params = '')
 {
     $criteria = new CDbCriteria();
     $criteria->select = "*";
     $criteria->order = "t.ID DESC";
     //排序条件:update_time,id倒叙
     //        $criteria->with = array('goodsspec', 'goodspack');
     $criteria->condition = 't.ISdelete =1';
     // 查询条件
     if (is_array($params)) {
         $organID = $params['OrganID'];
         // 机构ID
         $rows = $params['rows'];
         $curpage = $params['page'];
         // 每页显示条数
         $goodsNO = $params['goodsNO'];
         // 商品编号
         $goodsName = $params['goodsName'];
         // 商品名称
         $brandID = $params['BrandID'];
         // 商品品牌ID
         $brand = $params['BrandName'];
         // 商品品牌名
         $OENO = $params['OENO'];
         // 商品OE号
         $IsSale = $params['IsSale'];
         // 是否上架
         $IsPro = $params['IsPro'];
         // 是否促销
         //   $gbigparts = $params['gbigparts'];          // 大类
         //   $gsubparts = $params['gsubparts'];          // 子类
         //   $gcpname = $params['gcpname'];              // 标准名称
         $gcpnametxt = $params['gcpnametxt'];
         // 标准名称
         $gmake = $params['gmake'];
         // 厂家
         $gcar = $params['gcar'];
         // 车系
         $gyear = $params['gyear'];
         // 年款
         $gmodel = $params['gmodel'];
         // 车型
         if (empty($IsSale)) {
             // 是否上架
             $criteria->addCondition("t.IsSale = 1", "AND");
         } elseif ($IsSale == 'all') {
             $criteria->addBetweenCondition('IsSale', 0, 1, "AND");
         } else {
             if ($IsSale == 2) {
                 $criteria->addCondition("IsSale = 0", "AND");
             } else {
                 $criteria->addCondition("t.IsSale = 1", "AND");
             }
         }
         if (empty($IsPro) || $IsPro == 'all') {
             // 是否促销
             $criteria->addBetweenCondition('t.IsPro', 0, 1, "AND");
         } else {
             if ($IsPro == 2) {
                 // 不是促销的
                 $criteria->addCondition("t.IsPro = 0", "AND");
             } else {
                 // 是促销的
                 //   $Times = time() - 24 * 60 * 60 * 7 * 2 ;
                 $criteria->addCondition("t.IsPro = 1", "AND");
                 //  $criteria->addCondition("ProTime < $Times", "AND");
             }
         }
         if (!empty($goodsNO)) {
             // 商品编号
             $criteria->addSearchCondition("t.GoodsNO", "{$goodsNO}", "AND");
         }
         if (!empty($goodsName)) {
             // 商品名称
             $criteria->addSearchCondition("t.Name", "{$goodsName}", "AND");
         }
         if (!empty($brandID)) {
             // 品牌ID
             $criteria->addCondition("t.BrandID = {$brandID} ", "AND");
         }
         if (!empty($brand)) {
             // 品牌名称
             $criteria->addCondition("t.Brand = '{$brand}' ", "AND");
         }
         if (!empty($organID)) {
             // 机构名称
             $criteria->addCondition("t.OrganID = {$organID} ", "AND");
         }
         //            if (!empty($gbigparts)) {
         //                if (!empty($gcpname)) {
         //                    $criteria->addCondition("t.BigParts = $gbigparts ", "AND");
         //                    $criteria->addCondition("t.CpName = $gcpname ", "AND");
         //                } else {
         //                    $criteria->addCondition("t.BigParts = $gcpname ", "AND");
         //                }
         //            }
         if (!empty($gcpnametxt) && $gcpnametxt != "请选择标准名称") {
             $criteria->addCondition("t.CpNameTxt = '{$gcpnametxt}'", "AND");
             // $criteria->addCondition("t.CpNameTxt = '空气滤清器'", "AND");
         }
         if ($OENO) {
             $OENOs = self::getOENOcondition($OENO);
             if ($OENOs) {
                 $criteria->addInCondition('t.ID', $OENOs, "AND");
             } else {
                 $criteria->addInCondition('t.ID', array(0), "AND");
             }
         }
         if (!empty($gmake)) {
             // 车型车系
             $arr = array();
             $arr['gmake'] = $gmake ? $gmake : 0;
             $arr['gcar'] = $gcar ? $gcar : 0;
             $arr['gyear'] = $gyear ? $gyear : 0;
             $arr['gmodel'] = $gmodel ? $gmodel : 0;
             $goodsIDS = self::getVehcondition($arr);
             //var_dump($goodsIDS);     exit;
             if ($goodsIDS) {
                 $criteria->addInCondition('t.ID', $goodsIDS, "AND");
             } else {
                 $criteria->addInCondition('t.ID', array(0), "AND");
             }
             //                $MakeInfo = D::queryFrontMakeInfo($gmake);
             //                $SeriesInfo = D::queryFrontSeriesInfo($gcar);
         }
         // var_dump($params);
     } else {
         if (!empty($params) && !is_array($params)) {
             return '参数传入错误';
         }
     }
     $count = DealerGoods::model()->count($criteria);
     //        $rows = $rows ? $rows : 10;
     //        $offset = $curpage * $rows + 1;
     //        $criteria->limit = $rows;   //取1条数据,如果小于0,则不作处理
     //        $criteria->offset = $offset;
     $pages = new CPagination($count);
     $pages->pageSize = $rows ? $rows : 10;
     $pages->applyLimit($criteria);
     $goodses = DealerGoods::model()->findAll($criteria);
     // var_dump($goodses);
     $data = array();
     $data[0]['count'] = $count;
     foreach ($goodses as $key => $goods) {
         $data[$key]['ID'] = $goods['ID'];
         $data[$key]['OrganID'] = $goods['OrganID'];
         $organInfo = self::getOrganName($goods['OrganID']);
         $data[$key]['OrganName'] = $organInfo['organName'];
         $data[$key]['Name'] = $goods['Name'];
         $data[$key]['goodsName'] = F::msubstr($goods['Name'], 0, 20);
         $data[$key]['gName'] = mb_substr($goods['Name'], 0, 20, 'utf-8');
         $data[$key]['Pinyin'] = $goods['Pinyin'];
         $data[$key]['Pinyin2'] = F::msubstr($goods['Pinyin'], 0, 10);
         $data[$key]['Brand'] = self::getBrandByID($goods['BrandID']);
         $data[$key]['Brand'] = $data[$key]['Brand'] ? $data[$key]['Brand'] : $goods['Brand'];
         $data[$key]['goodsBrand'] = $goods['BrandID'];
         $data[$key]['GoodsNO'] = $goods['GoodsNO'];
         $data[$key]['OENO'] = $goods['OENO'];
         $data[$key]['OENOS'] = self::getOENOSByGoodsID($goods['ID']) ?: $goods['OENO'];
         // 车型车系
         $vehs = explode('、', self::getVehicleByGoodsID($goods['ID']));
         //  'seriesName'=>'','makeId'=>'','makeName'=>'');
         //检索商品本身的适用车型,如果有子集的车型则显示有子集的车型
         $data[$key]['Vehicle'] = self::getCurrentVehicle($arr);
         $data[$key]['Vehicle'] = $data[$key]['Vehicle'] ? $data[$key]['Vehicle'] : $vehs[0];
         $data[$key]['Vehicles'] = self::getVehicleByGoodsID($goods['ID']);
         $data[$key]['PartsLevel'] = $goods['PartsLevel'];
         $data[$key]['Memo'] = $goods['Memo'];
         $data[$key]['Price'] = $goods['Price'];
         // 参考价
         if ($goods['IsPro'] == 1) {
             if (empty($goods['ProPrice']) || $goods['ProPrice'] == 0) {
                 $data[$key]['ProPrice'] = $goods['Price'];
                 // 促销价
             } else {
                 $data[$key]['ProPrice'] = $goods['ProPrice'];
                 // 促销价
             }
         }
         $data[$key]['LogisticsPrice'] = $goods['LogisticsPrice'];
         // 物流价
         //$data[$key]['BigParts'] = Commonmodel::getCategory($goods['BigParts']);
         //$data[$key]['SubParts'] = Commonmodel::getCategory($goods['SubParts']);
         //$data[$key]['CpName'] = Commonmodel::getCategory($goods['CpName']);
         $data[$key]['CpNameTxt'] = $goods['CpNameTxt'];
         $data[$key]['mainCategory'] = $goods['BigParts'];
         $data[$key]['subCategory'] = $goods['SubParts'];
         $data[$key]['leafCategory'] = $goods['CpName'];
         // $data[$key]['sutecar'] = F::msubstr($this->getcar($goods['ID']));
         $data[$key]['IsSale'] = $goods['IsSale'] == 1 ? '已上架' : '已下架';
         $data[$key]['IsUpSale'] = $goods['IsSale'];
         $data[$key]['proTime'] = date("Y-m-d", $goods['ProTime']) . '--' . date("Y-m-d", $goods['ProTime'] + 60 * 60 * 24 * 14);
         // 促销时间
         // 商品属性
         $data[$key]['Weight'] = "";
         $data[$key]['Length'] = "";
         $data[$key]['Wide'] = "";
         $data[$key]['Height'] = "";
         $data[$key]['Volume'] = "";
         $data[$key]['ValidityDate'] = "";
         $data[$key]['ValidityType'] = "";
         $data[$key]['Specifica'] = "";
         $data[$key]['Unit'] = "";
         $data[$key]['BganCompany'] = "";
         $data[$key]['BganGoodsNO'] = "";
         $data[$key]['PartsNO'] = "";
         $data[$key]['JiapartsNO'] = "";
         // 嘉配号
         $data[$key]['ImageUrl'] = "";
         // 图像名称
         $data[$key]['DetectionImg'] = "";
         // 检测图像
         $cmodel = DealerGoodsSpec::model()->findByAttributes(array('GoodsID' => $goods['ID']));
         if ($cmodel) {
             $data[$key]['Weight'] = $cmodel->Weight;
             $data[$key]['Length'] = $cmodel->Length;
             $data[$key]['Wide'] = $cmodel->Wide;
             $data[$key]['Height'] = $cmodel->Height;
             $data[$key]['Volume'] = $cmodel->Volume;
             $data[$key]['ValidityType'] = $cmodel->ValidityType;
             $data[$key]['ValidityDate'] = $cmodel->ValidityDate;
             if ($cmodel->ValidityType == 1) {
                 $data[$key]['Validity'] = '不保修';
             }
             if ($cmodel->ValidityType == 2) {
                 $data[$key]['Validity'] = '保装车';
             }
             if ($cmodel->ValidityType == 3) {
                 $data[$key]['Validity'] = $cmodel->ValidityDate;
             }
             $data[$key]['Specifica'] = $cmodel->Specifica;
             $data[$key]['Unit'] = $cmodel->Unit;
             $data[$key]['BganCompany'] = $cmodel->BganCompany;
             $data[$key]['BganGoodsNO'] = $cmodel->BganGoodsNO;
             $data[$key]['PartsNO'] = $cmodel->PartsNO;
             $data[$key]['JiapartsNO'] = $cmodel->JiapartsNO;
             // 嘉配号
             $data[$key]['ImageUrl'] = $cmodel->ImageUrl;
             // 图像名称
             $data[$key]['DetectionImg'] = $cmodel->DetectionImg;
             // 检测图像
         }
         // 商品包装
         $data[$key]['pWeight'] = "";
         $data[$key]['pVolume'] = "";
         $data[$key]['MinQuantity'] = "";
         $cmodel = DealerGoodsPack::model()->findByAttributes(array('GoodsID' => $goods['ID']));
         if ($cmodel) {
             $data[$key]['pWeight'] = $cmodel->Weight;
             $data[$key]['pVolume'] = $cmodel->Volume;
             $data[$key]['MinQuantity'] = $cmodel->MinQuantity;
         }
     }
     return $data;
 }