|
|
@@ -7,7 +7,7 @@ use App\UserDetail;
|
|
|
use App\UserDutyCheck;
|
|
|
use App\UserLabor;
|
|
|
use App\UserToken;
|
|
|
-use App\UserWorkGroup;
|
|
|
+use App\UserWorkgroup;
|
|
|
use Carbon\Carbon;
|
|
|
use Endroid\QrCode\QrCode;
|
|
|
use http\Url;
|
|
|
@@ -20,42 +20,42 @@ use Ramsey\Uuid\Uuid;
|
|
|
class UserDutyCheckController extends Controller
|
|
|
{
|
|
|
public function goGetQRCode(){
|
|
|
- $userWorkGroups=UserWorkGroup::get();
|
|
|
- return view("personnel/checking-in/getQRcode",compact('userWorkGroups'));
|
|
|
+ $userWorkgroups=UserWorkgroup::get();
|
|
|
+ return view("personnel/checking-in/getQRcode",compact('userWorkgroups'));
|
|
|
}
|
|
|
|
|
|
//获取二维码
|
|
|
public function getQRCode(Request $request){
|
|
|
- $userWorkGroup_id=$request->input('userWorkGroup_id');
|
|
|
+ $userWorkgroup_id=$request->input('userWorkgroup_id');
|
|
|
$qrCode_refresh_everyday=config('hr.qrCode_refresh_everyday');
|
|
|
if ($qrCode_refresh_everyday){
|
|
|
$date=md5(date('Y-m-d'));
|
|
|
$url=url("personnel/checking-in/userDutyCheck/clock?key=").$date;
|
|
|
- if ($userWorkGroup_id)$url=$url."&&userWorkGroupID=".$userWorkGroup_id;
|
|
|
+ if ($userWorkgroup_id)$url=$url."&&userWorkgroupID=".$userWorkgroup_id;
|
|
|
}else{
|
|
|
$url=url("personnel/checking-in/userDutyCheck/clock");
|
|
|
- if ($userWorkGroup_id)$url=$url."?userWorkGroupID=".$userWorkGroup_id;
|
|
|
+ if ($userWorkgroup_id)$url=$url."?userWorkgroupID=".$userWorkgroup_id;
|
|
|
}
|
|
|
$qrCode=new QrCode($url);
|
|
|
- if ($userWorkGroup_id){
|
|
|
- $fileURL=base_path('public/images/QRCodeIMG/'.$userWorkGroup_id.'.png');
|
|
|
+ if ($userWorkgroup_id){
|
|
|
+ $fileURL=base_path('public/images/QRCodeIMG/'.$userWorkgroup_id.'.png');
|
|
|
if (file_exists($fileURL)){
|
|
|
- return url('images/QRCodeIMG/'.$userWorkGroup_id.'.png');
|
|
|
+ return url('images/QRCodeIMG/'.$userWorkgroup_id.'.png');
|
|
|
}
|
|
|
$qrCode->writeFile($fileURL);
|
|
|
- return url('images/QRCodeIMG/'.$userWorkGroup_id.'.png');
|
|
|
+ return url('images/QRCodeIMG/'.$userWorkgroup_id.'.png');
|
|
|
}
|
|
|
return (new Response())->header('Content-Type',$qrCode->getContentType())->setContent($qrCode->writeString());
|
|
|
}
|
|
|
//进入二维码显示页面
|
|
|
public function QRCode(Request $request){
|
|
|
- $userWorkGroup_id=$request->input('userWorkGroup_id');
|
|
|
- $userWorkGroup=UserWorkGroup::find($userWorkGroup_id);
|
|
|
- return view('personnel/checking-in/QRcode',compact('userWorkGroup'));
|
|
|
+ $userWorkgroup_id=$request->input('userWorkgroup_id');
|
|
|
+ $userWorkgroup=UserWorkgroup::find($userWorkgroup_id);
|
|
|
+ return view('personnel/checking-in/QRcode',compact('userWorkgroup'));
|
|
|
}
|
|
|
//校验二维码进入打卡页面
|
|
|
public function clock(Request $request){
|
|
|
- $userWorkGroupID=$request->input('userWorkGroupID');
|
|
|
+ $userWorkgroupID=$request->input('userWorkgroupID');
|
|
|
$qrCode_refresh_everyday=config('hr.qrCode_refresh_everyday');
|
|
|
if ($qrCode_refresh_everyday){
|
|
|
$key=$request->input('key');
|
|
|
@@ -67,28 +67,31 @@ class UserDutyCheckController extends Controller
|
|
|
if ($userLaborToken && Cache::has('tokenStr_'.$userLaborToken)) {
|
|
|
$user_id=Cache::get('tokenStr_'.$userLaborToken);
|
|
|
$userDetail=UserDetail::find($user_id);
|
|
|
- if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/'.$userDetail->mobile_phone)->with("userWorkGroupID",$userWorkGroupID);
|
|
|
- if ($userWorkGroupID){
|
|
|
+ if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/'.$userDetail->mobile_phone)->with("userWorkgroupID",$userWorkgroupID);
|
|
|
+ if ($userWorkgroupID){
|
|
|
$user=UserToken::getUser($userLaborToken);
|
|
|
- $user->userWorkGroups()->sync([$userWorkGroupID]);
|
|
|
+ $user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
}
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id);
|
|
|
if (!$userDutyCheck)return "<h1 style='color: red'>打卡异常,请联系相关人员!</h1>";
|
|
|
- return response()->view('personnel/checking-in/success',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at]);
|
|
|
+ $userWorkgroups=$userDetail->user->userWorkgroups();
|
|
|
+ if($userWorkgroups->count()>0)
|
|
|
+ $group_name=$userDetail->user->userWorkgroups->first()['name'];
|
|
|
+ return response()->view('personnel/checking-in/success',['group_name'=>$group_name??'','full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at]);
|
|
|
}
|
|
|
- return view("personnel/checking-in/clock",compact('userWorkGroupID'));
|
|
|
+ return view("personnel/checking-in/clock",compact('userWorkgroupID'));
|
|
|
}
|
|
|
|
|
|
//提交打卡
|
|
|
public function storeClock(Request $request){
|
|
|
$mobile_phone=$request->input('mobile_phone');
|
|
|
- $userWorkGroupID=$request->input('userWorkGroupID');
|
|
|
+ $userWorkgroupID=$request->input('userWorkgroupID');
|
|
|
$this->validator($request)->validate();
|
|
|
$userDetail=UserDetail::where('mobile_phone',$mobile_phone)->first();
|
|
|
- if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/'.$mobile_phone)->with("userWorkGroupID",$userWorkGroupID);
|
|
|
+ if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/'.$mobile_phone)->with("userWorkgroupID",$userWorkgroupID);
|
|
|
$user=User::find($userDetail->user_id);
|
|
|
if (Cache::has('tokenUser_'.$user->id))return "<h1 style='color: red'>请使用原有设备进行打卡,如无法使用原有设备请联系管理人员解绑设备!</h1>";
|
|
|
- if ($userWorkGroupID)$user->userWorkGroups()->sync([$userWorkGroupID]);
|
|
|
+ if ($userWorkgroupID)$user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id);
|
|
|
if (!$userDutyCheck)return "<h1 style='color: red'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userLaborToken=$user->token(config('users.token_check_in_expire_minutes'));
|
|
|
@@ -97,8 +100,8 @@ class UserDutyCheckController extends Controller
|
|
|
}
|
|
|
//去往登记资料页面
|
|
|
public function createUserDetail($mobile_phone){
|
|
|
- $userWorkGroupID=session("userWorkGroupID");
|
|
|
- return view('personnel/checking-in/createUserDetail',['mobile_phone'=>$mobile_phone,'userWorkGroupID'=>$userWorkGroupID]);
|
|
|
+ $userWorkgroupID=session("userWorkgroupID");
|
|
|
+ return view('personnel/checking-in/createUserDetail',['mobile_phone'=>$mobile_phone,'userWorkgroupID'=>$userWorkgroupID]);
|
|
|
}
|
|
|
|
|
|
//提交登记资料
|
|
|
@@ -106,13 +109,13 @@ class UserDutyCheckController extends Controller
|
|
|
$this->validator($request)->validate();
|
|
|
$mobile_phone=$request->input('mobile_phone');
|
|
|
$full_name=$request->input('full_name');
|
|
|
- $userWorkGroupID=$request->input('userWorkGroupID');
|
|
|
+ $userWorkgroupID=$request->input('userWorkgroupID');
|
|
|
$user=new User([
|
|
|
'name'=>$mobile_phone,
|
|
|
'password'=>Uuid::uuid1(),
|
|
|
]);
|
|
|
$user->save();
|
|
|
- if ($userWorkGroupID)$user->userWorkGroups()->sync([$userWorkGroupID]);
|
|
|
+ if ($userWorkgroupID)$user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
$userDetail=new UserDetail([
|
|
|
'user_id'=>$user->id,
|
|
|
'full_name'=>$full_name,
|