|
|
@@ -10,7 +10,6 @@ use App\UserToken;
|
|
|
use App\UserWorkgroup;
|
|
|
use Carbon\Carbon;
|
|
|
use Endroid\QrCode\QrCode;
|
|
|
-use http\Url;
|
|
|
use Illuminate\Http\Request;
|
|
|
use Illuminate\Http\Response;
|
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
@@ -49,8 +48,9 @@ class UserDutyCheckController extends Controller
|
|
|
}
|
|
|
//进入二维码显示页面
|
|
|
public function QRCode(Request $request){
|
|
|
- $userWorkgroup_id=$request->input('userWorkgroup_id');
|
|
|
- $userWorkgroup=UserWorkgroup::find($userWorkgroup_id);
|
|
|
+ $userWorkgroupId=$request->input('userWorkgroupId');
|
|
|
+ $userWorkgroup=UserWorkgroup::find($userWorkgroupId);
|
|
|
+ if (!$userWorkgroup)return view('exception.404',['error'=>'未找到工作组!']);
|
|
|
return view('personnel/checking-in/QRcode',compact('userWorkgroup'));
|
|
|
}
|
|
|
//校验二维码进入打卡页面
|
|
|
@@ -73,7 +73,8 @@ class UserDutyCheckController extends Controller
|
|
|
$user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
}
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id);
|
|
|
- if (!$userDutyCheck)return "<h1 style='color: red'>打卡异常,请联系相关人员!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if (!$userDutyCheck)return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userWorkgroups=$userDetail->user->userWorkgroups();
|
|
|
if($userWorkgroups->count()>0)
|
|
|
$group_name=$userDetail->user->userWorkgroups->first()['name'];
|
|
|
@@ -90,12 +91,14 @@ class UserDutyCheckController extends Controller
|
|
|
$userDetail=UserDetail::where('mobile_phone',$mobile_phone)->first();
|
|
|
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 (Cache::has('tokenUser_'.$user->id))return "<h1 style='color: red;text-align:center'>请使用原有设备进行打卡,如无法使用原有设备请联系管理人员解绑设备!</h1>";
|
|
|
if ($userWorkgroupID)$user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id);
|
|
|
- if (!$userDutyCheck)return "<h1 style='color: red'>打卡异常,请联系相关人员!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if (!$userDutyCheck)return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userLaborToken=$user->token(config('users.token_check_in_expire_minutes'));
|
|
|
- return response()->view('personnel/checking-in/success',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at])
|
|
|
+ $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])
|
|
|
->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
|
|
|
}
|
|
|
//去往登记资料页面
|
|
|
@@ -130,10 +133,12 @@ class UserDutyCheckController extends Controller
|
|
|
]);
|
|
|
$userLabor->save();
|
|
|
$userDutyCheck=$this->dutyCheck($user->id);
|
|
|
- if (!$userDutyCheck)return "<h1 style='color: red'>打卡异常,请联系相关人员!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if (!$userDutyCheck)return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userLaborToken=$user->token(config('users.token_check_in_expire_minutes'));
|
|
|
- $this->log(__METHOD__,"录入临时工,用户,对应工作组,打卡记录".__FUNCTION__,json_encode($request));
|
|
|
- return response()->view('personnel/checking-in/success',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at])
|
|
|
+ $this->log(__METHOD__,"录入临时工,用户,对应工作组,打卡记录".__FUNCTION__,json_encode($request->all()));
|
|
|
+ $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])
|
|
|
->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
|
|
|
}
|
|
|
|
|
|
@@ -149,11 +154,16 @@ class UserDutyCheckController extends Controller
|
|
|
if (!$userDutyCheckOld){
|
|
|
$userDutyCheck->type="登入";
|
|
|
$userDutyCheck->save();
|
|
|
+ $this->log(__METHOD__,"提交打卡记录__".__FUNCTION__,json_encode($userDutyCheck));
|
|
|
return $userDutyCheck;
|
|
|
}
|
|
|
$lastDate=Carbon::parse($userDutyCheckOld->checked_at);
|
|
|
$thisDate=Carbon::parse($date);
|
|
|
$diffDate=$thisDate->diffInMinutes($lastDate);
|
|
|
+ if($diffDate<=5){
|
|
|
+ $userDutyCheck->error=true;
|
|
|
+ return $userDutyCheck;
|
|
|
+ }
|
|
|
if ($userDutyCheckOld->type=="登入"){
|
|
|
switch ($diffDate){
|
|
|
case $diffDate<=20:
|
|
|
@@ -176,6 +186,7 @@ class UserDutyCheckController extends Controller
|
|
|
}
|
|
|
}
|
|
|
$userDutyCheck->save();
|
|
|
+ $this->log(__METHOD__,"提交打卡记录__".__FUNCTION__,json_encode($userDutyCheck));
|
|
|
return $userDutyCheck;
|
|
|
}
|
|
|
|