Пример #1
0
/**
 * 订单列表
 */
function order_list()
{
    if (!admin_priv('all', '', false) && admin_priv('order_part_view', '', false)) {
        $role_list_str = order_cross_platform();
    }
    $now_time = time();
    $temp_fields = '';
    $table_admin = '';
    $order_status = '';
    $condition = '';
    $where = '';
    switch ($_REQUEST['act']) {
        case 'rand_order':
            if (isset($_REQUEST['order_type']) && $_REQUEST['order_type'] == 1) {
                $order_type = " AND o.order_type IN(1,0) ";
            } else {
                $order_type = " AND o.order_type<>1 AND o.admin_id=0 ";
            }
            if ($_REQUEST['a'] == 'verify') {
                $table_order = 'ordersyn_info';
                $table_user = $_REQUEST['old_user'] ? 'users' : 'userssyn';
                $where = " AND order_status=0 AND o.order_lock={$_SESSION['admin_id']} AND o.lock_timeout>{$now_time} {$order_type}";
                $temp_fields = " ,o.order_lock, IF(lock_timeout<{$now_time},'锁定','已锁定') lock_status";
                $sort_by = ' o.pay_id DESC, o.add_time ASC ';
            } elseif ($_REQUEST['a'] == 'print') {
                $table_order = 'order_info';
                $table_user = '******';
                $order_status = ' AND order_status=1 AND shipping_status=0 AND a.user_id=o.add_admin_id AND ' . " s.shipping_id=o.shipping_id AND o.order_lock={$_SESSION['admin_id']} AND o.lock_timeout>{$now_time} {$order_type}";
                $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a, ' . $GLOBALS['ecs']->table('shipping') . ' s ';
                $temp_fields = ',o.review,a.user_name add_admin,s.shipping_name ';
                $sort_by = ' o.add_time ASC ';
                if (admin_priv('order_view', '', false)) {
                } elseif (admin_priv('order_part_view', '', false)) {
                    $order_status .= " AND o.platform IN ({$role_list_str}) ";
                } else {
                    $order_status .= " AND o.add_admin_id={$_SESSION['admin_id']} ";
                }
            }
            break;
        case 'temp_order':
            // 新顾客未确认订单
            $table_order = 'ordersyn_info';
            $table_user = '******';
            $where = ' AND o.order_status=0 AND o.admin_id=0 AND o.order_type<>1';
            $temp_fields = " ,o.order_lock, IF(lock_timeout<{$now_time},'锁定','已锁定') lock_status";
            $sort_by = ' o.add_time ASC ';
            break;
        case 'history_users_order':
            // 老顾客未确认订单
            $table_order = 'ordersyn_info';
            $table_user = '******';
            if (admin_priv('order_view', '', false)) {
                $order_status = ' AND order_status=0 AND o.admin_id>0 ';
            } elseif (admin_priv('order_part_view', '', false)) {
                $order_status = " AND order_status=0 AND o.platform IN ({$role_list_str}) ";
            } elseif (admin_priv('order_group_view', '', false)) {
                //$order_status = ' AND order_status=0 AND o.admin_id>0 AND o.group_id='.$_SESSION['group_id'];
                $order_status = " AND order_status=0 AND o.admin_id>0 AND u.role_id={$_SESSION['role_id']}";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $order_status = ' AND order_status=0 AND o.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $order_status = ' AND order_status=0 AND o.admin_id=' . $_SESSION['admin_id'];
            }
            $order_status .= ' AND o.admin_id<>185 AND o.order_type<>1';
            $temp_fields = " ,o.order_lock, IF(lock_timeout<{$now_time},'锁定','已锁定') lock_status";
            $sort_by = ' o.add_time ASC ';
            break;
        case 'current_order':
            // 待发货订单
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = ' AND order_status=1 AND shipping_status=0 AND a.user_id=o.add_admin_id AND s.shipping_id=o.shipping_id ';
            $table_admin = ' LEFT JOIN ' . $GLOBALS['ecs']->table('memship_number') . ' m ON o.user_id=m.user_id,' . $GLOBALS['ecs']->table('admin_user') . ' a, ' . $GLOBALS['ecs']->table('shipping') . ' s ';
            $temp_fields = ',o.review,a.user_name add_admin,s.shipping_name,m.card_number ';
            $sort_by = ' o.goods_kind DESC, o.goods_num ASC ';
            if (isset($_REQUEST['goods_kind']) && intval($_REQUEST['goods_kind'])) {
                $order_status .= 'AND o.goods_kind=' . intval($_REQUEST['goods_kind']);
            }
            if (admin_priv('order_view', '', false)) {
                $auth = '';
            } elseif (admin_priv('order_part_view', '', false)) {
                $auth = " AND o.platform IN ({$role_list_str}) ";
            } elseif (admin_priv('order_group_view', '', false)) {
                //$auth = " AND o.group_id={$_SESSION['group_id']} ";
                $auth = " AND u.role_id={$_SESSION['role_id']} ";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $auth = ' AND o.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $auth = " AND o.add_admin_id={$_SESSION['admin_id']} ";
            }
            $order_status .= $auth;
            break;
        case 'history_order':
            // 已发货订单
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = " AND a.user_id=o.add_admin_id AND o.order_status=5 AND o.shipping_status=1 ";
            $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a ';
            $temp_fields = ',o.exp_info,o.review,a.user_name add_admin';
            $sort_by = ' o.shipping_time DESC';
            if (admin_priv('order_view', '', false)) {
                $auth = '';
            } elseif (admin_priv('order_part_view', '', false)) {
                $auth = " AND u.role_id IN ({$role_list_str}) ";
                //如果以顾客所属部门检索就是u.role_id如果以订单平台检索就是o.platform
            } elseif (admin_priv('order_group_view', '', false)) {
                //$auth = " AND u.group_id={$_SESSION['group_id']} ";
                $auth = " AND u.role_id={$_SESSION['role_id']} ";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $auth = ' AND u.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $auth = " AND u.admin_id={$_SESSION['admin_id']} ";
            }
            $order_status .= $auth;
            break;
        case 'finished_order':
            // 已签收的订单
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = " AND a.user_id=o.add_admin_id AND o.order_status=5 AND o.shipping_status=2 ";
            $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a ';
            $temp_fields = ',o.review,a.user_name add_admin';
            $sort_by = ' o.shipping_time DESC';
            if (admin_priv('order_view', '', false)) {
                $auth = '';
            } elseif (admin_priv('order_part_view', '', false)) {
                $auth = " AND u.role_id IN ({$role_list_str}) ";
                //如果以顾客所属部门检索就是u.role_id如果以订单平台检索就是o.platform
            } elseif (admin_priv('order_group_view', '', false)) {
                //$auth = " AND u.group_id={$_SESSION['group_id']} ";
                $auth = " AND u.role_id={$_SESSION['role_id']} ";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $auth = ' AND u.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $auth = " AND u.admin_id={$_SESSION['admin_id']} ";
            }
            $order_status .= $auth;
            break;
        case 'returned_list':
            // 退货的订单
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = " AND a.user_id=o.add_admin_id AND o.order_status=5 AND o.shipping_status=4 AND re.order_id=o.order_id ";
            $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a, ' . $GLOBALS['ecs']->table('returns_order') . ' re';
            $temp_fields = ',o.review,a.user_name add_admin,FROM_UNIXTIME(re.return_time, "%Y-%m-%d %H:%i") return_time';
            $sort_by = ' o.shipping_time DESC';
            if (admin_priv('order_view', '', false)) {
                $auth = '';
            } elseif (admin_priv('order_part_view', '', false)) {
                $auth = " AND u.role_id IN ({$role_list_str}) ";
                //如果以顾客所属部门检索就是u.role_id如果以订单平台检索就是o.platform
            } elseif (admin_priv('order_group_view', '', false)) {
                //$auth = " AND u.group_id={$_SESSION['group_id']} ";
                $auth = " AND u.role_id={$_SESSION['role_id']} ";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $auth = ' AND u.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $auth = " AND u.admin_id={$_SESSION['admin_id']} ";
            }
            $order_status .= $auth;
            break;
        case 'canceled_list':
            // 取消的订单
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = " AND a.user_id=o.add_admin_id AND o.shipping_status=3 ";
            $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a ';
            $temp_fields = ',o.review,a.user_name add_admin';
            $sort_by = ' o.shipping_time DESC';
            if (admin_priv('order_view', '', false)) {
                $auth = '';
            } elseif (admin_priv('order_part_view', '', false)) {
                $auth = " AND u.role_id IN ({$role_list_str}) ";
                //如果以顾客所属部门检索就是u.role_id如果以订单平台检索就是o.platform
            } elseif (admin_priv('order_group_view', '', false)) {
                //$auth = " AND u.group_id={$_SESSION['group_id']} ";
                $auth = " AND u.role_id={$_SESSION['role_id']} ";
                if (isset($_REQUEST['admin_id']) && intval($_REQUEST['admin_id'])) {
                    $auth = ' AND u.admin_id=' . intval($_REQUEST['admin_id']);
                }
            } else {
                $auth = " AND u.admin_id={$_SESSION['admin_id']} ";
            }
            $order_status .= $auth;
            break;
        case 'order_before_transfer':
            $table_order = 'order_info';
            $table_user = '******';
            $order_status = " AND u.admin_id=a.user_id AND o.order_status=5 AND o.shipping_status IN (1,2) ";
            if (admin_priv('all', '', false)) {
                if ($_SESSION['role_id'] > 0) {
                    $role_list = implode(',', trans_part_list());
                    $order_status .= " AND o.platform IN({$role_list})";
                }
            } else {
                $order_status .= " AND u.admin_id={$_SESSION['admin_id']}";
            }
            $table_admin = ',' . $GLOBALS['ecs']->table('admin_user') . ' a ';
            $temp_fields = ',o.review,a.user_name add_admin';
            $sort_by = ' o.shipping_time DESC';
            break;
        case 'flush_order':
            $table_order = 'ordersyn_info';
            $table_user = $_REQUEST['old_user'] ? 'users' : 'userssyn';
            $where = ' AND o.order_status=0 AND o.order_type=1 ';
            $temp_fields = " ,o.order_lock, IF(lock_timeout<{$now_time},'锁定','已锁定') lock_status";
            $sort_by = ' o.add_time ASC ';
            break;
        case 'store_order_list':
            $table_order = 'order_info';
            $table_user = '******';
            $where = ' AND o.order_type=9';
            $sort_by = 'o.add_time DESC';
    }
    // 如果是中老年事业部,只列出本部门订单
    if (!admin_priv('all', '', false) && !admin_priv('order_list_all', '', false) && admin_priv('zhln', '', false)) {
        if (admin_priv('order_part_view', '', false)) {
            $order_status .= " AND o.platform IN ({$role_list_str}) ";
        } else {
            //$order_status .= " AND o.platform={$_SESSION['role_id']} ";
            $order_status .= ' AND o.platform IN(' . KEFU . ')';
        }
    } elseif (admin_priv('member', '', false)) {
    } elseif (!admin_priv('order_list_all', '', false) && $role_list_str) {
        $order_status .= " AND o.platform IN ({$role_list_str}) ";
    }
    $result = get_filter();
    if ($result === false) {
        /* 过滤信息 */
        $filter['order_sn'] = empty($_REQUEST['order_sn']) ? '' : trim($_REQUEST['order_sn']);
        if (!empty($_GET['is_ajax']) && $_GET['is_ajax'] == 1) {
            $_REQUEST['consignee'] = json_str_iconv($_REQUEST['consignee']);
        }
        $filter['consignee'] = empty($_REQUEST['consignee']) ? '' : trim($_REQUEST['consignee']);
        $filter['admin_id'] = empty($_REQUEST['admin_id']) ? '' : intval($_REQUEST['admin_id']);
        $filter['address'] = empty($_REQUEST['address']) ? '' : trim($_REQUEST['address']);
        $filter['zipcode'] = empty($_REQUEST['zipcode']) ? '' : trim($_REQUEST['zipcode']);
        $filter['tel'] = empty($_REQUEST['tel']) ? '' : trim($_REQUEST['tel']);
        $filter['mobile'] = empty($_REQUEST['mobile']) ? 0 : intval($_REQUEST['mobile']);
        $filter['country'] = empty($_REQUEST['country']) ? 0 : intval($_REQUEST['country']);
        $filter['province'] = empty($_REQUEST['province']) ? 0 : intval($_REQUEST['province']);
        $filter['city'] = empty($_REQUEST['city']) ? 0 : intval($_REQUEST['city']);
        $filter['district'] = empty($_REQUEST['district']) ? 0 : intval($_REQUEST['district']);
        $filter['shipping_id'] = empty($_REQUEST['shipping_id']) ? 0 : intval($_REQUEST['shipping_id']);
        $filter['pay_id'] = empty($_REQUEST['pay_id']) ? 0 : intval($_REQUEST['pay_id']);
        $filter['platform'] = empty($_REQUEST['platform']) ? 0 : intval($_REQUEST['platform']);
        $filter['tracking_sn'] = empty($_REQUEST['tracking_sn']) ? '' : trim($_REQUEST['tracking_sn']);
        $filter['old_user'] = empty($_REQUEST['old_user']) ? 0 : intval($_REQUEST['old_user']);
        $filter['shipping_feed_id'] = empty($_REQUEST['shipping_feed_id']) ? 0 : intval($_REQUEST['shipping_feed_id']);
        $filter['start_time'] = empty($_REQUEST['start_time']) ? '' : strtotime($_REQUEST['start_time']);
        $filter['end_time'] = empty($_REQUEST['end_time']) ? '' : strtotime($_REQUEST['end_time']);
        $filter['exp_status'] = !isset($_REQUEST['exp_status']) ? 0 : intval($_REQUEST['exp_status']);
        $filter['abnormal'] = isset($_REQUEST['abnormal']) ? intval($_REQUEST['abnormal']) : 0;
        // 订单搜索
        if (!empty($_REQUEST['keywords'])) {
            $filter['keyfields'] = mysql_real_escape_string(trim($_REQUEST['keyfields']));
            $filter['keywords'] = urldecode(mysql_real_escape_string(trim($_REQUEST['keywords'])));
            $act = array('current_order', 'history_order', 'order_before_transfer', 'finished_order');
            if ($filter['keyfields'] == 'order_sn' && in_array($_REQUEST['act'], $act)) {
                $where .= " AND ({$filter['keyfields']} LIKE '%" . mysql_like_quote($filter['keywords']) . "%' OR platform_order_sn LIKE '%" . mysql_like_quote($filter['keywords']) . "%') ";
            } elseif ($filter['keyfields'] == 'aliww') {
                $where .= " AND u.{$filter['keyfields']} LIKE '%" . mysql_like_quote($filter['keywords']) . "%' ";
            } else {
                $where .= " AND o.{$filter['keyfields']} LIKE '%" . mysql_like_quote($filter['keywords']) . "%' ";
            }
        }
        // 收集查询条件
        foreach ($filter as $key => $val) {
            if ($key == 'exp_status') {
                $condition .= "&{$key}={$val}";
            }
            if (!empty($val)) {
                $condition .= "&{$key}={$val}";
            }
        }
        isset($_REQUEST['goods_kind']) && ($condition .= '&goods_kind=' . intval($_REQUEST['goods_kind']));
        $filter['page'] = empty($_REQUEST['page']) ? 1 : intval($_REQUEST['page']);
        $filter['order_status'] = isset($_REQUEST['order_status']) ? intval($_REQUEST['order_status']) : -1;
        $filter['pay_status'] = isset($_REQUEST['pay_status']) ? intval($_REQUEST['pay_status']) : -1;
        $filter['shipping_status'] = isset($_REQUEST['shipping_status']) ? intval($_REQUEST['shipping_status']) : -1;
        $filter['sort_by'] = empty($_REQUEST['sort_by']) ? 'add_time' : trim($_REQUEST['sort_by']);
        $filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' : trim($_REQUEST['sort_order']);
        // 根据平台查询订单
        if ($filter['platform'] && is_int($filter['platform'])) {
            if ($_REQUEST['act'] == 'history_users_order') {
                $where .= " AND o.team={$filter['platform']} ";
            } else {
                $where .= " AND o.platform={$filter['platform']} ";
            }
        }
        // 设置按配送方式查询的条件
        if ($filter['shipping_id']) {
            if (strpos($filter['shipping_id'], ',')) {
                $where .= " AND o.shipping_id NOT IN ({$filter['shipping_id']}) ";
            } else {
                $where .= " AND o.shipping_id={$filter['shipping_id']} ";
            }
        }
        // 客服
        if (admin_priv('all', '', false)) {
            if ($filter['admin_id']) {
                $where .= " AND o.admin_id={$filter['admin_id']} ";
            }
        } elseif (admin_priv('order_part_view', '', false)) {
            if ($filter['admin_id']) {
                $where .= " AND o.admin_id={$filter['admin_id']} ";
            }
        } elseif (admin_priv('section', '', false)) {
            $sql_select_admin = 'SELECT user_id FROM ' . $GLOBALS['ecs']->table('admin_user') . " WHERE role_id={$_SESSION['role_id']}";
            $admin_id = $GLOBALS['db']->getCol($sql_select_admin);
            if (!empty($admin_id)) {
                $admin_id = implode(',', $admin_id);
                $where .= " AND o.admin_id IN ({$admin_id}) ";
            }
            if ($filter['admin_id']) {
                $where .= " AND o.admin_id={$filter['admin_id']} ";
            }
        }
        // 订单编号查询订单
        if ($filter['order_sn']) {
            $where .= " AND (o.order_sn LIKE '%" . mysql_like_quote($filter['order_sn']) . "%'";
        }
        // 运单号查询订单
        if ($filter['tracking_sn']) {
            $where .= " AND o.tracking_sn LIKE '%" . mysql_like_quote($filter['tracking_sn']) . "%'";
        }
        // 收货人查询订单
        if ($filter['consignee']) {
            $where .= " AND o.consignee LIKE '%" . mysql_like_quote($filter['consignee']) . "%'";
        }
        // 收货地址查询订单
        if ($filter['address']) {
            $where .= " AND o.address LIKE '%" . mysql_like_quote($filter['address']) . "%'";
        }
        // 邮编查询订单
        if ($filter['zipcode']) {
            $where .= " AND o.zipcode LIKE '%" . mysql_like_quote($filter['zipcode']) . "%'";
        }
        // 固话查询订单
        if ($filter['tel']) {
            $where .= " AND o.tel LIKE '%" . mysql_like_quote($filter['tel']) . "%'";
        }
        // 手机号码查询订单
        if ($filter['mobile']) {
            //$where .= " AND o.mobile LIKE '%".mysql_like_quote($filter['mobile'])."%'";
        }
        // 省份查询订单
        if ($filter['province']) {
            $where .= " AND o.province='{$filter['province']}'";
        }
        // 城市查询订单
        if ($filter['city']) {
            $where .= " AND o.city='{$filter['city']}'";
        }
        // 区县查询订单
        if ($filter['district']) {
            $where .= " AND o.district='{$filter['district']}'";
        }
        // 快递查询订单
        if ($filter['shipping_id']) {
            $where .= " AND o.shipping_id='{$filter['shipping_id']}'";
        }
        // 支付查询订单
        if ($filter['pay_id']) {
            $where .= " AND o.pay_id='{$filter['pay_id']}'";
        }
        // 快递追踪
        if ($_REQUEST['act'] == 'history_order' && $filter['exp_status'] !== false) {
            $where .= " AND o.exp_status={$filter['exp_status']} ";
        } elseif ($filter['order_status'] != -1 && $filter['shipping_status'] != -1) {
            $where .= " AND o.order_status='{$filter['order_status']}'";
            $where .= " AND o.shipping_status='{$filter['shipping_status']}'";
        }
        // 下单时间
        if ($filter['start_time'] && $filter['end_time']) {
            if ($filter['start_time'] > $filter['end_time']) {
                $time_tmp = $filter['end_time'];
                $filter['end_time'] = $filter['start_time'];
                $filter['start_time'] = $time_tmp;
            }
            $where .= " AND o.add_time BETWEEN '{$filter['start_time']}' AND '{$filter['end_time']}'";
        }
        //下单客服和归属客服不属于同个人
        if ($filter['abnormal']) {
            $where .= ' AND o.admin_id<>o.add_admin_id';
        }
        // 二次跟单
        if ($filter['shipping_feed_id']) {
            $where .= " AND o.shipping_feed_id={$filter['shipping_feed_id']} ";
        }
        /* 分页大小 */
        $filter['page'] = empty($_REQUEST['page']) || intval($_REQUEST['page']) <= 0 ? 1 : intval($_REQUEST['page']);
        if (isset($_REQUEST['page_size']) && intval($_REQUEST['page_size']) > 0) {
            $filter['page_size'] = intval($_REQUEST['page_size']);
        } else {
            $filter['page_size'] = 20;
        }
        /* 记录总数 */
        $sql_select = "SELECT COUNT(*) FROM " . $GLOBALS['ecs']->table($table_order) . " o {$table_admin}," . $GLOBALS['ecs']->table($table_user) . ' u, ' . $GLOBALS['ecs']->table('role') . " r WHERE o.user_id=u.user_id AND r.role_id=o.platform {$where} {$order_status}";
        $filter['record_count'] = $GLOBALS['db']->getOne($sql_select);
        $page_set = break_pages($filter['record_count'], $filter['page_size'], $filter['page']);
        /* 查询 */
        $sql_select = 'SELECT SUBSTRING(u.user_name FROM 1 FOR 3) buyer,SUBSTRING(o.consignee FROM 1 FOR 4) consignee,u.aliww,u.qq,u.is_black,' . ' r.role_name platform,r.role_describe,o.add_time,o.final_amount,o.remarks,o.admin_name,o.order_amount,o.money_paid,o.pay_id,' . ' CONCAT(o.order_status,o.shipping_status,o.pay_status) order_status,o.shipping_status, o.order_id, SUBSTR(o.order_sn,-8,8) ' . ' order_sn,o.tracking_sn,o.shipping_code,r.role_describe,o.order_type,o.order_lock,o.shipping_feed_id ' . " {$temp_fields} FROM " . $GLOBALS['ecs']->table($table_order) . " o {$table_admin}," . $GLOBALS['ecs']->table($table_user) . ' u, ' . $GLOBALS['ecs']->table('role') . " r WHERE o.user_id=u.user_id AND r.role_id=o.platform {$where} {$order_status} " . " ORDER BY {$sort_by} LIMIT " . ($filter['page'] - 1) * $filter['page_size'] . ",{$filter['page_size']}";
        set_filter($filter, $sql_select);
    } else {
        $sql_select = $result['sql'];
        $filter = $result['filter'];
    }
    echo $sql_select;
    exit;
    $row = $GLOBALS['db']->getAll($sql_select);
    $sql_select = 'SELECT type_id,type_name FROM ' . $GLOBALS['ecs']->table('order_type') . ' WHERE available=1';
    $order_type = $GLOBALS['db']->getAll($sql_select);
    $type_list = array();
    foreach ($order_type as $v) {
        $type_list[$v['type_id']] = $v['type_name'];
    }
    /* 格式化数据 */
    foreach ($row as &$val) {
        $val['formated_order_amount'] = price_format($val['order_amount']);
        $val['formated_money_paid'] = price_format($val['money_paid']);
        $val['formated_total_fee'] = price_format($val['final_amount']);
        $val['short_order_time'] = date('Y-m-d H:i', $val['add_time']);
        if ($val['is_black'] == 1) {
            $val['buyer'] = '<font class="font_blacklist">' . $val['buyer'] . '</font>';
        }
        // 订单状态
        switch (@$val['order_status']) {
            case 00:
                $value['order_status'] = '待确认';
                break;
            case 102:
            case 101:
                $value['order_status'] = '待发货';
                break;
            case 512:
                $value['order_status'] = '已发货';
                break;
            case 522:
                $value['order_status'] = '已收货';
                break;
            case 532:
                unset($row[$key]);
                // 已申请退货订单 不显示在该列表中
            // 已申请退货订单 不显示在该列表中
            default:
                $value['order_status'] = '无效订单';
                break;
        }
        // 跟单情况
        if ($val['shipping_feed_id']) {
            switch ($val['shipping_feed_id']) {
                case 1:
                    $val['consignee'] = '<font style="color:#00a0ff"><strong>' . $val['consignee'] . '</strong></font>';
                    $val['receive_notice'] = '其它';
                    break;
                case 2:
                    $val['consignee'] = '<font style="color:indianred"><strong>' . $val['consignee'] . '</strong></font>';
                    $val['receive_notice'] = '尚未收到';
                    break;
                case 3:
                    $val['consignee'] = '<font style="color:#ff00ff"><strong>' . $val['consignee'] . '</strong></font>';
                    $val['receive_notice'] = '超区派送';
                    break;
                case 4:
                    $val['consignee'] = '<font style="color:#ff0000"><strong>' . $val['consignee'] . '</strong></font>';
                    $val['receive_notice'] = '拒收';
                    break;
            }
        }
        // 订单类型
        if (!in_array($val['order_type'], array(4, 9)) && $val['order_type']) {
            $val['admin_name'] = $type_list[$val['order_type']];
        }
        // 宅急送code处理
        $shipping_code = array('ems' => 'ems', 'ems2' => 'ems', 'sto_express' => 'zjs', 'sto_nopay' => 'zjs', 'zto' => 'zhongtong', 'sto' => 'shentong', 'yto' => 'yuantong', 'sf' => 'shunfeng', 'emssn' => 'ems', 'sf2' => 'shunfeng', 'yunda' => 'yunda');
        if (isset($shipping_code[$val['shipping_code']])) {
            $val['shipping_code'] = @$shipping_code[$val['shipping_code']];
        }
    }
    return array('orders' => $row, 'filter' => $filter, 'page_count' => $page_set['page_count'], 'record_count' => $filter['record_count'], 'page_size' => $filter['page_size'], 'page' => $filter['page'], 'page_set' => $page_set['page_set'], 'condition' => $condition, 'start' => ($filter['page'] - 1) * $filter['page_size'] + 1, 'end' => $filter['page'] * $filter['page_size']);
}
Пример #2
0
function report_authority(&$status, &$refund_where, &$trans_role_list)
{
    if (admin_priv('order_sales_all', '', false)) {
        $stats_list = explode(',', SALE . ',' . ONLINE_STORE);
        $stats_list = array_unique($stats_list);
        $stats_list = implode(',', $stats_list);
    } elseif (admin_priv('order_sales_trans-part', '', false)) {
        $trans_role_list = trans_part_list();
        $stats_list = @implode(',', $trans_role_list);
    } elseif (admin_priv('order_sales_part', '', false)) {
        $platform_stats = platform_list();
        foreach ($platform_stats as $val) {
            $stats_list[] = $val['role_id'];
        }
        $stats_list = @implode(',', $stats_list);
    } elseif (admin_priv('order_sales_branch', '', false)) {
        $sql_select = 'SELECT action FROM ' . $GLOBALS['ecs']->table('role') . " WHERE role_id={$_SESSION['role_id']}";
        $action = $GLOBALS['db']->getOne($sql_select);
        $sql_select = 'SELECT role_id FROM ' . $GLOBALS['ecs']->table('role') . " WHERE action='{$action}'";
        $role_list = $GLOBALS['db']->getCol($sql_select);
        $stats_list = implode(',', $role_list);
    }
    return $stats_list;
}
Пример #3
0
function get_role_lists()
{
    $list = array();
    if (admin_priv('all', '', false)) {
    } elseif (admin_priv('admin_trans-part_view', '', false)) {
        $role_list = trans_part_list();
        $role_list = implode(',', $role_list);
        $where = " WHERE role_id IN ({$role_list}) ";
    } else {
        $where = " WHERE role_id={$_SESSION['role_id']} ";
    }
    $sql = 'SELECT role_id,role_name,action_list,role_describe,role_describe,manager,role_type,compete FROM ' . $GLOBALS['ecs']->table('role') . " {$where} ORDER BY role_id DESC";
    $list = $GLOBALS['db']->getAll($sql);
    return $list;
}
Пример #4
0
/**
 * 客服列表
 */
function seller_list()
{
    $sql = 'SELECT user_name name, user_id id FROM ' . $GLOBALS['ecs']->table('admin_user') . ' WHERE status>0 AND stats>0';
    if (admin_priv('all', '', false) || admin_priv('finance', '', false)) {
        // 全局
        $sql .= ' AND role_id IN (' . SALE . ')';
    } elseif (admin_priv('user_trans-part_view', '', false)) {
        $trans_role_list = implode(',', trans_part_list());
        $sql .= " AND role_id IN ({$trans_role_list}) ";
    } elseif (admin_priv('user_part_view', '', false)) {
        // 部门
        $sql .= " AND role_id={$_SESSION['role_id']}";
    } elseif (admin_priv('user_group_view', '', false)) {
        $sql .= " AND role_id={$_SESSION['role_id']} AND group_id={$_SESSION['group_id']}";
    } else {
        return false;
    }
    return $GLOBALS['db']->getAll($sql);
}