Files
liche/admin/libraries/OrdersList.php
T
2021-09-19 23:24:20 +08:00

1041 lines
47 KiB
PHP

<?php
/**
* 订单管理列表
*/
class OrdersList
{
private $ci;
private $searchTpAry = array('mobile' => '客户手机号', 'name' => '客户姓名', 'sid' => '订单号');
public function __construct()
{
$this->ci = &get_instance();
$this->ci->load->model('receiver/order/receiver_orders_model', 'mdOrders');
$this->ci->load->model('app/licheb/app_licheb_users_model', 'licheb_users_model');
$this->ci->load->model("biz/biz_model");
$this->ci->load->model('auto/auto_series_model');
$this->ci->load->model('auto/auto_brand_model');
$this->ci->load->model('auto/auto_attr_model');
}
public function lists($status_pid, $params = array())
{
if (!strlen($status_pid)) {
return $this->orders($params);
}
if ($status_pid == 0) {
$this->ci->load->model('receiver/order/receiver_order_signs_model', 'order_signs_model');
return $this->sign($status_pid, $params);
} else if ($status_pid == 1) {
$this->ci->load->model('receiver/order/receiver_order_loans_model', 'order_loans_model');
return $this->loan($status_pid, $params);
} else if ($status_pid == 2) {
$this->ci->load->model('receiver/order/receiver_order_ckcars_model', 'order_ckcars_model');
return $this->ckcar($status_pid, $params);
} else if ($status_pid == 3) {
$this->ci->load->model('receiver/order/receiver_order_bills_model', 'order_bills_model');
return $this->bill($status_pid, $params);
} else if ($status_pid == 4) {
$this->ci->load->model('receiver/order/receiver_order_agents_model', 'order_agents_model');
return $this->agent($status_pid, $params);
} else if ($status_pid == 5) {
$this->ci->load->model('receiver/order/receiver_order_deliverys_model', 'order_deliverys_model');
return $this->delivery($status_pid, $params);
} else {
return array();
}
}
/**
* Notes:全部订单
* Created on: 2021/9/18 15:13
* Created by: dengbw
* @param array $params
* @return array
*/
private function orders($params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$status_arr = $this->ci->mdOrders->statusAry();
$where = ["id>" => 0];
if ($params['title']) {
$where["{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["brand_id"] = $params['brand_id'];
} else {
$where["brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->mdOrders->count($where);
$lists = [];
if ($count) {
$fileds = "id,name,mobile,brand_id,s_id,v_id,cor_id,incor_id,price,deposit,payway,status,c_time";
$rows = $this->ci->mdOrders->select($where, "id desc", $page, $size, $fileds);
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series_arr = array_unique(array_column($rows, 's_id'));
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$v_arr = array_unique(array_column($rows, 'v_id'));
$cor_arr = array_unique(array_column($rows, 'cor_id'));
$incor_arr = array_unique(array_column($rows, 'incor_id'));
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
foreach ($rows as $key => $val) {
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['price'] = number_format($val['price'], 2);
$val['deposit'] = number_format($val['deposit'], 2);
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']]['name'];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/orders/lists', 'title' => '全部订单');
}
/**
* Notes:合同签订列表
* Created on: 2021/9/17 13:44
* Created by: dengbw
* @param array $params
* @param array $status_pid
* @return array
*/
private function sign($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_signs';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t2}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t2}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_signs_model->count_order($where);
$lists = [];
if ($count) {
$fileds = "$t1.id,$t1.o_id,$t1.status,";
$fileds .= "$t2.sid,$t2.name,$t2.mobile,$t2.brand_id,$t2.s_id,$t2.v_id,$t2.cor_id,$t2.incor_id,$t2.price,$t2.deposit,$t2.payway,$t2.c_time, {$t2}.admin_id";
$rows = $this->ci->order_signs_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
$brand_arr = $series_arr = $v_arr = $cor_arr = $incor_arr = array();
$admin_ids = array();
if ($rows) {
foreach ($rows as $v) {
!in_array($v['brand_id'], $brand_arr) && $brand_arr[] = $v['brand_id'];
!in_array($v['s_id'], $series_arr) && $series_arr[] = $v['s_id'];
!in_array($v['v_id'], $v_arr) && $v_arr[] = $v['v_id'];
!in_array($v['cor_id'], $cor_arr) && $cor_arr[] = $v['cor_id'];
!in_array($v['incor_id'], $incor_arr) && $incor_arr[] = $v['incor_id'];
$v['admin_id'] && !in_array($v['admin_id'], $admin_ids) && $admin_ids[] = $v['admin_id'];
}
}
//品牌车型
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
//获取销售
$map_admin = array();
$map_biz = array();
if ($admin_ids) {
$str_ids = implode(',', $admin_ids);
$where = array("id in({$str_ids})" => null);
$select = 'id, uname, biz_id';
$rows_admin = $this->ci->licheb_users_model->select($where, 'id desc', 0, 0, $select);
if ($rows_admin) {
$biz_ids = array();
foreach ($rows_admin as $v) {
$map_admin[$v['id']] = $v;
!in_array($v['biz_id'], $biz_ids) && $biz_ids[] = $v['biz_id'];
}
if ($biz_ids) {
$str_ids = implode(',', $biz_ids);
$where = array("id in({$str_ids})" => null);
$map_biz = $this->ci->biz_model->map('id', 'biz_name', $where);
}
}
}
foreach ($rows as $key => $val) {
$admin = $map_admin[$val['admin_id']];
$admin_name = $admin ? "{$map_biz[$admin['biz_id']]} {$admin['uname']}" : '';
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['c_time'] = date('Y-m-d H:i:s', $val['c_time']);
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']];
$val['admin_name'] = $admin_name;
$val['price'] = $val['price'] > 1 ? number_format($val['price']) : number_format($val['price'], 2);
$val['deposit'] = $val['deposit'] > 1 ? number_format($val['deposit']) : number_format($val['deposit'], 2);
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/sign/lists', 'title' => $statusAry['name']);
}
/**
* Notes:
* Created on: 2021/9/17 15:37
* Created by: dengbw
* @param $status_pid
* @param array $params
* @return array
*/
private function loan($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_loans';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t1}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t1}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_loans_model->count_order($where, $t2);
$lists = [];
if ($count) {
$fileds = "$t1.o_id,$t1.title,$t1.year,$t1.first_price,$t1.status,$t1.c_time,";
$fileds .= "$t2.id,$t2.name,$t2.mobile,$t2.sid";
$rows = $this->ci->order_loans_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
foreach ($rows as $key => $val) {
$val['first_price'] = number_format($val['first_price'], 2);
$val['c_time'] = date('Y-m-d H:i:s', $val['c_time']);
$val['status_name'] = $status_arr[$val['status']];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/loan/lists', 'title' => $statusAry['name']);
}
/**
* Notes:车辆确认列表
* Created on: 2021/9/17 15:57
* Created by: dengbw
* @param $status_pid
* @param array $params
* @return array
*/
private function ckcar($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_ckcars';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t1}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t1}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_ckcars_model->count_order($where, $t2);
$lists = [];
if ($count) {
$fileds = "$t1.o_id,$t1.status,$t1.c_time,";
$fileds .= "$t2.sid,$t2.name,$t2.mobile,$t2.brand_id,$t2.s_id,$t2.v_id,$t2.cor_id,$t2.incor_id,$t2.price,$t2.deposit,$t2.payway,$t2.c_time";
$rows = $this->ci->order_ckcars_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series_arr = array_unique(array_column($rows, 's_id'));
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$v_arr = array_unique(array_column($rows, 'v_id'));
$cor_arr = array_unique(array_column($rows, 'cor_id'));
$incor_arr = array_unique(array_column($rows, 'incor_id'));
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
foreach ($rows as $key => $val) {
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['price'] = number_format($val['price'], 2);
$val['deposit'] = number_format($val['deposit'], 2);
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/ckcar/lists', 'title' => $statusAry['name']);
}
/**
* Notes:开票相关列表
* Created on: 2021/9/17 16:14
* Created by: dengbw
* @param $status_pid
* @param array $params
* @return array
*/
private function bill($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_bills';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t1}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t1}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_bills_model->count_order($where, $t2);
$lists = [];
if ($count) {
$fileds = "$t1.o_id,$t1.status,$t1.c_time,";
$fileds .= "$t2.sid,$t2.name,$t2.mobile,$t2.brand_id,$t2.s_id,$t2.v_id,$t2.cor_id,$t2.incor_id,$t2.price,$t2.deposit,$t2.payway,$t2.c_time";
$rows = $this->ci->order_bills_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series_arr = array_unique(array_column($rows, 's_id'));
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$v_arr = array_unique(array_column($rows, 'v_id'));
$cor_arr = array_unique(array_column($rows, 'cor_id'));
$incor_arr = array_unique(array_column($rows, 'incor_id'));
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
foreach ($rows as $key => $val) {
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['price'] = number_format($val['price'], 2);
$val['deposit'] = number_format($val['deposit'], 2);
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/bill/lists', 'title' => $statusAry['name']);
}
/**
* Notes:代办服务订列表
* Created on: 2021/9/17 16:26
* Created by: dengbw
* @param $status_pid
* @param array $params
* @return array
*/
private function agent($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_agents';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t1}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t1}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_agents_model->count_order($where, $t2);
$lists = [];
if ($count) {
$fileds = "$t1.o_id,$t1.status,$t1.c_time,";
$fileds .= "$t2.sid,$t2.name,$t2.mobile,$t2.brand_id,$t2.s_id,$t2.v_id,$t2.cor_id,$t2.incor_id,$t2.price,$t2.deposit,$t2.payway,$t2.c_time";
$rows = $this->ci->order_agents_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series_arr = array_unique(array_column($rows, 's_id'));
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$v_arr = array_unique(array_column($rows, 'v_id'));
$cor_arr = array_unique(array_column($rows, 'cor_id'));
$incor_arr = array_unique(array_column($rows, 'incor_id'));
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
foreach ($rows as $key => $val) {
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['price'] = number_format($val['price'], 2);
$val['deposit'] = number_format($val['deposit'], 2);
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/agent/lists', 'title' => $statusAry['name']);
}
/**
* Notes:交付车辆列表
* Created on: 2021/9/19 22:53
* Created by: dengbw
* @param $status_pid
* @param array $params
* @return array
*/
private function delivery($status_pid, $params = array())
{
$page = $params['page'] = $params['page'] ? intval($params['page']) : 1;
$size = $params['size'] = $params['size'] ? intval($params['size']) : 20;
$t1 = 'lc_receiver_order_deliverys';
$t2 = 'lc_receiver_orders';
$where = [
"$t2.id>" => 0,
];
$statusAry = $this->ci->mdOrders->statusAry($status_pid);
if ($params['list_type'] == 'all') {
$status_arr = $statusAry['list'];
strlen($params['status']) && $where["$t1.status"] = $params['status'];
} else {
$status_arr = $statusAry['menu_list'];
if (!strlen($params['status'])) {
$params['status'] = $statusAry['menu_default'];
}
$where["$t1.status"] = $params['status'];
}
if ($params['title']) {
$where["{$t2}.{$params['search_tp']} like '%{$params['title']}%'"] = null;
}
//创建时间
if ($params['c_time']) {
$c_time = explode(' ~ ', $params['c_time']);
if ($c_time[0]) {
$where["{$t1}.c_time >="] = strtotime($c_time[0] . ' 00:00:00');
}
if ($c_time[1]) {
$where["{$t1}.c_time <="] = strtotime($c_time[1] . ' 23:59:59');
}
}
if ($params['brand_id']) {//品牌
$where["{$t2}.brand_id"] = $params['brand_id'];
} else {
$where["{$t2}.brand_id<>3"] = null;//狸车品牌不显示
$params['brand_id'] = '';
}
if ($params['s_id']) {//车系
$where["{$t2}.s_id"] = $params['s_id'];
} else {
$params['s_id'] = '';
}
if ($params['v_id']) {//车型
$where["{$t2}.v_id"] = $params['v_id'];
} else {
$params['v_id'] = '';
}
if ($params['cor_id']) {//车身颜色
$where["{$t2}.cor_id"] = $params['cor_id'];
} else {
$params['cor_id'] = '';
}
//销售员筛选
if ($params['admin_id']) {
$where['admin_id'] = $params['admin_id'];
} else {
$where_lcb = array();
if ($params['biz_id_admin']) {//指定店铺所有销售员
$where_lcb['biz_id'] = $params['biz_id_admin'];
} else {
//指定城市的所有销售员
$where_biz = array();
if ($params['county_id_admin']) {
$where_biz['county_id'] = $params['county_id_admin'];
} else if ($params['city_id_admin']) {
$where_biz['city_id'] = $params['city_id_admin'];
}
if ($where_biz) {
$where_biz['status>-1'] = null;
$rows_biz = $this->ci->biz_model->select($where_biz, 'id desc', 0, 0, 'id');
if ($rows_biz) {
$str_ids = implode(',', array_column($rows_biz, 'id'));
$where_lcb["biz_id in({$str_ids})"] = null;
} else {
$where_lcb['biz_id'] = -1;
}
}
}
//获取目标销售员列表
if ($where_lcb) {
$where_lcb['status>-1'] = null;
$rows_lcb = $this->ci->licheb_users_model->select($where_lcb, 'id desc', 0, 0, 'id');
if ($rows_lcb) {
$str_ids = implode(',', array_column($rows_lcb, 'id'));
$where["admin_id in({$str_ids})"] = null;
} else {
$where['admin_id'] = -1;
}
}
!$params['city_id_admin'] && $params['city_id_admin'] = '';
!$params['county_id_admin'] && $params['county_id_admin'] = '';
!$params['biz_id_admin'] && $params['biz_id_admin'] = '';
$params['admin_id'] = '';
}
$count = $this->ci->order_deliverys_model->count_order($where, $t2);
$lists = [];
if ($count) {
$fileds = "$t1.o_id,$t1.status,$t1.c_time,";
$fileds .= "$t2.sid,$t2.name,$t2.mobile,$t2.brand_id,$t2.s_id,$t2.v_id,$t2.cor_id,$t2.incor_id,$t2.price,$t2.deposit,$t2.payway,$t2.c_time";
$rows = $this->ci->order_deliverys_model->select_order($where, "$t1.id desc", $page, $size, $fileds);
//品牌车型
$brand_arr = array_unique(array_column($rows, 'brand_id'));
$brands = $this->ci->auto_brand_model->get_map_by_ids($brand_arr, 'id,name');
//车系车型
$series_arr = array_unique(array_column($rows, 's_id'));
$series = $this->ci->auto_series_model->get_map_by_ids($series_arr, 'id,name');
//获取属性
$v_arr = array_unique(array_column($rows, 'v_id'));
$cor_arr = array_unique(array_column($rows, 'cor_id'));
$incor_arr = array_unique(array_column($rows, 'incor_id'));
$attr_arr = array_merge($v_arr, $cor_arr, $incor_arr);
$attr = $this->ci->auto_attr_model->get_map_by_ids($attr_arr, 'id,title');
foreach ($rows as $key => $val) {
$brand_name = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : '';
$series_name = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : '';
$v_name = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : '';
$cor_name = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : '';
$val['car_name'] = "{$brand_name}-{$series_name}-{$v_name}-{$cor_name}";
$val['price'] = number_format($val['price'], 2);
$val['deposit'] = number_format($val['deposit'], 2);
$val['payway_name'] = $val['payway'] ? '全款' : '贷款';
$val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : '';
$val['status_name'] = $status_arr[$val['status']];
$lists[] = $val;
}
}
$pager = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count);
return array('lists' => $lists, 'pager' => $pager, 'params' => $params, 'status_arr' => $status_arr
, 'searchTpAry' => $this->searchTpAry, 'view' => 'receiver/order/delivery/lists', 'title' => $statusAry['name']);
}
}
?>