with('oracleBASCustomer','oracleDOCWaveDetail') ->whereIn('deliveryno',$logistic_number) ->whereIn('consigneeId',['JD','BSZX','BSZFC','BSZXDF','BSZFCDF']) ->get(); return $oracleDocOrderHeaders->map(function ($item){ return [ 'type' => 'JD', 'is_process' => true, 'task_id' => Str::uuid(), 'data' => '', 'component_type' => 'JD', 'owner_code' => $item->customerid ?? '', 'logistic_code' => $item->userdefine1 ?? '', 'logistic_number' => $item['deliveryno'], 'delivery' => null, 'base64' => $this->getBase64($item), 'printerName' => '', ]; })->toArray(); } public function getBase64($item): string { $printTemplate = OwnerLogisticPrintTemplate::query()->with('printTemplate')->where('owner_id', function(Builder $query)use($item){ $query->from("owners")->selectRaw('id')->where("code",$item['customerid']); })->where('logistic_id', function(Builder $query)use($item){ $query->from("logistics")->selectRaw('id')->where("code",$item['userdefine1']); })->first(); $delivery = $this->getDelivery($item); $image = $this->draw($delivery,$printTemplate->printTemplate ?? null,null); if (!$image) return ''; $path = ''; $this->saveImage($image,$path); return $this->readImageBase64($path); } /* * 订单号 * 波次号 * 运单号 * 店铺 * 商家联系号 * 商家订单号 * 发货地址,省,市区 * * 发货分拣中心 * 发货人 * 发货人号码 * 收货地址 * 收货分拣中心 * 收件人 * 商品 * 备注 * */ function getDelivery($item): array { $delivery = $this->getDocOrderInfo($item); $delivery['b_addresss1'] = $item['MJ-ZP']; $delivery['d_addresss1'] = $item['BB-Y3-21']; return $delivery; } function processing(&$params) { return null; } }