You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
240 lines
7.6 KiB
240 lines
7.6 KiB
<?php |
|
|
|
namespace App\Models; |
|
|
|
use Dcat\Admin\Traits\HasDateTimeFormatter; |
|
|
|
use Illuminate\Database\Eloquent\Model; |
|
|
|
class SelectedDormitory extends Model |
|
{ |
|
use HasDateTimeFormatter; |
|
protected $table = 'selected_dormitory'; |
|
public $timestamps = false; |
|
|
|
const STATUS_YES = 1; //正常 |
|
const STATUS_NO = 2; //禁用 |
|
|
|
/** |
|
* 根据床位ID取出详细信息 |
|
* @param $id |
|
* @return array |
|
*/ |
|
public static function getBedInfoById($id) |
|
{ |
|
$lable = ["性别", "宿舍类型", "几人间", "生活区", "楼栋", "楼层", "宿舍号", "床位", "专业", "二级学院"]; |
|
|
|
//取出床位详细信息 |
|
$dormitoryBed = AllocationDormitoryBed::query()->where("id", $id)->first(); |
|
if(empty($dormitoryBed)){ |
|
return ["lable" => $lable, "value" => []]; |
|
} |
|
//宿舍类型 |
|
$dormitoryTypeInfo = DormitoryType::query()->where([ |
|
"id" => $dormitoryBed["dormitory_type"], |
|
])->first()->toArray(); |
|
|
|
//多人间 |
|
$multipleInfo = MultipleWorld::query()->where([ |
|
"id" => $dormitoryBed["multiple_worlds"], |
|
"dormitory_type_id" => $dormitoryBed["dormitory_type"], |
|
])->first()->toArray(); |
|
|
|
//生活区 |
|
$livingInfo = LivingArea::query()->where([ |
|
"id" => $dormitoryBed["living_area"], |
|
])->first()->toArray(); |
|
|
|
//楼栋 |
|
$buildingInfo = Building::query()->where([ |
|
"id" => $dormitoryBed["building_id"], |
|
])->first()->toArray(); |
|
|
|
//楼层 |
|
$floorInfo = Floor::query()->where([ |
|
"id" => $dormitoryBed["floor_id"], |
|
])->first()->toArray(); |
|
|
|
//宿舍号 |
|
$dormitory = DormitoryNumber::query()->where([ |
|
"id" => $dormitoryBed["dormitory_number"], |
|
])->first()->toArray(); |
|
|
|
//床位号 |
|
$bed = Bed::query()->where([ |
|
"id" => $dormitoryBed["bed_id"], |
|
])->first()->toArray(); |
|
|
|
//取出专业 |
|
$specialityInfo = Speciality::query()->where("id", $dormitoryBed["speciality_id"])->first()->toArray(); |
|
|
|
//取出二级学院 |
|
$collegeInfo = SecondaryCollege::query()->where("id", $specialityInfo["secondary_college_id"])->first()->toArray(); |
|
|
|
$sex = "男生"; |
|
|
|
if($dormitoryBed["sex"] == 2){ |
|
$sex = "女生"; |
|
} |
|
|
|
|
|
$value[] = [ |
|
$sex, |
|
$dormitoryTypeInfo["dormitory"], |
|
$multipleInfo["people"], |
|
$livingInfo["title"], |
|
$buildingInfo["building_title"], |
|
$floorInfo["floor_title"], |
|
$dormitory["dormitory_number"], |
|
$bed["bed_number"], |
|
$specialityInfo["speciality_name"], |
|
$collegeInfo["name"] |
|
]; |
|
|
|
return ["lable" => $lable, "value" => $value]; |
|
} |
|
|
|
/** |
|
* 根据床位ID取出详细信息(导出使用) |
|
* @param $id |
|
* @return array |
|
*/ |
|
public static function getBedInfoByIdNew($id) |
|
{ |
|
//取出床位详细信息 |
|
$dormitoryBed = AllocationDormitoryBed::query()->where("id", $id)->first(); |
|
|
|
//宿舍类型 |
|
$dormitoryTypeInfo = DormitoryType::query()->where([ |
|
"id" => $dormitoryBed["dormitory_type"], |
|
])->first()->toArray(); |
|
|
|
//多人间 |
|
$multipleInfo = MultipleWorld::query()->where([ |
|
"id" => $dormitoryBed["multiple_worlds"], |
|
"dormitory_type_id" => $dormitoryBed["dormitory_type"], |
|
])->first()->toArray(); |
|
|
|
//生活区 |
|
$livingInfo = LivingArea::query()->where([ |
|
"id" => $dormitoryBed["living_area"], |
|
])->first()->toArray(); |
|
|
|
//楼栋 |
|
$buildingInfo = Building::query()->where([ |
|
"id" => $dormitoryBed["building_id"], |
|
])->first()->toArray(); |
|
|
|
//楼层 |
|
$floorInfo = Floor::query()->where([ |
|
"id" => $dormitoryBed["floor_id"], |
|
])->first()->toArray(); |
|
|
|
//宿舍号 |
|
$dormitory = DormitoryNumber::query()->where([ |
|
"id" => $dormitoryBed["dormitory_number"], |
|
])->first()->toArray(); |
|
|
|
//床位号 |
|
$bed = Bed::query()->where([ |
|
"id" => $dormitoryBed["bed_id"], |
|
])->first()->toArray(); |
|
|
|
//取出专业 |
|
$specialityInfo = Speciality::query()->where("id", $dormitoryBed["speciality_id"])->first()->toArray(); |
|
|
|
//取出二级学院 |
|
$collegeInfo = SecondaryCollege::query()->where("id", $specialityInfo["secondary_college_id"])->first()->toArray(); |
|
|
|
$sex = "男生"; |
|
|
|
if($dormitoryBed["sex"] == 2){ |
|
$sex = "女生"; |
|
} |
|
|
|
$result = [ |
|
"sex" => $sex, |
|
"dormitory" => $dormitoryTypeInfo["dormitory"], |
|
"multipleInfo" => $multipleInfo["people"], |
|
"livingInfo" => $livingInfo["title"], |
|
"buildingInfo" => $buildingInfo["building_title"], |
|
"floorInfo" => $floorInfo["floor_title"], |
|
"dormitoryNumber" => $dormitory["dormitory_number"], |
|
"bedNumber" => $bed["bed_number"], |
|
"specialityName" => $specialityInfo["speciality_name"], |
|
"collegeInfo" => $collegeInfo["name"] |
|
]; |
|
|
|
return $result; |
|
} |
|
|
|
/** |
|
* 写入已选宿舍信息时拼接完整的宿舍名 |
|
* @param $dormitoryBed |
|
* @return string |
|
*/ |
|
public static function getSelectedBedName($dormitoryBed, $type = 1) |
|
{ |
|
$dormitoryTypeInfo = DormitoryType::query()->where([ |
|
"id" => $dormitoryBed["dormitory_type"], |
|
"status" => DormitoryType::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//多人间 |
|
$multipleInfo = MultipleWorld::query()->where([ |
|
"id" => $dormitoryBed["multiple_worlds"], |
|
"dormitory_type_id" => $dormitoryBed["dormitory_type"], |
|
"status" => MultipleWorld::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//生活区 |
|
$livingInfo = LivingArea::query()->where([ |
|
"id" => $dormitoryBed["living_area"], |
|
"status" => LivingArea::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//楼栋 |
|
$buildingInfo = Building::query()->where([ |
|
"id" => $dormitoryBed["building_id"], |
|
"status" => Building::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//楼层 |
|
$floorInfo = Floor::query()->where([ |
|
"id" => $dormitoryBed["floor_id"], |
|
"status" => Floor::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//宿舍号 |
|
$dormitory = DormitoryNumber::query()->where([ |
|
"id" => $dormitoryBed["dormitory_number"], |
|
"status" => DormitoryNumber::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//床位号 |
|
$bed = Bed::query()->where([ |
|
"id" => $dormitoryBed["bed_id"], |
|
"status" => Bed::STATUS_YES |
|
])->first()->toArray(); |
|
|
|
//返回数据 |
|
if($type == 2){ |
|
$dormitoryInfo = [ |
|
"livingTitle" => $livingInfo["title"], |
|
"buildingTitle" => $buildingInfo["building_title"], |
|
"floorTitle" => $floorInfo["floor_title"], |
|
"dormitoryNumber" => $dormitory["dormitory_number"], |
|
"bedNumber" => $bed["bed_number"], |
|
"price" => $multipleInfo["price"] |
|
]; |
|
return $dormitoryInfo; |
|
} |
|
|
|
//拼接宿舍信息 |
|
$name = $dormitoryTypeInfo["dormitory"]."-".$multipleInfo["people"]."----". |
|
$livingInfo["title"]."/".$buildingInfo["building_title"]."/". |
|
$floorInfo["floor_title"]."/".$dormitory["dormitory_number"]."/".$bed["bed_number"]; |
|
|
|
return $name; |
|
} |
|
}
|
|
|