/** * 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(); } }
/** * 合并订单列表 */ 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(); }
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(); }
/** * 会员付款列表 */ 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(); }