diff --git a/admin/controllers/receiver/Orders.php b/admin/controllers/receiver/Orders.php index dc624e3a..c2081b90 100644 --- a/admin/controllers/receiver/Orders.php +++ b/admin/controllers/receiver/Orders.php @@ -1,20 +1,22 @@ '客户手机号', 'name' => '客户姓名', 'sid' => '订单号'); - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_orders_model','orders_model'); - $this->load->model('receiver/order/receiver_order_signs_model','order_signs_model'); - $this->load->model('receiver/order/receiver_order_loans_model','order_loans_model'); - $this->load->model('receiver/order/receiver_order_ckcars_model','order_ckcars_model'); - $this->load->model('receiver/order/receiver_order_bills_model','order_bills_model'); - $this->load->model('receiver/order/receiver_order_agents_model','order_agents_model'); - $this->load->model('receiver/order/receiver_order_deliverys_model','order_deliverys_model'); - $this->load->model('receiver/order/receiver_order_contracts_model','order_contracts_model'); - $this->load->model('receiver/receiver_customers_model','customers_model'); + $this->load->model('receiver/order/receiver_orders_model', 'orders_model'); + $this->load->model('receiver/order/receiver_order_signs_model', 'order_signs_model'); + $this->load->model('receiver/order/receiver_order_loans_model', 'order_loans_model'); + $this->load->model('receiver/order/receiver_order_ckcars_model', 'order_ckcars_model'); + $this->load->model('receiver/order/receiver_order_bills_model', 'order_bills_model'); + $this->load->model('receiver/order/receiver_order_agents_model', 'order_agents_model'); + $this->load->model('receiver/order/receiver_order_deliverys_model', 'order_deliverys_model'); + $this->load->model('receiver/order/receiver_order_contracts_model', 'order_contracts_model'); + $this->load->model('receiver/receiver_customers_model', 'customers_model'); $this->load->model('auto/auto_series_model'); $this->load->model('auto/auto_brand_model'); $this->load->model('auto/auto_attr_model'); @@ -22,28 +24,86 @@ class Orders extends HD_Controller{ $this->load->model('sys/sys_finance_model'); } - public function index(){ + public function index() + { + $this->lists(); } - public function lists(){ + public function lists() + { + $params = $this->input->get(); + $statusAry = $this->orders_model->statusAry(); + $status_arr = array(); + foreach ($statusAry as $key => $value) { + if (!$value['show']) { + continue; + } + $cate = $where = array(); + $t2 = 'lc_receiver_orders'; + if ($key == 0) { + $t1 = 'lc_receiver_order_signs'; + $order_model = $this->order_signs_model; + } else if ($key == 1) { + $t1 = 'lc_receiver_order_loans'; + $order_model = $this->order_loans_model; + } else if ($key == 2) { + $t1 = 'lc_receiver_order_ckcars'; + $order_model = $this->order_ckcars_model; + } else if ($key == 3) { + $t1 = 'lc_receiver_order_bills'; + $order_model = $this->order_bills_model; + } else if ($key == 4) { + $t1 = 'lc_receiver_order_agents'; + $order_model = $this->order_agents_model; + } else if ($key == 5) { + $t1 = 'lc_receiver_order_deliverys'; + $order_model = $this->order_deliverys_model; + } else { + $t1 = 'lc_receiver_order_signs'; + $order_model = $this->order_signs_model; + } + $where_c = ["$t2.id>" => 0]; + $where_c["{$t2}.brand_id<>3"] = null;//狸车品牌不显示 + $count1 = $order_model->count_order($where_c, $t2); + if ($value['list']) { + foreach ($value['list'] as $key2 => $value2) { + $where_c["$t1.status"] = $key2; + $count2 = $order_model->count_order($where_c, $t2); + $cate[] = array("id" => $key2, "name" => $value2, "count" => $count2); + } + } + $status_arr[] = array("id" => $key, "name" => $value['name'], "cate" => $cate, "count" => $count1); + } + $params['count_all'] = $this->orders_model->count(array());//全部 + $this->load->library('OrdersList'); + $params['list_type'] = 'all'; + $result = $this->orderslist->lists($params['status_pid'], $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $this->searchTpAry; + $this->data['status_arr'] = $status_arr; + $this->data['_title'] = '全部订单列表'; + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { $status_arr = $this->order_signs_model->get_status(); $id = $this->input->get('id'); - $row = $this->orders_model->get(['id'=>$id]); - $sign = $this->order_signs_model->get(['o_id'=>$row['id']],'status'); - $customers = $this->customers_model->get(['id'=>$row['rid']],'cf_title'); - if(!$row){ + $row = $this->orders_model->get(['id' => $id]); + $sign = $this->order_signs_model->get(['o_id' => $row['id']], 'status'); + $customers = $this->customers_model->get(['id' => $row['rid']], 'cf_title'); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '订单不存在!'); } - $money_json = json_decode($row['money_json'],true); - $row['info_json'] = json_decode($row['info_json'],true); + $money_json = json_decode($row['money_json'], true); + $row['info_json'] = json_decode($row['info_json'], true); $row['status'] = intval($row['status']); - $row['price'] = number_format($row['price'],2); - $row['deposit'] = number_format($row['deposit'],2); - $row['c_time'] = date('Y-m-d',$row['c_time']); + $row['price'] = number_format($row['price'], 2); + $row['deposit'] = number_format($row['deposit'], 2); + $row['c_time'] = date('Y-m-d', $row['c_time']); $row['sign_status_name'] = $status_arr[$sign['status']]; $row['cf_title'] = $customers['cf_title']; $row['payway'] = intval($row['payway']); @@ -51,88 +111,88 @@ class Orders extends HD_Controller{ $row['cardid'] = $row['info_json']['cardid'] ? $row['info_json']['cardid'] : $row['info_json']['c_cardid']; $row['address'] = $row['info_json']['c_address'] ? $row['info_json']['c_address'] : ''; //获取车信息 - $brand = $this->auto_brand_model->get(['id'=>$row['brand_id']],'name'); - $serie = $this->auto_series_model->get(['id'=>$row['s_id']],'name'); + $brand = $this->auto_brand_model->get(['id' => $row['brand_id']], 'name'); + $serie = $this->auto_series_model->get(['id' => $row['s_id']], 'name'); $row['brand_name'] = $brand['name']; $row['s_name'] = $serie['name']; - $attr_arr = [$row['v_id'],$row['cor_id'],$row['incor_id']]; - $attr = $this->auto_attr_model->get_map_by_ids($attr_arr,'id,title'); - $row['v_name'] = isset($attr[$row['v_id']]) ? $attr[$row['v_id']][0]['title']:''; - $row['cor_name'] = isset($attr[$row['cor_id']]) ? $attr[$row['cor_id']][0]['title']:''; - $row['incor_name'] = isset($attr[$row['incor_id']]) ? $attr[$row['incor_id']][0]['title']:''; + $attr_arr = [$row['v_id'], $row['cor_id'], $row['incor_id']]; + $attr = $this->auto_attr_model->get_map_by_ids($attr_arr, 'id,title'); + $row['v_name'] = isset($attr[$row['v_id']]) ? $attr[$row['v_id']][0]['title'] : ''; + $row['cor_name'] = isset($attr[$row['cor_id']]) ? $attr[$row['cor_id']][0]['title'] : ''; + $row['incor_name'] = isset($attr[$row['incor_id']]) ? $attr[$row['incor_id']][0]['title'] : ''; //获取选择车辆vin - if($row['item_id']){ + if ($row['item_id']) { $this->load->model('items/items_model', 'mdItems'); $row_goods = $this->mdItems->get(array('id' => $row['item_id'])); $row['vin'] = $row_goods['vin']; } //获取贷款信息 - if(!$row['payway'] && $row['status']>0){ - $auto_finance_row = $this->auto_finance_model->get(['id'=>$row['finance_id']],'fin_id,num'); - $finance_row = $this->sys_finance_model->get(['id'=>$auto_finance_row['fin_id']],'title'); - $loan = $this->order_loans_model->get(['o_id'=>$row['id']]); + if (!$row['payway'] && $row['status'] > 0) { + $auto_finance_row = $this->auto_finance_model->get(['id' => $row['finance_id']], 'fin_id,num'); + $finance_row = $this->sys_finance_model->get(['id' => $auto_finance_row['fin_id']], 'title'); + $loan = $this->order_loans_model->get(['o_id' => $row['id']]); $loan['status'] = intval($loan['status']); $loan['title'] = $finance_row['title']; $loan['num'] = $auto_finance_row['num']; - $loan['loan_pay'] = number_format($money_json['price_car']-$money_json['first_pay'],2); - $loan['first_pay'] = number_format($money_json['first_pay'],2); + $loan['loan_pay'] = number_format($money_json['price_car'] - $money_json['first_pay'], 2); + $loan['first_pay'] = number_format($money_json['first_pay'], 2); $loan['notify_file'] = $loan['notify_file'] ? build_qiniu_image_url($loan['notify_file']) : ''; $loan['lend_file'] = $loan['lend_file'] ? build_qiniu_image_url($loan['lend_file']) : ''; $row['loan_info'] = $loan; } //获取开票 - $bill = $this->order_bills_model->get(['o_id'=>$row['id']],'status,file,cardidA,cardidB'); + $bill = $this->order_bills_model->get(['o_id' => $row['id']], 'status,file,cardidA,cardidB'); $bill['file'] = $bill['file'] ? build_qiniu_image_url($bill['file']) : ''; $bill['cardidA'] = $bill['cardidA'] ? build_qiniu_image_url($bill['cardidA']) : ''; $bill['cardidB'] = $bill['cardidB'] ? build_qiniu_image_url($bill['cardidB']) : ''; $bill['status'] = intval($bill['status']); $row['bill'] = $bill; //获取合同文件 - $contracts = $this->order_contracts_model->select(['o_id'=>$row['id'],'status'=>1],'','','','type,file,status'); + $contracts = $this->order_contracts_model->select(['o_id' => $row['id'], 'status' => 1], '', '', '', 'type,file,status'); $contract_data = []; - if($contracts){ - foreach($contracts as $key=>$val){ + if ($contracts) { + foreach ($contracts as $key => $val) { $contract_data[$val['type']] = [ 'type' => $val['type'], - 'status_name' => $val['status']?'已签约':'未签约' + 'status_name' => $val['status'] ? '已签约' : '未签约' ]; } } $row['contract_data'] = $contract_data; //获取销售员 - if($row['admin_id']){ + if ($row['admin_id']) { $this->load->model('app/licheb/app_licheb_users_model', 'licheb_users_model'); $this->load->model("biz/biz_model"); $row_admin = $this->licheb_users_model->get(array('id' => $row['admin_id'])); $biz_id = $row_admin['biz_id']; $row_biz = array(); - if($biz_id){ + if ($biz_id) { $row_biz = $this->biz_model->get(array('id' => $biz_id)); } - $admin_name = $row_admin ? "{$row_biz['biz_name']} {$row_admin['uname']}":""; + $admin_name = $row_admin ? "{$row_biz['biz_name']} {$row_admin['uname']}" : ""; $row['admin_name'] = $admin_name; } //获取代办信息 - $agent = $this->order_agents_model->get(['o_id'=>$row['id']]); + $agent = $this->order_agents_model->get(['o_id' => $row['id']]); $imgs = []; $car_imgs = []; - if($agent){ + if ($agent) { $agent['if_ins'] = intval($agent['if_ins']); - $agent['ins_time'] = $agent['ins_time'] != '0000-00-00 00:00:00' ? date('Y-m-d',strtotime($agent['ins_time'])):''; - if($agent['car_img']){ - $file_name = substr($agent['car_img'], strrpos($agent['car_img'], '/')+1); + $agent['ins_time'] = $agent['ins_time'] != '0000-00-00 00:00:00' ? date('Y-m-d', strtotime($agent['ins_time'])) : ''; + if ($agent['car_img']) { + $file_name = substr($agent['car_img'], strrpos($agent['car_img'], '/') + 1); $car_imgs[] = array( 'src' => build_qiniu_image_url($agent['car_img']), 'value' => $agent['car_img'], 'title' => $file_name ); } - if($agent['ins_img']){ + if ($agent['ins_img']) { $ins_img = json_decode($agent['ins_img']); - foreach($ins_img as $val){ - $file_name = substr($val, strrpos($val, '/')+1); + foreach ($ins_img as $val) { + $file_name = substr($val, strrpos($val, '/') + 1); $imgs[] = [ 'src' => build_qiniu_image_url($val), 'value' => $val, @@ -140,7 +200,7 @@ class Orders extends HD_Controller{ ]; } } - }else{ + } else { $agent['if_ins'] = 0; $agent['car_img_src'] = ''; $agent['car_img'] = ''; @@ -155,70 +215,76 @@ class Orders extends HD_Controller{ } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } - + //修改分期 - public function edit_loan(){ + public function edit_loan() + { $params = $this->input->post(); $file = $_FILES['file']; - $row = $this->order_loans_model->get(['o_id'=>$params['id']]); - if(!$row){ + $row = $this->order_loans_model->get(['o_id' => $params['id']]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } $update = []; - if($file){ //上传按揭通知函 - $path = FCPATH.'temp/'; - if (!file_exists($path)){ + if ($file) { //上传按揭通知函 + $path = FCPATH . 'temp/'; + if (!file_exists($path)) { $oldumask = umask(0); mkdir($path, 0777, true); umask($oldumask); } - $file_name = md5($file['name'] . uniqid()) . '.'.end(explode('.',$file['name'])); - $tmp = $path.$file_name; + $file_name = md5($file['name'] . uniqid()) . '.' . end(explode('.', $file['name'])); + $tmp = $path . $file_name; move_uploaded_file($file['tmp_name'], $tmp); if (!filesize($tmp)) { return $this->show_json(SYS_CODE_FAIL, '上传文件失败!'); } $this->load->library('qiniu'); - $res= $this->qiniu->save($file_name, file_get_contents($tmp)); + $res = $this->qiniu->save($file_name, file_get_contents($tmp)); unlink($tmp); if (!$res) { return $this->show_json(SYS_CODE_FAIL, '上传文件失败!'); } $size = getimagesize($res['url']); - if($params['type']){ + if ($params['type']) { $update['lend_file'] = $res['file']; - }else{ + } else { $update['notify_file'] = $res['file']; } $this->data['file_url'] = build_qiniu_image_url($res['file']); } strlen($params['status']) && $update['status'] = $params['status']; - $result = $this->order_loans_model->update($update,['id'=>$row['id']]); - if($result && $params['status']==1){ //设置完成按揭 - $this->orders_model->update(['status'=>2],['id'=>$row['o_id']]); - $ckcar = $this->order_ckcars_model->get(['o_id'=>$row['o_id']]); + $result = $this->order_loans_model->update($update, ['id' => $row['id']]); + if ($result && $params['status'] == 2) { //设置完成按揭 + $this->orders_model->update(['status' => 2], ['id' => $row['o_id']]); + $ckcar = $this->order_ckcars_model->get(['o_id' => $row['o_id']]); $replace = [ 'o_id' => $row['o_id'], 'status' => 0, @@ -227,176 +293,186 @@ class Orders extends HD_Controller{ $ckcar && $replace['id'] = $ckcar['id']; $this->order_ckcars_model->replace($replace); } - return $result ? $this->show_json(SYS_CODE_SUCCESS,'保存成功') : $this->show_json(SYS_CODE_FAIL,'保存失败'); + return $result ? $this->show_json(SYS_CODE_SUCCESS, '保存成功') : $this->show_json(SYS_CODE_FAIL, '保存失败'); } - public function edit_item(){ + public function edit_item() + { $this->load->model("items/items_model"); $id = $this->input->post('id'); $item_id = $this->input->post('item_id'); - $row = $this->orders_model->get(['id'=>$id]); - $ckcars = $this->order_ckcars_model->get(['o_id'=>$id]); - if(!$row){ + $row = $this->orders_model->get(['id' => $id]); + $ckcars = $this->order_ckcars_model->get(['o_id' => $id]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } - if(!$item_id) return $this->show_json(SYS_CODE_FAIL, '请选择车辆!'); + if (!$item_id) return $this->show_json(SYS_CODE_FAIL, '请选择车辆!'); - if($row['status']>=3){ + if ($row['status'] >= 3) { return $this->show_json(SYS_CODE_FAIL, '用户已确,不能修改!'); } - $res = $this->orders_model->update(['item_id'=>$item_id],['id'=>$id]); - if(!$res){ - return $this->show_json(SYS_CODE_FAIL,'保存失败'); + $res = $this->orders_model->update(['item_id' => $item_id], ['id' => $id]); + if (!$res) { + return $this->show_json(SYS_CODE_FAIL, '保存失败'); } - if($row['item_id'] && $row['item_id']!=$item_id){ - $this->items_model->update(['status'=>1],['id'=>$row['item_id']]); + if ($row['item_id'] && $row['item_id'] != $item_id) { + $this->items_model->update(['status' => 1], ['id' => $row['item_id']]); } - $this->items_model->update(['status'=>2],['id'=>$item_id]); - if(!$ckcars){ + $this->items_model->update(['status' => 2], ['id' => $item_id]); + if (!$ckcars) { $add_data = [ 'o_id' => $id, 'status' => 1, 'c_time' => time() ]; $result = $this->order_ckcars_model->add($add_data); - }else{ - $result = $this->order_ckcars_model->update(['status'=>1],['id'=>$ckcars['id']]); + } else { + $result = $this->order_ckcars_model->update(['status' => 1], ['id' => $ckcars['id']]); } - if($result){ - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); - }else{ - return $this->show_json(SYS_CODE_FAIL,'保存失败'); + if ($result) { + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); + } else { + return $this->show_json(SYS_CODE_FAIL, '保存失败'); } } - + //查看发票信息 - public function get_bill(){ + public function get_bill() + { $oid = $this->input->get('oid'); - $row = $this->orders_model->get(['id'=>$oid]); - $bill = $this->order_bills_model->get(['o_id'=>$oid]); - if(!$row){ + $row = $this->orders_model->get(['id' => $oid]); + $bill = $this->order_bills_model->get(['o_id' => $oid]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } - if(!$bill){ + if (!$bill) { $add_data = [ 'o_id' => $row['id'], 'c_time' => time() ]; $bill['id'] = $this->order_bills_model->add($add_data); } - $bill['src_file'] = $bill['file'] ? build_qiniu_image_url($bill['file']):''; + $bill['src_file'] = $bill['file'] ? build_qiniu_image_url($bill['file']) : ''; $this->data['bill'] = $bill; return $this->show_view('receiver/orders/get_bill'); } + //编辑发表信息 - public function edit_bill(){ + public function edit_bill() + { $id = $this->input->post('id'); $money = $this->input->post('money'); $file = $this->input->post('file'); $money && $update['money'] = $money; $file && $update['file'] = $file; - $result = $this->order_bills_model->update($update,['id'=>$id]); - if($result){ + $result = $this->order_bills_model->update($update, ['id' => $id]); + if ($result) { //更新开票时间 - $row = $this->order_bills_model->get(['id'=>$id]); + $row = $this->order_bills_model->get(['id' => $id]); $row_order = $this->orders_model->get(array('id' => $row['o_id'])); - if($row_order){ + if ($row_order) { $this->load->model('items/items_model'); $upd = array('bill_time' => date('Y-m-d H:i:s')); $where = array('id' => $row_order['item_id']); $ret = $this->items_model->update($upd, $where); } - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); - }else{ - return $this->show_json(SYS_CODE_FAIL,'保存失败'); + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); + } else { + return $this->show_json(SYS_CODE_FAIL, '保存失败'); } } //确定交款 - public function edit_jk(){ + public function edit_jk() + { $oid = $this->input->post('oid'); - $row = $this->orders_model->get(['id'=>$oid]); - if(!$row){ + $row = $this->orders_model->get(['id' => $oid]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } - if($row['status']!=3){ - return $this->show_json(SYS_CODE_FAIL,'修改失败,该订单不处于开票阶段'); + if ($row['status'] != 3) { + return $this->show_json(SYS_CODE_FAIL, '修改失败,该订单不处于开票阶段'); } - $bill = $this->order_bills_model->get(['o_id'=>$oid]); - if(!$bill['file'] || !$bill['money']){ + $bill = $this->order_bills_model->get(['o_id' => $oid]); + if (!$bill['file'] || !$bill['money']) { return $this->show_json(SYS_CODE_FAIL, '未上传开票文件或未填写到账金额!'); } - if(!$bill['cardidA']){ + if (!$bill['cardidA']) { return $this->show_json(SYS_CODE_FAIL, '未上传用户身份证!'); } - $result = $this->order_bills_model->update(['status'=>1],['o_id'=>$oid]); - $this->orders_model->update(['status'=>4],['id'=>$bill['o_id']]); - if(!$this->order_agents_model->get(['o_id'=>$oid])){ - $this->order_agents_model->add(['o_id'=>$oid,'c_time'=>time]); + $result = $this->order_bills_model->update(['status' => 1], ['o_id' => $oid]); + $this->orders_model->update(['status' => 4], ['id' => $bill['o_id']]); + if (!$this->order_agents_model->get(['o_id' => $oid])) { + $this->order_agents_model->add(['o_id' => $oid, 'c_time' => time]); } - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); } + //保存代办服务 - public function edit_agent(){ + public function edit_agent() + { $params = $this->input->post(); - $row = $this->orders_model->get(['id'=>$params['oid']]); - if(!$row){ + $row = $this->orders_model->get(['id' => $params['oid']]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } - $agent = $this->order_agents_model->get(['o_id'=>$row['id']]); + $agent = $this->order_agents_model->get(['o_id' => $row['id']]); $update = []; $params['car_num'] && $update['car_num'] = $params['car_num']; - $params['e_time'] && $update['ins_time'] = date('Y-m-d H:i:s',strtotime($params['e_time'])); + $params['e_time'] && $update['ins_time'] = date('Y-m-d H:i:s', strtotime($params['e_time'])); $params['car_img'] && $update['car_img'] = $params['car_img']; - $update['if_ins'] = $params['if_ins'] ? 1:0; - if($params['bx_imgs']){ - $imgs = explode(',',$params['bx_imgs']); - $update['ins_img'] = json_encode($imgs,JSON_UNESCAPED_UNICODE); + $update['if_ins'] = $params['if_ins'] ? 1 : 0; + if ($params['bx_imgs']) { + $imgs = explode(',', $params['bx_imgs']); + $update['ins_img'] = json_encode($imgs, JSON_UNESCAPED_UNICODE); } - if($agent){ - $result = $this->order_agents_model->update($update,['id'=>$agent['id']]); - }else{ + if ($agent) { + $result = $this->order_agents_model->update($update, ['id' => $agent['id']]); + } else { $update['o_id'] = $row['id']; $update['c_time'] = time(); $result = $this->order_agents_model->add($update); } - if($result){ - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); - }else{ - return $this->show_json(SYS_CODE_FAIL,'保存失败'); + if ($result) { + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); + } else { + return $this->show_json(SYS_CODE_FAIL, '保存失败'); } } + //确定代办 - public function edit_agentfh(){ + public function edit_agentfh() + { $oid = $this->input->post('oid'); - $row = $this->orders_model->get(['id'=>$oid]); - if(!$row){ + $row = $this->orders_model->get(['id' => $oid]); + if (!$row) { return $this->show_json(SYS_CODE_FAIL, '参数错误!'); } - if($row['status']!=4){ - return $this->show_json(SYS_CODE_FAIL,'修改失败,该订单不处于代办阶段'); + if ($row['status'] != 4) { + return $this->show_json(SYS_CODE_FAIL, '修改失败,该订单不处于代办阶段'); } - $this->order_agents_model->update(['status'=>1],['o_id'=>$oid]); - $this->orders_model->update(['status'=>5],['id'=>$oid]); - if(!$this->order_deliverys_model->count(['o_id'=>$oid])){ - $this->order_deliverys_model->add(['o_id'=>$oid,'c_time'=>time]); + $this->order_agents_model->update(['status' => 1], ['o_id' => $oid]); + $this->orders_model->update(['status' => 5], ['id' => $oid]); + if (!$this->order_deliverys_model->count(['o_id' => $oid])) { + $this->order_deliverys_model->add(['o_id' => $oid, 'c_time' => time]); } - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); } //获取合同图片 - public function get_cimgs(){ + public function get_cimgs() + { $type = $this->input->get('type'); $oid = $this->input->get('oid'); - $row = $this->order_contracts_model->get(['type'=>$type,'o_id'=>$oid]); + $row = $this->order_contracts_model->get(['type' => $type, 'o_id' => $oid]); $info['title'] = '相册标题'; $info['id'] = '222'; $info['start'] = 0; $data = []; - if($row){ - $imgs = json_decode($row['imgs'],true); - foreach($imgs as $key => $val){ + if ($row) { + $imgs = json_decode($row['imgs'], true); + foreach ($imgs as $key => $val) { $data[] = [ 'alt' => '图片名', 'pid' => $key, @@ -404,10 +480,10 @@ class Orders extends HD_Controller{ 'thumb' => build_qiniu_image_url($val) ]; } - } + } $info['data'] = $data; $this->data['info'] = $info; - return $this->show_json(SYS_CODE_SUCCESS,'保存成功'); + return $this->show_json(SYS_CODE_SUCCESS, '保存成功'); } } diff --git a/admin/controllers/receiver/order/Agent.php b/admin/controllers/receiver/order/Agent.php index decbd3cc..bf5a4622 100644 --- a/admin/controllers/receiver/order/Agent.php +++ b/admin/controllers/receiver/order/Agent.php @@ -2,15 +2,9 @@ defined('BASEPATH') OR exit('No direct script access allowed'); class Agent extends HD_Controller{ - - private $searchTpAry = array('mobile' => '客户手机号', 'name' => '客户姓名','sid' => '订单号'); public function __construct(){ parent::__construct(); - $this->load->model('receiver/order/receiver_order_agents_model','order_agents_model'); - $this->load->model('auto/auto_series_model'); - $this->load->model('auto/auto_brand_model'); - $this->load->model('auto/auto_attr_model'); } public function index(){ @@ -18,138 +12,15 @@ class Agent extends HD_Controller{ } public function lists(){ - $status_arr = $this->order_agents_model->get_status(); $params = $this->input->get(); - - $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, - ]; - - strlen($params['status']) && $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->order_agents_model->select_order($where,"$t1.id desc",$page,$size,$fileds); - - //品牌车型 - $brand_arr = array_unique(array_column($rows,'brand_id')); - $brands = $this->auto_brand_model->get_map_by_ids($brand_arr,'id,name'); - //车系车型 - $series_arr = array_unique(array_column($rows,'s_id')); - $series = $this->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->auto_attr_model->get_map_by_ids($attr_arr,'id,title'); - - foreach($rows as $key=>$val){ - $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; - $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; - $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; - $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; - $val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : ''; - $val['status_name'] = $status_arr[$val['status']]; - $lists[] = $val; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; - $this->data['_title'] = '合同签订列表'; + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(4, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; + $this->data['_title'] = '代办服务订列表'; return $this->show_view('receiver/order/agent/lists', true); } diff --git a/admin/controllers/receiver/order/Bill.php b/admin/controllers/receiver/order/Bill.php index 77992bde..fb0aa11a 100644 --- a/admin/controllers/receiver/order/Bill.php +++ b/admin/controllers/receiver/order/Bill.php @@ -1,181 +1,62 @@ '客户手机号', 'name' => '客户姓名','sid' => '订单号'); +class Bill extends HD_Controller +{ - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_order_bills_model','order_bills_model'); - $this->load->model('auto/auto_series_model'); - $this->load->model('auto/auto_brand_model'); - $this->load->model('auto/auto_attr_model'); } - public function index(){ + public function index() + { $this->lists(); } - public function lists(){ - $status_arr = $this->order_bills_model->get_status(); + public function lists() + { $params = $this->input->get(); - - $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, - ]; - - strlen($params['status']) && $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->order_bills_model->select_order($where,"$t1.id desc",$page,$size,$fileds); - - //品牌车型 - $brand_arr = array_unique(array_column($rows,'brand_id')); - $brands = $this->auto_brand_model->get_map_by_ids($brand_arr,'id,name'); - //车系车型 - $series_arr = array_unique(array_column($rows,'s_id')); - $series = $this->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->auto_attr_model->get_map_by_ids($attr_arr,'id,title'); - - foreach($rows as $key=>$val){ - $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; - $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; - $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; - $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; - $val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : ''; - $val['status_name'] = $status_arr[$val['status']]; - $lists[] = $val; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; - $this->data['_title'] = '合同签订列表'; - return $this->show_view('receiver/order/bill/lists', true); + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(3, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; + $this->data['_title'] = '开票相关列表'; + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } diff --git a/admin/controllers/receiver/order/Ckcar.php b/admin/controllers/receiver/order/Ckcar.php index 8fff75ef..5826404d 100644 --- a/admin/controllers/receiver/order/Ckcar.php +++ b/admin/controllers/receiver/order/Ckcar.php @@ -1,181 +1,62 @@ '客户手机号', 'name' => '客户姓名','sid' => '订单号'); +class Ckcar extends HD_Controller +{ - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_order_ckcars_model','order_ckcars_model'); - $this->load->model('auto/auto_series_model'); - $this->load->model('auto/auto_brand_model'); - $this->load->model('auto/auto_attr_model'); } - public function index(){ + public function index() + { $this->lists(); } - public function lists(){ - $status_arr = $this->order_ckcars_model->get_status(); + public function lists() + { $params = $this->input->get(); - - $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, - ]; - - strlen($params['status']) && $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->order_ckcars_model->select_order($where,"$t1.id desc",$page,$size,$fileds); - - //品牌车型 - $brand_arr = array_unique(array_column($rows,'brand_id')); - $brands = $this->auto_brand_model->get_map_by_ids($brand_arr,'id,name'); - //车系车型 - $series_arr = array_unique(array_column($rows,'s_id')); - $series = $this->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->auto_attr_model->get_map_by_ids($attr_arr,'id,title'); - - foreach($rows as $key=>$val){ - $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; - $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; - $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; - $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; - $val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : ''; - $val['status_name'] = $status_arr[$val['status']]; - $lists[] = $val; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; - $this->data['_title'] = '合同签订列表'; - return $this->show_view('receiver/order/ckcar/lists', true); + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(2, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; + $this->data['_title'] = '车辆确认列表'; + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } diff --git a/admin/controllers/receiver/order/Delivery.php b/admin/controllers/receiver/order/Delivery.php index e39ee92e..a32abccd 100644 --- a/admin/controllers/receiver/order/Delivery.php +++ b/admin/controllers/receiver/order/Delivery.php @@ -1,181 +1,62 @@ '客户手机号', 'name' => '客户姓名','sid' => '订单号'); +class Delivery extends HD_Controller +{ - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_order_deliverys_model','order_deliverys_model'); - $this->load->model('auto/auto_series_model'); - $this->load->model('auto/auto_brand_model'); - $this->load->model('auto/auto_attr_model'); } - public function index(){ + public function index() + { $this->lists(); } - public function lists(){ - $status_arr = $this->order_deliverys_model->get_status(); + public function lists() + { $params = $this->input->get(); - - $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, - ]; - - strlen($params['status']) && $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->order_deliverys_model->select_order($where,"$t1.id desc",$page,$size,$fileds); - - //品牌车型 - $brand_arr = array_unique(array_column($rows,'brand_id')); - $brands = $this->auto_brand_model->get_map_by_ids($brand_arr,'id,name'); - //车系车型 - $series_arr = array_unique(array_column($rows,'s_id')); - $series = $this->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->auto_attr_model->get_map_by_ids($attr_arr,'id,title'); - - foreach($rows as $key=>$val){ - $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; - $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; - $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; - $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; - $val['incor_name'] = isset($attr[$val['incor_id']]) ? $attr[$val['incor_id']][0]['title'] : ''; - $val['status_name'] = $status_arr[$val['status']]; - $lists[] = $val; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; - $this->data['_title'] = '合同签订列表'; - return $this->show_view('receiver/order/delivery/lists', true); + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(5, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; + $this->data['_title'] = '交付车辆列表'; + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } diff --git a/admin/controllers/receiver/order/Loan.php b/admin/controllers/receiver/order/Loan.php index 58a5e6ac..5d852aad 100644 --- a/admin/controllers/receiver/order/Loan.php +++ b/admin/controllers/receiver/order/Loan.php @@ -1,160 +1,62 @@ '客户手机号', 'name' => '客户姓名','sid' => '订单号'); +class Loan extends HD_Controller +{ - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_order_loans_model','order_loans_model'); } - public function index(){ + public function index() + { $this->lists(); } - public function lists(){ - $status_arr = $this->order_loans_model->get_status(); + public function lists() + { $params = $this->input->get(); - - $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, - ]; - - strlen($params['status']) && $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->order_loans_model->select_order($where,"$t1.id desc",$page,$size,$fileds); - - foreach($rows as $key=>$val){ - $val['status_name'] = $status_arr[$val['status']]; - $lists[] = $val; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; - $this->data['_title'] = '合同签订列表'; - return $this->show_view('receiver/order/loan/lists', true); + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(1, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; + $this->data['_title'] = '分期办理列表'; + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } diff --git a/admin/controllers/receiver/order/Sign.php b/admin/controllers/receiver/order/Sign.php index de6c38c4..f5fde127 100644 --- a/admin/controllers/receiver/order/Sign.php +++ b/admin/controllers/receiver/order/Sign.php @@ -1,220 +1,62 @@ '客户手机号', 'name' => '客户姓名','sid' => '订单号'); +class Sign extends HD_Controller +{ - public function __construct(){ + public function __construct() + { parent::__construct(); - $this->load->model('receiver/order/receiver_order_signs_model','order_signs_model'); - $this->load->model('auto/auto_series_model'); - $this->load->model('auto/auto_brand_model'); - $this->load->model('auto/auto_attr_model'); } - public function index(){ + public function index() + { $this->lists(); } - public function lists(){ - $status_arr = $this->order_signs_model->get_status(); - $status_arr = array(2 => '已预交款', 1 => '已签合同', 0 => '未签合同'); + public function lists() + { $params = $this->input->get(); - - $page = $params['page'] = $params['page'] ? intval($params['page']) : 1; - $size = $params['size'] = $params['size'] ? intval($params['size']) : 20; - - $this->load->model('app/licheb/app_licheb_users_model', 'licheb_users_model'); - $this->load->model("biz/biz_model"); - - $t1 = 'lc_receiver_order_signs'; - $t2 = 'lc_receiver_orders'; - $where = [ - "$t2.id>" => 0, - ]; - - if(!strlen($params['status'])){ - $params['status'] = 2;//默认展示预付的 - } - $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; - $this->load->model("biz/biz_model"); - $rows_biz = $this->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; - $this->load->model('app/licheb/App_licheb_users_model', 'licheb_user_model'); - $rows_lcb = $this->licheb_user_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->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->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->auto_brand_model->get_map_by_ids($brand_arr,'id,name'); - //车系车型 - $series = $this->auto_series_model->get_map_by_ids($series_arr,'id,name'); - //获取属性 - $attr_arr = array_merge($v_arr,$cor_arr,$incor_arr); - $attr = $this->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->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->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']}": ''; - $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; - $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; - $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; - $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; - $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; - } - } - $this->data['pager'] = array('count' => ceil($count / $size), 'curr' => $page, 'totle' => $count); - $this->data['lists'] = $lists; - $this->data['params'] = $params; - $this->data['searchTpAry'] = $this->searchTpAry; - $this->data['status_arr'] = $status_arr; + $this->load->library('OrdersList'); + $result = $this->orderslist->lists(0, $params); + $this->data['pager'] = $result['pager']; + $this->data['lists'] = $result['lists']; + $this->data['params'] = $result['params']; + $this->data['searchTpAry'] = $result['searchTpAry']; + $this->data['status_arr'] = $result['status_arr']; $this->data['_title'] = '合同签订列表'; - return $this->show_view('receiver/order/sign/lists', true); + return $this->show_view($result['view'], true); } - public function get(){ + public function get() + { } //添加单条数据 - public function add(){ + public function add() + { } //编辑单条数据 - public function edit(){ + public function edit() + { } //删除单条数据 - public function del(){ + public function del() + { } //批量操作(默认修改状态) - public function batch(){ + public function batch() + { } //导出数据列表 - public function export(){ + public function export() + { } diff --git a/admin/libraries/OrdersList.php b/admin/libraries/OrdersList.php new file mode 100644 index 00000000..037828bf --- /dev/null +++ b/admin/libraries/OrdersList.php @@ -0,0 +1,995 @@ + '客户手机号', '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(); + } + } + + 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) { + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + /** + * 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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']}" : ''; + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + /** + * 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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['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'); + } + + /** + * 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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) { + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + /** + * 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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) { + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + /** + * 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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) { + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + 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, + ]; + if ($params['list_type'] == 'all') { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['list']; + strlen($params['status']) && $where["$t1.status"] = $params['status']; + } else { + $status_arr = $this->ci->mdOrders->statusAry($status_pid)['menu_list']; + if (!strlen($params['status'])) { + $params['status'] = $this->ci->mdOrders->statusAry($status_pid)['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) { + $val['brand_name'] = isset($brands[$val['brand_id']]) ? $brands[$val['brand_id']][0]['name'] : ''; + $val['series_name'] = isset($series[$val['s_id']]) ? $series[$val['s_id']][0]['name'] : ''; + $val['v_name'] = isset($attr[$val['v_id']]) ? $attr[$val['v_id']][0]['title'] : ''; + $val['cor_name'] = isset($attr[$val['cor_id']]) ? $attr[$val['cor_id']][0]['title'] : ''; + $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'); + } + + +} + +?> diff --git a/admin/views/receiver/order/agent/lists.php b/admin/views/receiver/order/agent/lists.php index 72ae47b6..0f4dd4e3 100644 --- a/admin/views/receiver/order/agent/lists.php +++ b/admin/views/receiver/order/agent/lists.php @@ -1,172 +1,214 @@ -