You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
216 lines
6.8 KiB
PHP
216 lines
6.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Requests\EditUserPersonInput;
|
|
use App\Models\UserPerson;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Login;
|
|
use Yo;
|
|
|
|
class UserPersonController extends Controller
|
|
{
|
|
public function group_search(Request $request)
|
|
{
|
|
Login::user();
|
|
$hospital = $request->post('hospital');
|
|
$phone = $request->post('phone');
|
|
$id_number = $request->post('id_number');
|
|
$cic = new ComboItemController();
|
|
$info = $cic->group_info($hospital, [
|
|
"电话号码" => null,
|
|
"证件号码" => $id_number,
|
|
"预约Id" => null
|
|
]);
|
|
if(isset($info['start_time'])){
|
|
DB::table('user_people')->where(['id_number' =>$id_number, 'phone' => $phone])->update([
|
|
'danwei_time_start' => $info['start_time'],
|
|
'danwei_time_end' => $info['end_time'],
|
|
]);
|
|
}
|
|
|
|
return Yo::echo([
|
|
'appointment_number' => $info['appointment_number']
|
|
]);
|
|
}
|
|
|
|
|
|
public function create(EditUserPersonInput $request)
|
|
{
|
|
Login::user();
|
|
$name = $request->post('name');
|
|
$id_number = $request->post('id_number');
|
|
$birthday = $request->post('birthday');
|
|
$sex = $request->post('sex');
|
|
$phone = $request->post('phone');
|
|
$relationship = $request->post('relationship');
|
|
$marriage = $request->post('marriage');
|
|
$default = $request->post('default');
|
|
$user_person_default_count = UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->count();
|
|
if ($user_person_default_count == 0) $default = 1;
|
|
if ($default == 1) {
|
|
UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->update(['default' => 2]);
|
|
}
|
|
$default = $user_person_default_count > 0 ? 2 : 1;
|
|
$user_person = new UserPerson();
|
|
$user_person->user = Login::$info->id;
|
|
$user_person->name = $name;
|
|
$user_person->id_number = $id_number;
|
|
$user_person->birthday = $birthday;
|
|
$user_person->sex = $sex;
|
|
$user_person->phone = $phone;
|
|
$user_person->relationship = $relationship;
|
|
$user_person->marriage = $marriage;
|
|
$user_person->default = $default;
|
|
$user_person->save();
|
|
return Yo::create_echo($user_person->id);
|
|
}
|
|
|
|
public function update(EditUserPersonInput $request)
|
|
{
|
|
Login::user();
|
|
$id = $request->post('id');
|
|
$name = $request->post('name');
|
|
$id_number = $request->post('id_number');
|
|
$birthday = $request->post('birthday');
|
|
$sex = $request->post('sex');
|
|
$phone = $request->post('phone');
|
|
$relationship = $request->post('relationship');
|
|
$marriage = $request->post('marriage');
|
|
$default = $request->post('default');
|
|
$user_person_default_count = UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->count();
|
|
if ($user_person_default_count == 0) $default = 1;
|
|
if ($default == 1) {
|
|
UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->update(['default' => 2]);
|
|
}
|
|
$user_person = UserPerson::where('id', $id)
|
|
->where('user', Login::$info->id)
|
|
->where('del', 2)
|
|
->first();
|
|
if (!$user_person) Yo::error_echo(100000, ['体检人']);
|
|
$user_person->name = $name;
|
|
$user_person->id_number = $id_number;
|
|
$user_person->birthday = $birthday;
|
|
$user_person->sex = $sex;
|
|
$user_person->phone = $phone;
|
|
$user_person->relationship = $relationship;
|
|
$user_person->marriage = $marriage;
|
|
$user_person->default = $default;
|
|
$user_person->save();
|
|
return Yo::update_echo($user_person->id);
|
|
}
|
|
|
|
public function delete(Request $request)
|
|
{
|
|
Login::user();
|
|
$id = $request->post('id');
|
|
$user_person = UserPerson::where('id', $id)
|
|
->where('user', Login::$info->id)
|
|
->where('del', 2)
|
|
->first();
|
|
if (!$user_person) Yo::error_echo(100000, ['体检人']);
|
|
$user_person->del = 1;
|
|
$user_person->save();
|
|
return Yo::delete_echo($user_person->id);
|
|
}
|
|
|
|
public function info(Request $request)
|
|
{
|
|
Login::user();
|
|
$id = $request->post('id');
|
|
$user_person = UserPerson::where('id', $id)
|
|
->where('user', Login::$info->id)
|
|
->where('del', 2)
|
|
->first();
|
|
if (!$user_person) $user_person = ['id' => 0];
|
|
return Yo::echo([
|
|
'info' => $user_person
|
|
]);
|
|
}
|
|
|
|
public function list()
|
|
{
|
|
Login::user();
|
|
$user_person_list = UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)
|
|
->orderBy('default')
|
|
->get();
|
|
return Yo::echo([
|
|
'list' => $user_person_list
|
|
]);
|
|
}
|
|
|
|
public function admin_update(EditUserPersonInput $request)
|
|
{
|
|
Login::admin([20]);
|
|
$id = $request->post('id');
|
|
$name = $request->post('name');
|
|
$id_number = $request->post('id_number');
|
|
$birthday = $request->post('birthday');
|
|
$sex = $request->post('sex');
|
|
$phone = $request->post('phone');
|
|
$relationship = $request->post('relationship');
|
|
$marriage = $request->post('marriage');
|
|
$default = $request->post('default');
|
|
$user_person_default_count = UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->count();
|
|
if ($user_person_default_count == 0) $default = 1;
|
|
if ($default == 1) {
|
|
UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)->where('default', 1)->update(['default' => 2]);
|
|
}
|
|
$user_person = UserPerson::where('id', $id)
|
|
->where('del', 2)
|
|
->first();
|
|
if (!$user_person) Yo::error_echo(100000, ['体检人']);
|
|
$user_person->name = $name;
|
|
$user_person->id_number = $id_number;
|
|
$user_person->birthday = $birthday;
|
|
$user_person->sex = $sex;
|
|
$user_person->phone = $phone;
|
|
$user_person->relationship = $relationship;
|
|
$user_person->marriage = $marriage;
|
|
$user_person->default = $default;
|
|
$user_person->save();
|
|
return Yo::update_echo($user_person->id);
|
|
}
|
|
|
|
public function admin_list()
|
|
{
|
|
Login::admin([20]);
|
|
$search = request()->post('search');
|
|
$user_person_list = UserPerson::select('*')
|
|
->selectRaw("IFNULL((select nickname from users where users.id = user_people.user),'') as nickname")
|
|
->where(function ($query) use ($search) {
|
|
if ($search != '') $query->where('name', 'like', '%' . $search . '%')
|
|
->orWhere('id_number', 'like', '%' . $search . '%')
|
|
->orWhere('phone', 'like', '%' . $search . '%');
|
|
})
|
|
->where('del', 2)
|
|
->orderBy('id', 'desc')
|
|
->paginate(15);
|
|
return Yo::echo($user_person_list);
|
|
}
|
|
|
|
public function count()
|
|
{
|
|
Login::user();
|
|
$user_person_count = UserPerson::where('user', Login::$info->id)
|
|
->where('del', 2)
|
|
->count();
|
|
$user_person_default_count = UserPerson::where('user', Login::$info->id)
|
|
->where('default', 1)
|
|
->where('del', 2)
|
|
->count();
|
|
return Yo::echo([
|
|
'count' => $user_person_count,
|
|
'default' => $user_person_default_count,
|
|
]);
|
|
}
|
|
}
|