table('ckb_custom') ->select('custom_no') ->whereRaw('custom_no NOT IN (SELECT custom_no FROM ckb_custom_handle_log WHERE type = 13)') ->get()->pluck('custom_no')->toArray(); $companies = DB::connection('vd_old')->table('ckb_company')->get()->pluck('unicom_name', 'id')->toArray(); $packages = DB::connection('vd_old')->table('ckb_package')->get()->pluck('name', 'package_sn')->toArray(); $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $startCell = 'A1'; $sheet->fromArray([ 'SIM', 'IMSI', 'ICCID', '客户编号', '企业ID', '企业名称', '套餐编号', '套餐名称', '服务开始时间', '服务结束时间', '任务编号', '创建时间', ]); foreach ($group as $nos) { echo '.'; $customs = DB::connection('vd_old')->table('ckb_custom')->select(['card_number', 'imsi', 'iccid', 'custom_no', 'company', 'create_time', 'task_number']) ->whereIn('custom_no', $nos)->get()->keyBy('custom_no'); $userPackages = DB::connection('vd_old')->table('ckb_user_package')->select(['custom_no','package_sn','service_start_time','service_end_time']) ->whereIn('custom_no', $nos)->get()->keyBy('custom_no'); $array = []; $startCell = 'A' . ($sheet->getHighestRow() + 1); foreach ($nos as $no) { $custom = (array)$customs[$no]; $userPackage = (array) $userPackages[$no]; $item = array_merge($custom, $userPackage); $item = [ 'sim' => ' ' . $item['card_number'], 'imsi' => ' ' . $item['imsi'], 'iccid' => ' ' . $item['iccid'], 'custom_no' => $item['custom_no'], 'company' => $item['company'], 'company_name' => $companies[$item['company']], 'package' => $userPackage['package_sn'], 'package_name' => $packages[$userPackage['package_sn']], 'service_start_time' => date('Y-m-d H:i:s', $userPackage['service_start_time']), 'service_end_time' => date('Y-m-d H:i:s', $userPackage['service_end_time']), 'task_number' => $item['task_number'], 'create_time' => date('Y-m-d H:i:s', $item['create_time']), ]; $array[] = $item; } $sheet->fromArray($array, null, $startCell); } $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save(__DIR__ . '/没有销售记录的卡.xlsx');