|
|
@@ -2,22 +2,17 @@
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
+use App\Events\ClockinEvent;
|
|
|
use App\LaborCompany;
|
|
|
use App\LaborReport;
|
|
|
use App\User;
|
|
|
use App\UserDetail;
|
|
|
use App\UserDutyCheck;
|
|
|
use App\UserLabor;
|
|
|
-use App\UserToken;
|
|
|
-use App\UserWorkgroup;
|
|
|
-use App\Warehouse;
|
|
|
use Carbon\Carbon;
|
|
|
-use Endroid\QrCode\QrCode;
|
|
|
use Illuminate\Http\Request;
|
|
|
-use Illuminate\Http\Response;
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
use Illuminate\Support\Facades\Cache;
|
|
|
-use Illuminate\Support\Facades\Date;
|
|
|
use Illuminate\Support\Facades\Validator;
|
|
|
use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
@@ -46,16 +41,20 @@ class UserDutyCheckController extends Controller
|
|
|
$userDetail=UserDetail::find($user_id);
|
|
|
if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/'.$userDetail->mobile_phone)->with("userWorkgroupID",$userWorkgroupID);
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id,$userWorkgroupID);
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->type=='登入'){
|
|
|
+ event(new ClockinEvent($userDutyCheck));
|
|
|
+ }
|
|
|
//正常情况
|
|
|
$laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',Carbon::now()->format('Y-m-d')."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
- if(!isset($laborReport)&&$userDutyCheck->type=='登入'){
|
|
|
- LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
- $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode($laborReport));
|
|
|
- }else if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
+// if(!isset($laborReport)&&$userDutyCheck->type=='登入'){
|
|
|
+// LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
+// $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode($laborReport));
|
|
|
+// }else
|
|
|
+ if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
LaborReport::updateLaborReportData($laborReport,$userDutyCheck);
|
|
|
$this->log(__METHOD__,"更新临时工报表记录__".__FUNCTION__,json_encode($laborReport));
|
|
|
}
|
|
|
- if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error==true)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)
|
|
|
@@ -87,16 +86,20 @@ class UserDutyCheckController extends Controller
|
|
|
return redirect('personnel/checking-in/userDutyCheck/updateUserDetail/'.$mobile_phone)->with("userWorkgroupID",$userWorkgroupID);
|
|
|
}
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id,$userWorkgroupID);
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->type=='登入'){
|
|
|
+ event(new ClockinEvent($userDutyCheck));
|
|
|
+ }
|
|
|
//正常情况
|
|
|
$laborReport=LaborReport::where('user_workgroup_id',$userWorkgroupID)->where('created_at','like',$dateNow."%")->where('user_id',$userDetail->user_id)->first();
|
|
|
- if(!$laborReport&&$userDutyCheck->type=='登入'){
|
|
|
- LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
- $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDetail->user_id,$userWorkgroupID,$userDutyCheck]));
|
|
|
- }else if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
+// if(!$laborReport&&$userDutyCheck->type=='登入'){
|
|
|
+// LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
+// $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDetail->user_id,$userWorkgroupID,$userDutyCheck]));
|
|
|
+// }else
|
|
|
+ if ($laborReport&&$userDutyCheck->type=='登出'){
|
|
|
LaborReport::updateLaborReportData($laborReport,$userDutyCheck);
|
|
|
$this->log(__METHOD__,"更新临时工报表记录__".__FUNCTION__,json_encode([$laborReport,$userDutyCheck]));
|
|
|
}
|
|
|
- if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error==true)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'));
|
|
|
$group_name=$userDetail->user->userWorkgroups->first()['name'];
|
|
|
@@ -130,10 +133,13 @@ class UserDutyCheckController extends Controller
|
|
|
]);
|
|
|
$this->log(__METHOD__,"更改临时工劳务所信息".__FUNCTION__,json_encode($userLabor),Auth::user()['id']);
|
|
|
$userDutyCheck=$this->dutyCheck($userDetail->user_id,$userWorkgroupID);
|
|
|
- //添加临时工报表数据
|
|
|
- LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
- $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDetail->user_id,$userWorkgroupID,$userDutyCheck]));
|
|
|
- if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->type=='登入'){
|
|
|
+ event(new ClockinEvent($userDutyCheck));
|
|
|
+ }
|
|
|
+// //添加临时工报表数据
|
|
|
+// LaborReport::createLaborReportData($userDetail->user_id,$userWorkgroupID,$userDutyCheck);
|
|
|
+// $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$userDetail->user_id,$userWorkgroupID,$userDutyCheck]));
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error==true)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
if (!$userDutyCheck)return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$user=User::find($userDetail->user_id);
|
|
|
$userLaborToken=$user->token(config('users.token_check_in_expire_minutes'));
|
|
|
@@ -171,13 +177,17 @@ class UserDutyCheckController extends Controller
|
|
|
]);
|
|
|
$userLabor->save();
|
|
|
$userDutyCheck=$this->dutyCheck($user->id,$userWorkgroupID);
|
|
|
- LaborReport::createLaborReportData($user->id,$userWorkgroupID,$userDutyCheck);
|
|
|
- $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$user->id,$userWorkgroupID,$userDutyCheck]));
|
|
|
- if ($userDutyCheck&&$userDutyCheck->error)return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->type=='登入'){
|
|
|
+ event(new ClockinEvent($userDutyCheck));
|
|
|
+ }
|
|
|
+// LaborReport::createLaborReportData($user->id,$userWorkgroupID,$userDutyCheck);
|
|
|
+// $this->log(__METHOD__,"提交临时工报表记录__".__FUNCTION__,json_encode([$user->id,$userWorkgroupID,$userDutyCheck]));
|
|
|
+ if ($userDutyCheck&&$userDutyCheck->error==true)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->all()));
|
|
|
- $group_name=$userDetail->user->userWorkgroups->first()['name'];
|
|
|
+// $group_name=$userDetail->user->userWorkgroups->first()['name'];
|
|
|
+ $group_name=$userDutyCheck->userWorkgroup->first()['name'];
|
|
|
$laravelEchoPrefix = config('database.redis.options.prefix');
|
|
|
return response()->view('personnel/checking-in/success',['group_name'=>$group_name??'','full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at,'type'=>$userDutyCheck->type,'laravelEchoPrefix'=>$laravelEchoPrefix])
|
|
|
->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
|
|
|
@@ -215,6 +225,15 @@ class UserDutyCheckController extends Controller
|
|
|
}
|
|
|
if($diffDate<=5){
|
|
|
$userDutyCheck->error=true;//重复打卡
|
|
|
+ if($userWorkgroupID!=$userDutyCheckOld['workgroup_id']&&$userDutyCheckOld->type=='登入'){
|
|
|
+ if ($userDutyCheck->error){
|
|
|
+ $userDutyCheck->error=false;
|
|
|
+ }
|
|
|
+ $userDutyCheckOld->checked_at=$date;
|
|
|
+ $userDutyCheckOld->workgroup_id=$userWorkgroupID;
|
|
|
+ $userDutyCheckOld->update();
|
|
|
+ return $userDutyCheckOld;
|
|
|
+ }
|
|
|
return $userDutyCheck;
|
|
|
}
|
|
|
if ($userDutyCheckOld->type=="登入"){
|