<?php namespace App\Http\Controllers; use App\Http\Page; use App\Map\PcbOrderInvoiceMap; use App\Map\PcbOrderMap; use App\Map\PcbOrderShippingMap; use App\Map\PcbPurchaseMap; use App\Model\PaymentDaysModel; use App\Model\Pcb\PcbOrderModel; use App\Model\Pcb\PcbPublicModel; use App\Model\Pcb\PcbPurchaseModel; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use DB; class WebController extends Controller { // 页面用户、菜单信息 public function getPageInfo(Request $request) { $uri = '/' . $request->path(); $username = $request->user->email; $useremail= $request->user->email; // 菜单 $menuconfig = DB::table('config')->where('config_title', '订单系统')->first(); $menus = []; if ($menuconfig && !($menus = json_decode($menuconfig->config_data))) $menus = []; $perm = new PermController(); // 用户角色 $role = $perm->getUserRole($request); // 获取权限菜单 if ($role != 1) { $menus = $perm->getPermMenu($menus, $request->user->userId); } $data = [ 'header' => $request->user->header, 'uri' => $uri, 'username' => $username, 'useremail' => $useremail, 'menus' => $menus, ]; return $data; } public function info(Request $request,$id=''){ $data=$this->getPageInfo($request); $data['id']=$id; return $this->$id($request, $data,$id ); } private function PaymentDaysList($request,$data,$id){ $data['title']='账期申请列表'; $data['Status']=[1=>'待审核',2=>'审核通过',3=>'审核不通过']; return view('PaymentDays',$data); } private function AuthPaymentDays($request,$data,$id){ $data['title']='审核账期申请'; $data['Status']=[1=>'待审核',2=>'审核通过',3=>'审核不通过']; $data['paths'] = [["title" => '账期管理', "href" => '#'], ["title" => '申请列表', "href" => '/web/PaymentDaysList'], ["title" => '审核账期申请', "href" => '#']]; $Model=new PaymentDaysModel(); $data['info']=$Model->AuthPaymentDays(); return view('PaymentDays',$data); } //pcb 订单列表 private function PcbOrderList($request,$data,$id){ $data['title']='PCB交易列表'; $data['order_type'] = PcbOrderMap::$order_type; $data['status'] = PcbOrderMap::$status; $data['shipping'] = objectToArray(DB::connection("order")->table("lie_shipping")->get()); //分页 $response = (new PcbOrderModel())->getList(); $page = new Page($response[3], 10); $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $show = $page->show(); $data['list'] = $response[2]; $data['page'] = $show; return view("Pcb",$data); } //pcb详情 private function PcbOrderDetail($request,$data,$id){ $data['title']='PCB订单详情'; $data['paths'] = [["title" => 'PCB管理', "href" => '#'], ["title" => 'PCB订单列表', "href" => '/web/PcbOrderList'], ["title" => 'PCB订单详情', "href" => '#']]; $order_id = $request->input("order_id"); $con = DB::connection('pcb'); //订单基本信息 $orderBase = $con->table('order')->where(['order_id' => $order_id])->first(); if (!$orderBase){ return [0,'不存在此订单']; } //采购信息 $purchase = $con->table('purchase')->where(['order_id' => $order_id])->first(); //订单收货人信息 $orderAddress = $con->table('order_address')->where(['order_id' => $order_id])->first(); //订单费用明细 $orderAuditDetail = $con->table('order_audit_detail')->where(['order_id' => $order_id])->first(); //采购审核意见备注 $orderAuditReason2 = $con->table('order_audit_reason')->where(['order_id' => $order_id,'type'=>2,'status'=>1])->orderBy("id","desc")->first(); $orderAuditReason1 = $con->table('order_audit_reason')->where(['order_id' => $order_id,'type'=>1,'status'=>1])->orderBy("id","desc")->first(); //订单详细信息 $orderInfo = $con->table('order_info')->where(['order_id' => $order_id])->first(); //订单发票信息 $orderInvoice = $con->table('order_invoice')->where(['order_id' => $order_id])->first(); //物流信息 $shipping = $con->table('shipping')->where(['relevance_id' => $order_id,'shipping_type'=>1])->first(); //查询操作日志 $actionLog = $con->table("action_log")->where(["type"=>1,'oid'=>$order_id])->orderBy("id","desc")->get(); $orderBase = objectToArray($orderBase); $orderBase['tiaojia'] = ""; //拼接采购信息 if ($purchase){ $purchase= objectToArray($purchase); if($purchase['purchase_amount'] == 0){ $orderBase['tiaojia'] = ""; }else{ if ( $purchase['purchase_amount'] > 0 && $purchase['purchase_amount'] != $purchase['order_amount']){ $orderBase['tiaojia'] = "是"; }else{ $orderBase['tiaojia'] = "否"; } } $purchase['shipping_time'] = $purchase['shipping_time'] > 0 ? date('Y-m-d H:i:s',$purchase['shipping_time']) : ""; $purchase['finish_time'] = $purchase['finish_time'] > 0 ? date('Y-m-d H:i:s',$purchase['finish_time']) : ""; $purchase['purchase_amount'] = $purchase['purchase_amount'] > 0 ? $purchase['purchase_amount'] : ""; } //拼接基本信息 $PcbPublicModel = new PcbPublicModel(); $orderBase['order_pay_type'] = $PcbPublicModel->getPay($order_id); $orderBase['order_type'] = PcbOrderMap::$order_type[$orderBase['order_type']]; $orderBase['status_name'] = PcbOrderMap::$status[$orderBase['status']]; $orderBase['create_time'] = $orderBase['create_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['create_time']) : ""; $orderBase['finish_time'] = $orderBase['finish_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['finish_time']) : ""; $orderBase['pay_time'] = $orderBase['pay_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['pay_time']) : ""; $userCompany = DB::connection('order')->table("lie_user_company")->where("user_id",$orderBase['user_id'])->first(); $orderBase['company_name'] = $userCompany ? $userCompany->com_name : "" ; //拼接收货信息 $RegionController = new RegionController(); if ($orderAddress){ $orderAddress = objectToArray($orderAddress); $orderAddress['province'] = $RegionController->getRegionName($orderAddress['province']); $orderAddress['city'] = $RegionController->getRegionName($orderAddress['city']); $orderAddress['district'] = $RegionController->getRegionName($orderAddress['district']); } //拼接发票信息 if ($orderInvoice){ $orderInvoice = objectToArray($orderInvoice); $orderInvoice['province'] = $RegionController->getRegionName($orderInvoice['consignee_province']); $orderInvoice['city'] = $RegionController->getRegionName($orderInvoice['consignee_city']); $orderInvoice['district'] = $RegionController->getRegionName($orderInvoice['consignee_district']); $orderInvoice['inv_type'] = PcbOrderInvoiceMap::$inv_type[$orderInvoice['inv_type']]; $orderInvoice['invoice_status'] = PcbOrderInvoiceMap::$invoice_status[$orderInvoice['invoice_status']]; } //拼接订单详细信息 $orderInfo = objectToArray($orderInfo); $orderInfo['teshu'] = "是否有半孔工艺:".($orderInfo['sp_half_hole'] == 1 ? "是":"否")." 是否要金手指:".($orderInfo['sp_goldfingers'] == 1 ? "是":"否").$orderInfo['sp_goldfingers_bevelling'].$orderInfo['sp_UL_marking']; //特殊工艺 $data['orderBase'] = $orderBase; $data['purchase'] = $purchase; $data['orderAddress'] = $orderAddress; $data['orderAuditDetail'] = objectToArray($orderAuditDetail); $data['orderAuditReason1'] = objectToArray($orderAuditReason1); $data['orderAuditReason2'] = objectToArray($orderAuditReason2); $data['orderInfo'] = objectToArray($orderInfo); $data['orderInvoice'] = $orderInvoice; $data['shipping'] = objectToArray($shipping); $data['actionLog'] = objectToArray($actionLog); return view("Pcb",$data); } //pcb 采购列表 private function PcbPurchaseList($request,$data,$id){ $data['title']='PCB交易列表'; $data['order_type'] = PcbOrderMap::$order_type; $data['status'] = PcbPurchaseMap::$status; //分页 $response = (new PcbPurchaseModel())->getList(); $page = new Page($response[3], 10); $page->setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $show = $page->show(); $data['list'] = $response[2]; $data['page'] = $show; return view("Pcb",$data); } //pcb详情 private function PcbPurchaseDetail($request,$data,$id){ $data['title']='PCB采购详情'; $data['paths'] = [["title" => 'PCB管理', "href" => '#'], ["title" => 'PCB采购列表', "href" => '/web/PcbPurchaseList'], ["title" => 'PCB采购详情', "href" => '#']]; $purchase_id = $request->input("purchase_id"); $order_id = $request->input("order_id"); $con = DB::connection('pcb'); //订单基本信息 $orderBase = $con->table('order')->where(['order_id' => $order_id])->first(); if (!$orderBase){ return [0,'不存在此采购单']; } //采购信息 $purchase = $con->table('purchase')->where(['order_id' => $order_id])->first(); //采购费用明细 $purchaseAuditDetail = $con->table('purchase_audit_detail')->where(['purchase_id' => $purchase_id])->first(); //订单详细信息 $orderInfo = $con->table('order_info')->where(['order_id' => $order_id])->first(); //订单发票信息 $orderInvoice = $con->table('order_invoice')->where(['order_id' => $order_id])->first(); //物流信息 $shipping = $con->table('shipping')->where(['relevance_id' => $purchase_id,'shipping_type'=>3])->first(); //供应商审核结果 $orderAuditReason2 = $con->table('order_audit_reason')->where(['order_id' => $order_id,'type'=>2,'status'=>1])->orderBy("id","desc")->first(); //查询操作日志 $actionLog = $con->table("action_log")->where(["type"=>1,'oid'=>$order_id])->orderBy("id","desc")->get(); //拼接基本信息 $orderBase = objectToArray($orderBase); $orderBase['order_type'] = PcbOrderMap::$order_type[$orderBase['order_type']]; $orderBase['create_time'] = $orderBase['create_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['create_time']) : ""; $orderBase['finish_time'] = $orderBase['finish_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['finish_time']) : ""; $orderBase['pay_time'] = $orderBase['pay_time'] > 0 ? date('Y-m-d H:i:s',$orderBase['pay_time']) : ""; $userCompany = DB::connection('order')->table("lie_user_company")->where("user_id",$orderBase['user_id'])->first(); $orderBase['company_name'] = $userCompany ? $userCompany->com_name : "" ; //拼接采购信息 if ($purchase){ $purchase = objectToArray($purchase); $purchase['shipping_time'] = $purchase['shipping_time'] > 0 ? date('Y-m-d H:i:s',$purchase['shipping_time']) : ""; $purchase['purchase_amount'] = $purchase['purchase_amount'] > 0 ? $purchase['purchase_amount'] : ""; $purchase['pay_time'] = $purchase['pay_time'] > 0 ? date('Y-m-d H:i:s',$purchase['pay_time']): ""; $purchase['order_pay_type'] = PcbOrderMap::$order_pay_type[$purchase['order_pay_type']]; $purchase['status_name'] = @PcbPurchaseMap::$status[$purchase['status']]; if($purchase['purchase_amount'] == 0){ $orderBase['tiaojia'] = ""; }else{ if ( $purchase['purchase_amount'] > 0 && $purchase['purchase_amount'] != $purchase['order_amount']){ $orderBase['tiaojia'] = "是"; }else{ $orderBase['tiaojia'] = "否"; } } } //拼接订单详细信息 $orderInfo = objectToArray($orderInfo); $orderInfo['teshu'] = "是否有半孔工艺:".($orderInfo['sp_half_hole'] == 1 ? "是":"否")." 是否要金手指:".($orderInfo['sp_goldfingers'] == 1 ? "是":"否").$orderInfo['sp_goldfingers_bevelling'].$orderInfo['sp_UL_marking']; //特殊工艺 $data['orderBase'] = $orderBase; $data['purchase'] = $purchase; $data['liexinInfo'] = config("params.liexin_info"); $data['purchaseAuditDetail'] = objectToArray($purchaseAuditDetail); $data['orderAuditReason2'] = objectToArray($orderAuditReason2); $data['orderInfo'] = objectToArray($orderInfo); $data['orderInvoice'] = $orderInvoice; $data['shipping'] = objectToArray($shipping); $data['actionLog'] = objectToArray($actionLog); return view("Pcb",$data); } }