/**
  * ajax询价处理
  */
 public function getAjaxInquiryProcessing()
 {
     $column_index = ["content", "amswer", "member_truename", "product_id", "product_title", "product_standard", "price", "addtime"];
     $column_search = ["message.content", "message.answer", "member.truename", "product.itemid", "product.title", "product.standard", "product.price", "message.addtime"];
     for ($i = 0; $i < count($column_index); $i++) {
         $field[] = " {$column_search[$i]} AS {$column_index[$i]} ";
     }
     $field = Tools::arr2str($field);
     $draw = $_GET['draw'];
     $start = $_GET['start'];
     $limit = $_GET['length'];
     $order = $_GET['order'];
     $order = "{$column_index[$order[0]['column']]} {$order[0]['dir']}";
     if ($_GET['search']['value'] != '') {
         $search_time = Tools::str2arr($_GET['search']['value']);
         $this->month_start = strtotime($search_time[0] . "-01 00:00:00");
         $this->month_end = strtotime($search_time[1] . "-01 23:59:59");
         $y[] = " message.addtime > {$this->month_start} AND  message.addtime < {$this->month_end} ";
     }
     foreach ($_GET['columns'] as $k => $v) {
         if ($v['search']['value'] != '') {
             if ($column_search[$v['data']] == "addtime") {
             } else {
                 $y[] = "{$column_search[$v['data']]} LIKE '%{$v[search][value]}%'";
             }
         }
     }
     $search = '';
     if (count($y) > 0) {
         $search = " AND " . Tools::arr2str($y, " AND ");
     }
     $sql = "SELECT COUNT(message.itemid) AS total\n            FROM __MALL_message AS message\n            INNER JOIN __MALL_sell_5 AS product ON message.cpid = product.itemid\n            INNER JOIN __MALL_member AS member ON message.msgbelong = member.username\n            WHERE message.is_xunjia = 1 {$search}";
     $z = $this->MallDb->list_query($sql);
     $total = $z[0]['total'];
     $sql = "SELECT  {$field}\n            FROM __MALL_message AS message\n            INNER JOIN __MALL_sell_5 AS product ON message.cpid = product.itemid\n            INNER JOIN __MALL_member AS member ON message.msgbelong = member.username\n            WHERE message.is_xunjia = 1 {$search}\n            ORDER BY {$order}\n            LIMIT {$start}, {$limit}";
     $data = $this->MallDb->list_query($sql);
     foreach ($data as $k => $v) {
         foreach ($column_index as $key => $value) {
             if ($value == 'addtime') {
                 $x[$k][] = date("Y-m-d H:i", $v[$value]);
             } else {
                 $x[$k][] = $v[$value];
             }
         }
     }
     //获取Datatables发送的参数 必要
     $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
     $x = json_encode($show);
     echo $x;
 }
 /**
  * 公司产品列表
  */
 public function companyGoodsList()
 {
     // 字段
     $column = [['select' => 'goods.company', 'as' => 'company', 'show_name' => '公司'], ['select' => 'goods.itemid', 'as' => 'goods_id', 'show_name' => '产品id'], ['select' => 'goods.title', 'as' => 'goods_title', 'show_name' => '产品']];
     foreach ($column as $k => $v) {
         $field[] = "{$v['select']} AS {$v['as']}";
     }
     $field = Tools::arr2str($field);
     $this->assign(['column' => $column]);
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search = [" 1 "];
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         // sql主语句
         $_sql = "SELECT {$field} \n                FROM __MALL_sell_5 AS goods\n                WHERE {$search}\n                ORDER BY {$order}";
         // 查询总数
         $sql = "SELECT COUNT(*) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         $data = $this->MallDb->list_query($sql);
         $x = [];
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         $this->display();
     }
 }
 public function OrderOperation()
 {
     if ($draw = I("get.draw")) {
         // 字段
         $column = [['select' => 'itemid', 'as' => 'itemid'], ['select' => 'tradeid', 'as' => 'tradeid'], ['select' => 'editor', 'as' => 'editor'], ['select' => 'addtime', 'as' => 'addtime'], ['select' => 'status', 'as' => 'status']];
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = "status in(2,3,4)";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $orderOperation = D('OrderOperation');
         $order_count = $orderOperation->field(['count(*)' => 'count'])->where($search)->group("itemid")->select();
         $total = count($order_count);
         //查询数据并重组
         $data = $orderOperation->field($field)->where($search)->group("itemid")->order($order)->limit($start, $limit)->select();
         foreach ($data as $k => $v) {
             $data[$k]['status'] = $v['status'] = $this->order_status[$v['status']]['status_name'];
             $data[$k]['addtime'] = $v['addtime'] = date("Y-m-d H:i:s", $v['addtime']);
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     }
     $this->display();
 }
 /**
  * 门市产品
  */
 public function marketProducts()
 {
     // 字段
     $column = [['select' => 'product.itemid', 'as' => 'product_id', 'show_name' => '产品id'], ['select' => 'product.thumb', 'as' => 'thumb', 'show_name' => '产品缩略图'], ['select' => 'supply.product', 'as' => 'product', 'show_name' => '产品'], ['select' => 'supply.standard', 'as' => 'standard', 'show_name' => '规格'], ['select' => 'supply.cj', 'as' => 'cj', 'show_name' => '厂家'], ['select' => 'sale.title', 'as' => 'sale_name', 'show_name' => '门市'], ['select' => 'supply.price', 'as' => 'price', 'show_name' => '价格']];
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = "product.status > 0";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $_sql = "SELECT {$field} FROM __MALL_sell_5 AS product\n                INNER JOIN __MALL_fahuo_gongying AS supply ON product.itemid = supply.pid\n                INNER JOIN __MALL_fahuo AS sale ON supply.fid = sale.id\n                INNER JOIN __MALL_fahuo_market AS market ON sale.marketid = market.id\n                WHERE {$search}\n                ORDER BY {$order}";
         $sql = "SELECT COUNT(x.product_id) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         //            Tools::_vp($this->MallDb->getSql($sql),0,2);
         $data = $this->MallDb->list_query($sql);
         //            Tools::_vp($data,0,2);
         foreach ($data as $k => $v) {
             $data[$k]['thumb'] = "<img src='" . $v['thumb'] . "' />";
         }
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         $sql = "SELECT count(product.itemid) AS total, {$field} FROM __MALL_sell_5 AS product\n                INNER JOIN __MALL_fahuo_gongying AS supply ON product.itemid = supply.pid\n                INNER JOIN __MALL_fahuo AS sale ON supply.fid = sale.id\n                INNER JOIN __MALL_fahuo_market AS market ON sale.marketid = market.id\n                GROUP BY product.itemid";
         $x = $this->MallDb->list_query($sql);
         foreach ($x as $k => $v) {
             if ($v['total'] > 1) {
                 $repeat_products[] = $v;
             }
         }
         $this->assign(['column' => $column, 'repeat_products' => $repeat_products]);
         $this->display();
     }
 }
Exemplo n.º 5
0
 /**
  * 合并订单列表
  */
 public function tradeOrderList()
 {
     $day_search = I("get.search");
     $day_search = Tools::str2arr($day_search['value']);
     $this->day_start = strtotime($day_search[0] . ' 00:00:00');
     $this->day_end = strtotime($day_search[1] . ' 23:59:59');
     // 字段
     $column = [['select' => 'trade.itemid', 'as' => 'trade_id', 'show_name' => 'itemid'], ['select' => 'trade.product_id', 'as' => 'product_id', 'show_name' => '产品编号'], ['select' => 'trade.ordercode', 'as' => 'ordercode', 'show_name' => '订单编号'], ['select' => 'trade.buyer_name', 'as' => 'buyer_name', 'show_name' => '买家姓名'], ['select' => 'trade.total', 'as' => 'total', 'show_name' => '数量'], ['select' => 'trade.amount', 'as' => 'amount', 'show_name' => '总额'], ['select' => 'trade.buyer', 'as' => 'buyer', 'show_name' => '买家']];
     if ($draw = I("get.draw")) {
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = " trade.addtime > {$this->day_start} AND trade.addtime < {$this->day_end} ";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $_sql = "SELECT {$field} FROM __MALL_finance_trade_orders AS trade\n                WHERE {$search}\n                ORDER BY {$order}";
         $sql = "SELECT COUNT(*) as total FROM ({$_sql}) AS x ";
         $x = $this->MallDb->list_query($sql);
         $total = $x[0]['total'];
         // 查询数据并重组
         $sql = "{$_sql}\n                LIMIT {$start}, {$limit}";
         //            Tools::_vp($this->MallDb->getSql($sql),0,2);
         $data = $this->MallDb->list_query($sql);
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     } else {
         $this->assign(['column' => $column]);
         $this->display();
     }
 }
 /**
  * 三个栏目下的文章类别比例图 (以顶级分类为单位进行区分) (三个饼形图)
  */
 public function classesInformation()
 {
     $this->getCateHash();
     // 查询资讯
     $Information = D('Information');
     $field = ['itemid', 'catid'];
     $sel_information_list = $Information->where()->field($field)->select();
     $cat_group = Tools::groupBy($sel_information_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x[$k]['catid'] = $v[0]['catid'];
         $x[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x[$k]['count'] = count($v);
     }
     sort($x);
     // 查询虫害资讯
     $Pests = D('Pests');
     $field = ['itemid', 'catid'];
     $map['catid'] = ['in', [6086, 6324, 6087, 6088, 6318, 6319, 6092, 6093, 6096, 14408]];
     $sel_pests_list = $Pests->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_pests_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x_pests[$k]['catid'] = $v[0]['catid'];
         $x_pests[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x_pests[$k]['count'] = count($v);
     }
     sort($x_pests);
     // 查询中毒资讯
     $Poisoning = D('Poisoning');
     $field = ['itemid', 'catid'];
     $map['catid'] = ['in', [12749, 12750, 12751, 12752, 12753, 12776]];
     $sel_poisoning_list = $Poisoning->where($map)->field($field)->select();
     $cat_group = Tools::groupBy($sel_poisoning_list, 'catid');
     foreach ($cat_group as $k => $v) {
         $x_poisoning[$k]['catid'] = $v[0]['catid'];
         $x_poisoning[$k]['catname'] = $this->all_information_hash[$v[0]['catid']];
         $x_poisoning[$k]['count'] = count($v);
     }
     sort($x_poisoning);
     //重组资讯数据
     $legend_data_inforamtion = Tools::arr2str(Tools::getCols($x, 'catname', true));
     foreach ($x as $k => $v) {
         $series_data_inforamtion[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_inforamtion = Tools::arr2str($series_data_inforamtion);
     //重组病虫害数据
     $legend_data_pests = Tools::arr2str(Tools::getCols($x_pests, 'catname', true));
     foreach ($x_pests as $k => $v) {
         $series_data_pests[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_pests = Tools::arr2str($series_data_pests);
     //重组农药中毒资讯数据
     $legend_data_poisoning = Tools::arr2str(Tools::getCols($x_poisoning, 'catname', true));
     foreach ($x_poisoning as $k => $v) {
         $series_data_poisoning[] = "{value:" . $v['count'] . ", name:'" . $v['catname'] . "'}";
     }
     $series_data_poisoning = Tools::arr2str($series_data_poisoning);
     //注入显示
     $this->assign(['legend_data_information' => $legend_data_inforamtion, 'series_data_information' => $series_data_inforamtion, 'legend_data_pests' => $legend_data_pests, 'series_data_pests' => $series_data_pests, 'legend_data_poisoning' => $legend_data_poisoning, 'series_data_poisoning' => $series_data_poisoning]);
     $this->display();
 }
 /**
  * 获取地区树
  * @return tree
  */
 protected function getAreaTree($root = 0)
 {
     return Tools::list2tree($this->getAllAreaList(), 'id', 'pid', '_child', $root);
 }
 public function memberYear()
 {
     $Member = D("Member");
     $year_solt = get_year_solt($this->year_start, $this->year_end);
     $map['status'] = ['in', '2,3,4'];
     foreach ($year_solt as $k => $v) {
         $map['regtime'] = [['gt', $v['start']['ts']], ['lt', $v['end']['ts']]];
         $x = $Member->field('userid')->where($map)->select();
         $member_year_data[$k]['year_name'] = date("Y", $v['start']['ts']);
         $member_year_data[$k]['count'] = count($x);
     }
     $xAxis_data = Tools::arr2str(Tools::getCols($member_year_data, 'year_name', true));
     $series_data_information = Tools::arr2str(Tools::getCols($member_year_data, 'count'));
     $this->assign(['xAxis_data' => $xAxis_data, 'series_data_information' => $series_data_information]);
     $this->display();
 }
 /**
  * 合作商提成月走势图
  * @author Edwin <*****@*****.**>
  */
 public function partnerTrend()
 {
     $Agent = D('Partner');
     $map['status'] = ['in', '2,3,4'];
     //查询数据
     $month_start = strtotime('September 2013');
     $month_solt = get_month_solt($month_start, $this->month_end);
     foreach ($month_solt as $k => $v) {
         $map['addtime'] = [['gt', $v['start']['ts']], ['lt', $v['end']['ts']]];
         $mouth_solt_partner[$k]['mouth_solt'] = $v;
         $x = $Agent->field('money')->where($map)->select();
         $mouth_solt_partner[$k]['mouth_name'] = date("Y-m", $v['start']['ts']);
         $mouth_solt_partner[$k]['partner_sum'] = get_arr_k_amount($x, 'money');
     }
     //重组数据_月资讯数据
     $xAxis_data = Tools::arr2str(Tools::getCols($mouth_solt_partner, 'mouth_name', true));
     $series_data = Tools::arr2str(Tools::getCols($mouth_solt_partner, 'partner_sum'));
     //注入显示
     $this->assign(['xAxis_data' => $xAxis_data, 'series_data' => $series_data]);
     $this->assign(['month_start' => $month_start]);
     $this->display();
 }
Exemplo n.º 10
0
 /**
  * 会员付款列表
  */
 public function memberPaymentList()
 {
     if ($draw = I("get.draw")) {
         // 字段
         $column = [['select' => 'buyer', 'as' => 'buyer'], ['select' => 'buyer_name', 'as' => 'buyer_name'], ['select' => 'buyer_mobile', 'as' => 'buyer_mobile'], ['select' => 'SUM(total)', 'as' => 'trade_total'], ['select' => 'SUM(amount)', 'as' => 'trade_amount']];
         // 预定义
         $start = $_GET['start'];
         $limit = $_GET['length'];
         $order = $_GET['order'];
         $search[] = "status in(2,3,4)";
         // 重组条件
         $order = "{$column[$order[0]['column']]['as']} {$order[0]['dir']}";
         foreach ($_GET['columns'] as $k => $v) {
             if ($v['search']['value'] != '') {
                 $search[] = "{$column[$v['data']]['select']} LIKE '%{$v[search][value]}%'";
             }
         }
         $search = Tools::arr2str($search, " AND ");
         foreach ($column as $k => $v) {
             $field[] = "{$v['select']} AS {$v['as']}";
         }
         $field = Tools::arr2str($field);
         // 查询总数
         $Trade = D('Trade');
         $trade_count = $Trade->field(['count(*)' => 'count'])->where($search)->group("buyer")->select();
         $total = count($trade_count);
         // 查询数据并重组
         $data = $Trade->field($field)->where($search)->group("buyer")->order($order)->limit($start, $limit)->select();
         foreach ($data as $k => $v) {
             foreach ($column as $key => $value) {
                 $x[$k][] = $v[$value['as']];
             }
         }
         //获取Datatables发送的参数 必要
         $show = ["draw" => $draw, "recordsTotal" => $total, "recordsFiltered" => $total, "data" => $x];
         $x = json_encode($show);
         echo $x;
         exit;
     }
     $this->display();
 }