|
|
@@ -48,7 +48,15 @@ class UserDutyCheckController extends Controller
|
|
|
$user=UserToken::getUser($userLaborToken);
|
|
|
$user->userWorkgroups()->sync([$userWorkgroupID]);
|
|
|
}
|
|
|
+ $dateNow=Carbon::now()->format('Y-m-d');
|
|
|
+ $laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',$dateNow."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id,$userWorkgroupID);
|
|
|
+ //正常情况
|
|
|
+ if(!$laborReport&&$userDutyCheck->type=='登入'){
|
|
|
+ $this->createLaborReportData($userDetail,$userWorkgroupID,$userDutyCheck);
|
|
|
+ }else if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
+ $this->updateLaborReportData($laborReport,$userDutyCheck);
|
|
|
+ }
|
|
|
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();
|
|
|
@@ -81,18 +89,9 @@ class UserDutyCheckController extends Controller
|
|
|
if ($diffDate>7*1440){
|
|
|
return redirect('personnel/checking-in/userDutyCheck/updateUserDetail/'.$mobile_phone)->with("userWorkgroupID",$userWorkgroupID);
|
|
|
}
|
|
|
+ $laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',$dateNow."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id,$userWorkgroupID);
|
|
|
- //24小时之内情况
|
|
|
-// if($diffDate<1440){
|
|
|
-// $laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',$dateNow."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
-// if (!$laborReport&&$userDutyCheckOld->type=='登出'&&$userDutyCheck->type=='登入'){
|
|
|
-// $this->createLaborReportData($userDetail,$userWorkgroupID,$userDutyCheck);
|
|
|
-// }else if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
-// $this->updateLaborReportData($laborReport,$userDutyCheck);
|
|
|
-// }
|
|
|
-// }
|
|
|
//正常情况
|
|
|
- $laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',$dateNow."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
if(!$laborReport&&$userDutyCheck->type=='登入'){
|
|
|
$this->createLaborReportData($userDetail,$userWorkgroupID,$userDutyCheck);
|
|
|
}else if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
@@ -212,7 +211,7 @@ class UserDutyCheckController extends Controller
|
|
|
$userDutyCheck->save();
|
|
|
return $userDutyCheck;
|
|
|
}
|
|
|
- if ($diffDate>=1380&&$diffDate<7*1440){
|
|
|
+ if ($userDutyCheckOld->type=="登出"&&$diffDate<7*1440){
|
|
|
$userDutyCheck->type="登入";
|
|
|
$userDutyCheck->verify_user_id=0;
|
|
|
$userDutyCheck->save();
|
|
|
@@ -283,7 +282,20 @@ class UserDutyCheckController extends Controller
|
|
|
$checkOutDate=Carbon::parse($userDutyCheck->checked_at);
|
|
|
$hour=($checkOutDate->diffInSeconds($checkInDate))/3600; //在线时长
|
|
|
$laborReport['online_duration']=$hour;
|
|
|
+ $laborReport['working_duration']=$hour;
|
|
|
$laborReport->update();
|
|
|
+ $date=Carbon::parse($laborReport->check_in_at)->format('Y-m-d');
|
|
|
+ if ($userDutyCheck->checked_at>$date." 14:00:00"){
|
|
|
+ $userDutyCheckStart=UserDutyCheck::where('user_id',$laborReport->user_id)->where('workgroup_id',$laborReport->user_workgroup_id)->where('checked_at','>=',$date." 11:00".":00")
|
|
|
+ ->where('checked_at','<=',$date." 14:00:00")->where('type','登出')->first();
|
|
|
+ $userDutyCheckEnd=UserDutyCheck::where('user_id',$laborReport->user_id)->where('workgroup_id',$laborReport->user_workgroup_id)->where('checked_at','>=',$date." 11:00".":00")
|
|
|
+ ->where('checked_at','<=',$date." 14:00:00")->where('type','登入')->first();
|
|
|
+ $beginTime=Carbon::parse($userDutyCheckStart['checked_at']);
|
|
|
+ $endTime=Carbon::parse($userDutyCheckEnd['checked_at']);
|
|
|
+ $lunchHour=($endTime->diffInSeconds($beginTime))/3600;
|
|
|
+ $laborReport['working_duration']=$hour-$lunchHour;
|
|
|
+ $laborReport->update();
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
|