Ejemplo n.º 1
0
 /**
  * 图片管理列表 SKU版
  **/
 function manageSKU()
 {
     $ret = array('status' => 0, 'msg' => '', 'Website_template' => $this->Website_template);
     try {
         $page = Yii::app()->request->getParam("page");
         $sort = Yii::app()->request->getParam("sort");
         $Auditing = Yii::app()->request->getParam("Auditing");
         //审核状态
         $category = Yii::app()->request->getParam("category");
         //分类
         $order_date = Yii::app()->request->getParam("order_date");
         //订单时间
         $search_type = Yii::app()->request->getParam("search_type");
         //搜索类别
         $search_val = Yii::app()->request->getParam("search_val");
         //搜索内容
         $patform_val = Yii::app()->request->getParam("patform_val");
         //平台
         if (empty($page)) {
             $page = 1;
         }
         if (empty($sort)) {
             $sort = 'down';
         }
         $ret['sort'] = $sort;
         $ret['search_val'] = $search_val;
         //搜索内容
         $ret['search_type'] = $search_type;
         //搜索类别
         $ret['Auditing'] = $Auditing;
         //审核状态
         $ret['category'] = $category;
         //分类
         $ret['order_date'] = $order_date;
         //订单时间
         $ret['patform_val'] = $patform_val;
         //平台筛选
         $limit = 20;
         //获取用户信息
         $user_ret = WebUser::getusersall('beu_users.id=' . $_SESSION['user_id']);
         if ($user_ret['status'] == 0) {
             throw new Exception($user_ret['msg']);
         }
         unset($user_ret['data'][0]['pwd']);
         $ret['user'] = $user_ret['data'][0];
         //获取品牌名
         $brand_ret = Brand::brandSelectById($_SESSION['brandid']);
         if (count($brand_ret) == 0) {
             throw new Exception('');
         }
         $ret['user']['brandname'] = $brand_ret[0]['name'];
         //获取平台ID
         $patform = new patformclass();
         $patform_ret = $patform->select_erp_patform();
         //获取所有平台
         $cut_detaile = new cut_detaileclass();
         $cut_ret = $cut_detaile->select_erp_cut_detaile($_SESSION['brandid']);
         //获取品牌所有的裁剪模版
         $patform_to_cut = array();
         foreach ($cut_ret as $value) {
             foreach ($patform_ret as $p_value) {
                 if ($value['patformid'] == $p_value['id']) {
                     $patform_to_cut[$p_value['name']] = $p_value['Englishname'] . '_' . $value['id'];
                 }
             }
         }
         $ret['patform'] = $patform_to_cut;
         $clothes_where_arr = array();
         //衣服列表查询条件
         if (!empty($order_date)) {
             $clothes_where_arr['startime'] = $order_date;
             $clothes_where_arr['endtime'] = $order_date;
         }
         if (!empty($category)) {
             $clothes_where_arr['brandcategoryid'] = $category;
         }
         if (!empty($Auditing)) {
             $clothes_where_arr['imagestatus'] = $Auditing;
         }
         if (!empty($search_val)) {
             if (empty($search_type)) {
                 $clothes_where_arr['search'] = array('sku' => 'like_%' . $search_val . '%', 'erp_order.ordername' => 'like_%' . $search_val . '%');
             } else {
                 if ($search_type == 'brandnumber') {
                     $clothes_where_arr['sku'] = 'like_%' . $search_val . '%';
                 } else {
                     $clothes_where_arr['erp_order.ordername'] = 'like_%' . $search_val . '%';
                 }
             }
         }
         if (!empty($ret['patform_val'])) {
             //平台筛选不为空 需要筛选
             $patform_val_arr = explode('_', $ret['patform_val']);
             $pushDetaile = new pushDetaileclass();
             $pushDetaile_ret = $pushDetaile->select_all_push($_SESSION['brandid'], array('cutid' => $patform_val_arr[1], 'distinct' => 'sku'));
             foreach ($pushDetaile_ret['data'] as $value) {
                 $sk_array[] = $value['count_sku'];
             }
             if (count($sk_array) > 0) {
                 $clothes_where_arr['sku' . ($patform_val_arr[2] == 0 ? '_not' : '')] = $sk_array;
             } elseif ($patform_val_arr[2] == 1) {
                 $clothes_where_arr['id'] = 0;
             }
         }
         $clothesorder = new clothesorderclass();
         $c_ret = $clothesorder->select_all_clothes($_SESSION['brandid'], 0, $clothes_where_arr, $limit, $limit * ($page - 1), $sort == 'down' ? 'erp_order.addtime desc' : 'erp_order.addtime asc', 'SKU');
         $SKU_array = array();
         //分页查询后的SKU数组
         $c_order_name = array();
         //订单序号
         //查询单品的图片
         $c_img_data = array();
         $SKU_key_arr = array();
         $SKU_date_arr = array();
         //用于二次排序
         foreach ($c_ret['data'] as $key => $value) {
             $c_img_data[$value['id']] = $value['sku'];
             $SKU_array[] = $value['sku'];
             $clothes_where_arr['sku'] = $SKU_array;
             $SKU_key_arr[$value['sku']] = array('key' => $key, 'o_addtime' => $value['o_addtime']);
             $SKU_date_arr[$key] = $value['o_addtime'];
         }
         //获取SKU对应的所有的SKC数据
         $c_skc_ret = $clothesorder->select_all_clothes($_SESSION['brandid'], 0, $clothes_where_arr, -1, -1);
         $Skc_img_data = array();
         $SKC_to_SKU = array();
         $Skc_img_num_data = array();
         //图片数量
         $SKU_order_data = array();
         //SKU对应的订单
         $SKU_order_date_data = array();
         //SKU对应的订单时间
         foreach ($c_skc_ret['data'] as $value) {
             $Skc_img_data[$value['id']] = array('url' => '', 'pcount' => 0, 'mcount' => 0, 'dcount' => 0, 'img_type' => -1, 'img_data' => '2035-12-31 00:00:00');
             $SKC_to_SKU[$value['sku']][] = $value['id'];
             $Skc_img_num_data[$value['id']] = array('pcount' => 0, 'mcount' => 0, 'dcount' => 0);
             $c_order_name[$value['orderid']] = $value['orderid'];
             if (!in_array($value['orderid'], $SKU_order_data[$value['sku']])) {
                 $SKU_order_data[$value['sku']][] = $value['orderid'];
                 $SKU_order_date_data[$value['sku']][] = $value['o_addtime'];
             }
         }
         //获取款号下所有图片
         $clothesimage = new clothesimageclass();
         $img_ret = $clothesimage->select_all_image(array_keys($Skc_img_data), -1, array('isshow' => 0), '', 'id asc');
         $img_ret_data = array();
         //将款号的图片统计到一起
         foreach ($img_ret as $value) {
             switch ($value->type) {
                 case 0:
                     $Skc_img_num_data[$value->clothes_order_id]['pcount']++;
                     $value->status == 0 ? $Skc_img_data[$value->clothes_order_id]['pcount']++ : '';
                     //灰模图
                     if (!empty($value->url) && !in_array($Skc_img_data[$value->clothes_order_id]['img_type'], array(0, 1)) && strtotime($Skc_img_data[$value->clothes_order_id]['img_data']) > strtotime($value->addtime)) {
                         $Skc_img_data[$value->clothes_order_id]['img_type'] = $value->type;
                         $Skc_img_data[$value->clothes_order_id]['url'] = $value->url;
                         $Skc_img_data[$value->clothes_order_id]['img_data'] = $value->addtime;
                     }
                     break;
                 case 1:
                     $Skc_img_num_data[$value->clothes_order_id]['pcount']++;
                     $value->status == 0 ? $Skc_img_data[$value->clothes_order_id]['pcount']++ : '';
                     //立体图
                     if (!empty($value->url) && !in_array($Skc_img_data[$value->clothes_order_id]['img_type'], array(1)) && strtotime($Skc_img_data[$value->clothes_order_id]['img_data']) > strtotime($value->addtime)) {
                         $Skc_img_data[$value->clothes_order_id]['img_type'] = $value->type;
                         $Skc_img_data[$value->clothes_order_id]['url'] = $value->url;
                         $Skc_img_data[$value->clothes_order_id]['img_data'] = $value->addtime;
                     }
                     break;
                 case 2:
                     $Skc_img_num_data[$value->clothes_order_id]['pcount']++;
                     $value->status == 0 ? $Skc_img_data[$value->clothes_order_id]['pcount']++ : '';
                     //静态图
                     if (!empty($value->url) && !in_array($Skc_img_data[$value->clothes_order_id]['img_type'], array(0, 1, 2)) && strtotime($Skc_img_data[$value->clothes_order_id]['img_data']) > strtotime($value->addtime)) {
                         $Skc_img_data[$value->clothes_order_id]['img_type'] = $value->type;
                         $Skc_img_data[$value->clothes_order_id]['url'] = $value->url;
                         $Skc_img_data[$value->clothes_order_id]['img_data'] = $value->addtime;
                     }
                     break;
                 case 3:
                     $Skc_img_num_data[$value->clothes_order_id]['mcount']++;
                     $value->status == 0 ? $Skc_img_data[$value->clothes_order_id]['mcount']++ : '';
                     //模特图
                     if (!empty($value->url) && !in_array($Skc_img_data[$value->clothes_order_id]['img_type'], array(0, 1, 2, 3)) && strtotime($Skc_img_data[$value->clothes_order_id]['img_data']) > strtotime($value->addtime)) {
                         $Skc_img_data[$value->clothes_order_id]['img_type'] = $value->type;
                         $Skc_img_data[$value->clothes_order_id]['url'] = $value->url;
                         $Skc_img_data[$value->clothes_order_id]['img_data'] = $value->addtime;
                     }
                     break;
                 case 4:
                     $Skc_img_num_data[$value->clothes_order_id]['dcount']++;
                     $value->status == 0 ? $Skc_img_data[$value->clothes_order_id]['dcount']++ : '';
                     //细节图
                     if (!empty($value->url) && !in_array($Skc_img_data[$value->clothes_order_id]['img_type'], array(0, 1, 2, 4)) && strtotime($Skc_img_data[$value->clothes_order_id]['img_data']) > strtotime($value->addtime)) {
                         $Skc_img_data[$value->clothes_order_id]['img_type'] = $value->type;
                         $Skc_img_data[$value->clothes_order_id]['url'] = $value->url;
                         $Skc_img_data[$value->clothes_order_id]['img_data'] = $value->addtime;
                     }
                     break;
             }
         }
         //统计SKU下未审核的图片数量
         foreach ($c_img_data as $key => $value) {
             $SKU_data = array('url' => '', 'pcount' => 0, 'mcount' => 0, 'dcount' => 0, 'img_type' => -1);
             foreach ($SKC_to_SKU[$value] as $SKC_key => $SKC_value) {
                 if (!empty($Skc_img_data[$SKC_value]['url'])) {
                     if ($Skc_img_data[$SKC_value]['img_type'] == 0 && !in_array($SKU_data['img_type'], array(0, 1)) || $Skc_img_data[$SKC_value]['img_type'] == 1 && !in_array($SKU_data['img_type'], array(1)) || $Skc_img_data[$SKC_value]['img_type'] == 2 && !in_array($SKU_data['img_type'], array(0, 1, 2)) || $Skc_img_data[$SKC_value]['img_type'] == 3 && !in_array($SKU_data['img_type'], array(0, 1, 2, 3)) || $Skc_img_data[$SKC_value]['img_type'] == 4 && !in_array($SKU_data['img_type'], array(0, 1, 2, 4))) {
                         $SKU_data['img_type'] = $Skc_img_data[$SKC_value]['img_type'];
                         $SKU_data['url'] = $Skc_img_data[$SKC_value]['url'];
                     }
                 }
                 $SKU_data['pcount'] += $Skc_img_data[$SKC_value]['pcount'];
                 $SKU_data['mcount'] += $Skc_img_data[$SKC_value]['mcount'];
                 $SKU_data['dcount'] += $Skc_img_data[$SKC_value]['dcount'];
             }
             $c_img_data[$key] = $SKU_data;
         }
         //统计SKU下图片数量
         foreach ($c_ret['data'] as $key => $value) {
             $c_ret['data'][$key]['pcount'] = 0;
             $c_ret['data'][$key]['mcount'] = 0;
             $c_ret['data'][$key]['dcount'] = 0;
             foreach ($SKC_to_SKU[$value['sku']] as $SKC_key => $SKC_value) {
                 $c_ret['data'][$key]['pcount'] += $Skc_img_num_data[$SKC_value]['pcount'];
                 $c_ret['data'][$key]['mcount'] += $Skc_img_num_data[$SKC_value]['mcount'];
                 $c_ret['data'][$key]['dcount'] += $Skc_img_num_data[$SKC_value]['dcount'];
             }
             $c_ret['data'][$key]['orderid'] = $SKU_order_data[$value['sku']];
             $c_ret['data'][$key]['o_addtime'] = $SKU_order_date_data[$value['sku']];
         }
         //获取分类
         $brandcategory = new brandcategoryclass();
         $b_ret = $brandcategory->select_category($_SESSION['brandid']);
         $b_data = array();
         if (count($b_ret) > 0) {
             foreach ($b_ret as $b_value) {
                 $b_data[$b_value->id] = $b_value->name;
             }
         }
         //分页
         $criteria = new CDbCriteria();
         $pages = new CPagination($c_ret['page_sum']);
         $pages->pageSize = $limit;
         $pages->applyLimit($criteria);
         //获取订单时间列表
         $order_date_list = orderclass::select_order_date($_SESSION['brandid']);
         //获取订单名
         $C_oreder_ret = orderclass::selectOrderNameByOrderID($_SESSION['brandid'], $c_order_name);
         foreach ($C_oreder_ret as $value) {
             $c_order_name[$value['id']] = $value['ordername'];
         }
         $qiniu = new erp_qiniu();
         //七牛的接口类
         $brand_qiniu_account = $qiniu->getAccountByBrand($_SESSION['brandid']);
         //获取品牌的七牛子账号信息
         if (count($brand_qiniu_account) == 0) {
             throw new Exception('品牌暂未绑定七牛帐号');
         }
         $ret['domain'] = $brand_qiniu_account[0]['domain'];
         $ret['order_date_list'] = $order_date_list;
         $ret['img_data'] = $c_img_data;
         $ret['category_data'] = $b_data;
         $ret['data'] = $c_ret['data'];
         $ret['order_name'] = $c_order_name;
         $ret['pages'] = $pages;
         if (count($c_ret['data']) == 0) {
             throw new Exception('查询无果');
         }
         $ret['status'] = 1;
     } catch (Exception $e) {
         $ret['mag'] = $e->getMessage();
     }
     $this->render('manage', $ret);
 }