/** * 图片管理列表 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); }