|
|
@@ -6,7 +6,6 @@ use App\Events\ClockinEvent;
|
|
|
use App\LaborCompany;
|
|
|
use App\LaborReport;
|
|
|
use App\Services\LaborReportService;
|
|
|
-use App\Services\UserDutyCheckService;
|
|
|
use App\User;
|
|
|
use App\UserDetail;
|
|
|
use App\UserDutyCheck;
|
|
|
@@ -44,9 +43,12 @@ class UserDutyCheckController extends Controller
|
|
|
$date = date('Y-m-d H:i:s');
|
|
|
if ($key < $date) return "<h1 style='color: red;text-align:center'>当前二维码失效,请重新扫码!</h1>";
|
|
|
}
|
|
|
+
|
|
|
$userLaborToken = $request->cookie('userLaborToken');
|
|
|
- if ($userLaborToken && Cache::has('dutyCheckTokenStr_' . $userLaborToken)) {
|
|
|
- $user_id = Cache::get('dutyCheckTokenStr_' . $userLaborToken);
|
|
|
+ $user_id = Cache::get('dutyCheckTokenStr_' . $userLaborToken);
|
|
|
+ var_dump($userLaborToken);
|
|
|
+ var_dump($user_id);
|
|
|
+ if ($userLaborToken && $user_id) {
|
|
|
$userDetail = UserDetail::find($user_id);
|
|
|
if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/' . $userDetail->mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
if($importAndExportQRCodeType=='import') return redirect('personnel/checking-in/userDutyCheck/updateUserLaborCompanies/' . $userDetail->mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
@@ -73,34 +75,35 @@ class UserDutyCheckController extends Controller
|
|
|
$userDetail = UserDetail::where('mobile_phone', $mobile_phone)->first();
|
|
|
if (!$userDetail) return redirect('personnel/checking-in/userDutyCheck/createUserDetail/' . $mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
if (Cache::has('dutyCheckTokenUser_' . $userDetail->user_id)) return "<h1 style='color: red;text-align:center'>请使用原有设备进行打卡,如无法使用原有设备请联系管理人员解绑设备!</h1>";
|
|
|
- $userDutyCheckOld = UserDutyCheck::where('user_id', $userDetail->user_id)->orderBy('checked_at', 'DESC')->limit(10)->first();
|
|
|
- $date = date('Y-m-d H:i:s');
|
|
|
- $lastDate = Carbon::parse($userDutyCheckOld['checked_at']);
|
|
|
- $thisDate = Carbon::parse($date);
|
|
|
- $diffDate = $thisDate->diffInMinutes($lastDate);
|
|
|
- //未登录从新选择劳务所
|
|
|
- if ($diffDate > 0.5 * 1440 ||!$userDutyCheckOld) {
|
|
|
- return redirect('personnel/checking-in/userDutyCheck/updateUserLaborCompanies/' . $mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
- }
|
|
|
+// $userDutyCheckOld = UserDutyCheck::where('user_id', $userDetail->user_id)->orderBy('checked_at', 'DESC')->first();
|
|
|
+// $date = date('Y-m-d H:i:s');
|
|
|
+// $lastDate = Carbon::parse($userDutyCheckOld['checked_at']);
|
|
|
+// $thisDate = Carbon::parse($date);
|
|
|
+// $diffDate = $thisDate->diffInMinutes($lastDate);
|
|
|
+// //未登录从新选择劳务所
|
|
|
+// if ($diffDate > 0.5 * 1440 ||!$userDutyCheckOld) {
|
|
|
+// return redirect('personnel/checking-in/userDutyCheck/updateUserLaborCompanies/' . $mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
+// }
|
|
|
+ if($importAndExportQRCodeType=='import') return redirect('personnel/checking-in/userDutyCheck/updateUserLaborCompanies/' . $userDetail->mobile_phone)->with("importAndExportQRCodeType", $importAndExportQRCodeType);
|
|
|
$userDutyCheck=$this->importAndExportDutyCheck($userDetail->user_id, $importAndExportQRCodeType);
|
|
|
if ($userDutyCheck && $userDutyCheck->isNotImport == true) return "<h1 style='color: darkred;text-align:center'>当前还未入场,不可出场!</h1>";
|
|
|
if ($userDutyCheck && $userDutyCheck->import == true) return "<h1 style='color: darkred;text-align:center'>您已入场,不可再次入场!</h1>";
|
|
|
if ($userDutyCheck && $userDutyCheck->export == true) return "<h1 style='color: darkred;text-align:center'>您已出场,不可再次出场!!</h1>";
|
|
|
if (!$userDutyCheck) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
- $userLaborToken = $userDetail->getDutyCheckToken(config('users.token_check_in_expire_minutes'));
|
|
|
+ //$userLaborToken = $userDetail->getDutyCheckToken(config('users.token_check_in_expire_minutes'));
|
|
|
$laborReportService = app('LaborReportService');
|
|
|
$errorMessage = $laborReportService->makeOrChangeLaborReportByUserDutyCheck($userDutyCheck, $importAndExportQRCodeType);
|
|
|
if ($errorMessage) return $errorMessage;
|
|
|
$laravelEchoPrefix = config('database.redis.options.prefix');
|
|
|
- return response()->view('personnel/checking-in/importAndExportSuccess', ['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'), '/');
|
|
|
+ return response()->view('personnel/checking-in/importAndExportSuccess', ['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'), '/')
|
|
|
}
|
|
|
|
|
|
//根据用户提交进出场打卡记录
|
|
|
- public function importAndExportDutyCheck($user_id, $importAndExportQRCodeType)
|
|
|
+ public function importAndExportDutyCheck($user_id,$importAndExportQRCodeType)
|
|
|
{
|
|
|
$dateNow = Carbon::now()->format('Y-m-d');
|
|
|
- $userDutyCheckOld = UserDutyCheck::where('user_id', $user_id)->where('checked_at', 'like', $dateNow . '%')->orderBy('id', 'desc')->limit(10)->first();
|
|
|
+ $userDutyCheckOld = UserDutyCheck::where('user_id', $user_id)->where('checked_at','like',$dateNow.'%')->orderBy('id','desc')->limit(10)->first();
|
|
|
$date = date('Y-m-d H:i:s');
|
|
|
$this->log(__METHOD__, "提交打卡记录__" . __FUNCTION__, json_encode([$user_id, $date]));
|
|
|
$userDutyCheck = new UserDutyCheck([
|
|
|
@@ -112,7 +115,7 @@ class UserDutyCheckController extends Controller
|
|
|
if (!$userDutyCheckOld) {
|
|
|
//当前日期的前一天
|
|
|
$yesterday = Carbon::yesterday()->format('Y-m-d');
|
|
|
- $userDutyCheckYesterday = UserDutyCheck::where('user_id', $user_id)->where('checked_at', 'like', $yesterday . '%')->orderBy('id', 'desc')->limit(10)->first();
|
|
|
+ $userDutyCheckYesterday = UserDutyCheck::where('user_id', $user_id)->where('checked_at','like', $yesterday.'%')->orderBy('id','desc')->limit(10)->first();
|
|
|
if ($importAndExportQRCodeType && $importAndExportQRCodeType == 'export') {
|
|
|
if ($userDutyCheckYesterday && $userDutyCheckYesterday->type == '登入') {
|
|
|
$userDutyCheck->verify_user_id = $userDutyCheckYesterday->verify_user_id;
|
|
|
@@ -188,6 +191,7 @@ class UserDutyCheckController extends Controller
|
|
|
if ($userDutyCheck && $userDutyCheck->export == true) return "<h1 style='color: darkred;text-align:center'>您已出场,不可再次出场!!</h1>";
|
|
|
if (!$userDutyCheck) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userLaborToken = $userDetail->getDutyCheckToken(config('users.token_check_in_expire_minutes'));
|
|
|
+ var_dump($userLaborToken);
|
|
|
$laborReportService = app('LaborReportService');
|
|
|
$laborReportService->makeOrChangeLaborReportByUserDutyCheck($userDutyCheck, $importAndExportQRCodeType);
|
|
|
$laravelEchoPrefix = config('database.redis.options.prefix');
|
|
|
@@ -249,6 +253,7 @@ class UserDutyCheckController extends Controller
|
|
|
if ($userDutyCheck&&$userDutyCheck->export==true)return "<h1 style='color: darkred;text-align:center'>您已出场,不可再次出场!</h1>";
|
|
|
if (!$userDutyCheck)return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
$userLaborToken=$userDetail->getDutyCheckToken(config('users.token_check_in_expire_minutes'));
|
|
|
+ var_dump($userLaborToken);
|
|
|
Controller::logS(__METHOD__,"录入临时工,用户,对应工作组,打卡记录".__FUNCTION__,json_encode($userDetail));
|
|
|
$laravelEchoPrefix = config('database.redis.options.prefix');
|
|
|
return response()->view('personnel/checking-in/importAndExportSuccess',['full_name'=>$userDetail->full_name,'checked_at'=>$userDutyCheck->checked_at,'type'=>$userDutyCheck->type,'laravelEchoPrefix'=>$laravelEchoPrefix])
|
|
|
@@ -285,8 +290,10 @@ class UserDutyCheckController extends Controller
|
|
|
{
|
|
|
$userWorkgroupID = $request->input('userWorkgroupID');
|
|
|
$userLaborToken = $request->cookie('userLaborToken');
|
|
|
- if ($userLaborToken && Cache::has('dutyCheckTokenStr_' . $userLaborToken)) {
|
|
|
- $user_id = Cache::get('dutyCheckTokenStr_' . $userLaborToken);
|
|
|
+ $user_id = Cache::get('dutyCheckTokenStr_' . $userLaborToken);
|
|
|
+ var_dump($userLaborToken);
|
|
|
+ var_dump($user_id);
|
|
|
+ if ($userLaborToken && $user_id) {
|
|
|
$dateNow = Carbon::now()->format('Y-m-d');
|
|
|
$userDutyCheck = UserDutyCheck::where('user_id', $user_id)->where('checked_at', 'like', $dateNow. '%')->orderBy('id', 'desc')->first();
|
|
|
if (!$userDutyCheck['verify_user_id']) return "<h1 style='color: red;text-align:center'>进场门卫还未审核,暂无法进组!</h1>";
|
|
|
@@ -314,7 +321,6 @@ class UserDutyCheckController extends Controller
|
|
|
$laborReportNow = LaborReport::where('user_id', $user_id)->orderBy('id', 'desc')->first();
|
|
|
if ($laborReportNow['group_user_id'] && !$laborReportNow['check_out_at']) return "<h1 style='color: darkred;text-align:center'>您还未退组,暂不可换组,请联系之前组长!</h1>";
|
|
|
if ($laborReportNow['user_workgroup_id'] == $userWorkgroupID) return "<h1 style='color: darkred;text-align:center'>您已进组,不可再次进组!</h1>";
|
|
|
- //if (!$laborReportNow['group_user_id']) return "<h1 style='color: darkred;text-align:center'>换组前是否已经其他组!</h1>";
|
|
|
//此处表示临时工换组操作
|
|
|
$newLaborReport = $laborReportService->changeGroupAndMakeLaborReport($user_id, $userWorkgroupID);
|
|
|
$this->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$user_id, $userWorkgroupID]));
|
|
|
@@ -324,87 +330,4 @@ class UserDutyCheckController extends Controller
|
|
|
return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix]);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-//$laborReport = LaborReport::where('user_id', $user_id)->where('user_workgroup_id', $userWorkgroupID)->where('created_at', 'like', Carbon::now()->format('Y-m-d'). '%')->orderBy('id', 'desc')->first();
|
|
|
-// //此处表示临时工当日换组操作
|
|
|
-//if (!$laborReport) {
|
|
|
-//$newLaborReport = $laborReportService->changeGroupAndMakeLaborReport($user_id, $userWorkgroupID);
|
|
|
-//$this->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$user_id, $userWorkgroupID]));
|
|
|
-//if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
-//if ($newLaborReport) {
|
|
|
-//event(new ClockinEvent($newLaborReport));
|
|
|
-//}
|
|
|
-//return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix]);
|
|
|
-//} else if ($laborReport['enter_number'] != $laborReportNow['enter_number']) {
|
|
|
-// $newLaborReport = $laborReportService->changeGroupAndMakeLaborReport($user_id, $userWorkgroupID);
|
|
|
-// $this->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$user_id, $userWorkgroupID]));
|
|
|
-// if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
-// if ($newLaborReport) {
|
|
|
-// event(new ClockinEvent($newLaborReport));
|
|
|
-// }
|
|
|
-// return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix]);
|
|
|
-//} else {
|
|
|
-// return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
-//}
|
|
|
-
|
|
|
- //进组提交打卡
|
|
|
-// public function importGroupClock(Request $request)
|
|
|
-// {
|
|
|
-// $mobile_phone = $request->input('mobile_phone');
|
|
|
-// $userWorkgroupID = $request->input('userWorkgroupID');
|
|
|
-// $laborReportService = app('LaborReportService');
|
|
|
-// $this->validator($request)->validate();
|
|
|
-// $userDetail = UserDetail::where('mobile_phone', $mobile_phone)->first();
|
|
|
-// if (Cache::has('dutyCheckTokenUser_' . $userDetail->user_id)) return "<h1 style='color: red;text-align:center'>请使用原有设备进行打卡,如无法使用原有设备请联系管理人员解绑设备!</h1>";
|
|
|
-// $dateNow = Carbon::now()->format('Y-m-d');
|
|
|
-// $group_name = UserWorkgroup::where('id', $userWorkgroupID)->value('name');
|
|
|
-// $laravelEchoPrefix = config('database.redis.options.prefix');
|
|
|
-// $userDutyCheck = UserDutyCheck::where('user_id', $userDetail->user_id)->where('checked_at', 'like', $dateNow . '%')->orderBy('id', 'desc')->first();
|
|
|
-// if (!$userDutyCheck->verify_user_id) return "<h1 style='color: red;text-align:center'>进场门卫还未审核,暂无法进组!</h1>";
|
|
|
-// if ($userDutyCheck->type == '登出') return "<h1 style='color: red;text-align:center'>进场是否未打卡?如若未打,请先返回打进场卡!</h1>";
|
|
|
-// $userLaborToken = $userDetail->getDutyCheckToken(config('users.token_check_in_expire_minutes'));
|
|
|
-// //判断是否是第一次进组
|
|
|
-// $laborReport = LaborReport::where('user_id', $userDetail->user_id)->where('user_workgroup_id', null)->where('created_at', 'like', $dateNow . '%')->orderBy('id', 'desc')->first();
|
|
|
-// if ($laborReport) {
|
|
|
-// $newLaborReport = $laborReportService->enterGroupAndUpdateLaborReport($laborReport, $userWorkgroupID);
|
|
|
-// $this->log(__METHOD__, "当日首次进组更新临时工报表记录__" . __FUNCTION__, json_encode($request->all()));
|
|
|
-// if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
-// if ($newLaborReport) {
|
|
|
-// event(new ClockinEvent($newLaborReport));
|
|
|
-// }
|
|
|
-// return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix]);
|
|
|
-// } else {
|
|
|
-// $laborReport = LaborReport::where('user_id', $userDetail->user_id)->where('user_workgroup_id', $userWorkgroupID)->where('created_at', 'like', $dateNow . '%')->orderBy('id', 'desc')->first();
|
|
|
-// //此处表示临时工当日换组操作
|
|
|
-// if (!$laborReport) {
|
|
|
-// $newLaborReport = $laborReportService->changeGroupAndMakeLaborReport($userDetail->user_id, $userWorkgroupID);
|
|
|
-// $this->log(__METHOD__, "当日临时工换组新建临时工报表记录__" . __FUNCTION__, json_encode([$userDetail->user_id, $userWorkgroupID]));
|
|
|
-// if (!$newLaborReport) return "<h1 style='color: red;text-align:center'>打卡异常,请联系相关人员!</h1>";
|
|
|
-// if ($newLaborReport) {
|
|
|
-// event(new ClockinEvent($newLaborReport));
|
|
|
-// }
|
|
|
-// return response()->view('personnel/checking-in/success', ['group_name' => $group_name ?? '', 'full_name' => $userDetail->full_name, 'check_in_at' => $newLaborReport->check_in_at, 'laravelEchoPrefix' => $laravelEchoPrefix])
|
|
|
-// ->cookie('userLaborToken', $userLaborToken, config('users.token_check_in_expire_minutes'), '/');
|
|
|
-// } else {
|
|
|
-// return "<h1 style='color: darkred;text-align:center'>重复打卡!</h1>";
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
-
|
|
|
}
|