orderRule($data); if(!$status) return [$status,$msg]; //操作人 $data['user_name'] = $user['emp_name']; // dd((new U8ServerService())->U8PO_PomainSave($data['id'])); try{ $job = ProcessDataJob::dispatch($data)->onQueue($data['job']); if(! $job) return [false,'任务没有进入队列!']; }catch (\Throwable $e){ return [false,$e->getMessage()]; } return [true,'']; } public function orderRule(&$data){ if(empty($data['type'])) return [false,'type不能为空!']; if(! in_array($data['type'],U8Job::$type)) return [false,'type不能存在!']; if(empty($data['id'])) return [false,'同步数据不能为空!']; $data['job'] = U8Job::$job[$data['type']] ?? ""; if(empty($data['job'])) return [false,'未找到同步任务!']; if($data['type'] == U8Job::one){ //采购同步校验 $bool = PurchaseOrder::whereIn('id',$data['id']) ->where('del_time',0) ->where('supplier',0) ->exists(); if($bool) return [false,'同步的采购单供应商不能为空!']; } return [true, '']; } public function snListAccording($data,$user){ //特殊的门店 $setting = Setting::where('setting_name','bt_top_depart_id')->first(); $bt_top_depart_id = $setting['setting_value'] ?? []; $bt_top_depart_id = json_decode($bt_top_depart_id,true); //当前门店 $current_top_depart_id = $user['depart_top'][0] ?? []; $current_top_depart_id = $current_top_depart_id['depart_id'] ?? 0; if(in_array($current_top_depart_id, $bt_top_depart_id)){ //总社 直接读取sn码表 $sn_type = 1;//总社 }else{ $sn_type = 2;//分社 //发货单 sn码 } return [true, 'sn_type' => $sn_type]; } public function getSnFromU8($data, $user){ if(empty($data['sn_type'])) return [false, 'sn码来源依据不能为空']; if(empty($data['code'])) return [false, '产品编码不能为空']; list($status,$return) = $this->getSnList($data, $user); return [$status, $return]; } public function getSnList($data, $user){ $header = ['Content-Type:application/json']; $post = [ 'urlFromT9' => 'getSnList', 'code' => $data['code'], 'sn' => $data['sn'] ?? "", 'sn_type' => $data['sn_type'], 'depart_title' => $this->getMyTopDepart($user,true), 'page_size' => $data['page_size'] ?? 10, 'page_index' => $data['page_index'] ?? 1, ]; $post = json_encode($post); list($status, $msg) = $this->post_helper("https://workapi.qingyaokeji.com/api/getSnList", $post, $header); if($msg['code'] != 200) return [false, $msg['msg']]; return [true, $msg['data'] ?? []]; } }