diff --git a/app/Admin/Extensions/Exporter/ImportBedExporter.php b/app/Admin/Extensions/Exporter/ImportBedExporter.php index 5aef95f..823351e 100644 --- a/app/Admin/Extensions/Exporter/ImportBedExporter.php +++ b/app/Admin/Extensions/Exporter/ImportBedExporter.php @@ -7,12 +7,14 @@ namespace App\Admin\Extensions\Exporter; use App\Models\AllocationDormitoryBed; use App\Models\Bed; use App\Models\Building; +use App\Models\CompletedOfflineStep; use App\Models\Config; use App\Models\DormitoryNumber; use App\Models\DormitoryType; use App\Models\Floor; use App\Models\LivingArea; use App\Models\MultipleWorld; +use App\Models\OfflineStep; use App\Models\SecondaryCollege; use App\Models\SelectedDormitory; use App\Models\Speciality; @@ -48,7 +50,9 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea "status" => "状态", "name" => "姓名", "mobile" => "手机号", - "idcard" => "身份证" + "idcard" => "身份证", + "college_qrcode" => "二级学院扫码", + "dormitory_qrcode" => "宿舍扫码", ]; parent::__construct(); @@ -120,6 +124,14 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea $selectListIds = array_column($selectList, null, "allocation_dormitory_id"); $userList = UsersMember::query()->whereIn("unique_number", array_column($selectList, "unique_number"))->get()->toArray(); $userList = array_column($userList, null, "unique_number"); + //取出线下扫码 + $stepList = CompletedOfflineStep::query()->selectRaw(' + unique_number, + GROUP_CONCAT(step_id) AS step_ids, + annual_session + ')->whereIn("unique_number", array_column($selectList, "unique_number"))->where("annual_session", $config->data)->groupBy('unique_number', 'annual_session')->get()->toArray(); + $stepList = array_column($stepList, null, "unique_number"); + } $chunk_list = array_chunk($this->buildData(), 1000); @@ -132,6 +144,8 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea $mobile = ""; $name = ""; $idcard = ""; + $college_qrcode = ""; + $dormitory_qrcode = ""; if(!empty($selectListIds)){ if(array_key_exists($item["id"], $selectListIds)){ @@ -139,6 +153,16 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea $mobile = $userList[$selectListIds[$item["id"]]["unique_number"]]["mobile"]; $name = $userList[$selectListIds[$item["id"]]["unique_number"]]["name"]; $idcard = $userList[$selectListIds[$item["id"]]["unique_number"]]["idcard"]; + if(!empty($stepList[$selectListIds[$item["id"]]["unique_number"]]["step_ids"])){ + $stepIdsArray = explode(",", $stepList[$selectListIds[$item["id"]]["unique_number"]]["step_ids"]); + if(in_array(3, $stepIdsArray)){ + $college_qrcode = "是"; + } + if(in_array(4, $stepIdsArray)){ + $dormitory_qrcode = "是"; + } + } + } } } @@ -160,6 +184,8 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea "idcard" => $idcard, "status" => $item['status'] == 1 ? "正常" : "禁用", "annual_session" => $item["annual_session"], + "college_qrcode" => $college_qrcode, + "dormitory_qrcode" => $dormitory_qrcode, ]; array_push($newList, $data); @@ -239,6 +265,8 @@ class ImportBedExporter extends AbstractExporter implements WithMapping, WithHea $row["name"], $row["mobile"], "'".$row["idcard"], + $row["college_qrcode"], + $row["dormitory_qrcode"], ]; } }