|
|
@@ -21,33 +21,7 @@ class QRCodeController extends Controller
|
|
|
return view("personnel/checking-in/getQRcode",compact('warehouses'));
|
|
|
}
|
|
|
|
|
|
- //获取进出场二维码
|
|
|
- public function getImportAndExportQRCode($importAndExportQRCodes){
|
|
|
- foreach ($importAndExportQRCodes as $importAndExportQRCode){
|
|
|
- $qrCode_refresh_everyday=config('hr.qrCode_refresh_everyday');
|
|
|
- if ($qrCode_refresh_everyday){
|
|
|
- $date=md5(date('Y-m-d'));
|
|
|
- $url=url("personnel/checking-in/userDutyCheck/importAndExportClock?key=").$date;
|
|
|
- $url=$url."&&importAndExportQRCodeType=".$importAndExportQRCode->type;
|
|
|
- }else{
|
|
|
- $url=url("personnel/checking-in/userDutyCheck/importAndExportClock");
|
|
|
- $url=$url."?importAndExportQRCodeType=".$importAndExportQRCode->type;
|
|
|
- }
|
|
|
- $qrCode=new QrCode($url);
|
|
|
- if ($importAndExportQRCode->type){
|
|
|
- $fileURL=base_path('public/images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
- if (file_exists($fileURL)){
|
|
|
- $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
- continue;
|
|
|
- }
|
|
|
- $qrCode->writeFile($fileURL);
|
|
|
- $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
- }
|
|
|
- }
|
|
|
- return $importAndExportQRCodes;
|
|
|
- }
|
|
|
-
|
|
|
- //第一次进入进出场二维码显示页面
|
|
|
+ //进入进出场二维码显示页面
|
|
|
public function importAndExportQRCode(){
|
|
|
$importAndExportQRCodes=[];
|
|
|
$userDutyCheckOne=new UserDutyCheck([
|
|
|
@@ -59,33 +33,22 @@ class QRCodeController extends Controller
|
|
|
'type'=>'export',
|
|
|
]);
|
|
|
array_push($importAndExportQRCodes,$userDutyCheckOne,$userDutyCheck);
|
|
|
- $beforeTime=date('Y-m-d H:i:s');
|
|
|
- $importAndExportQRCodes=$this->qrCode_refresh_time($importAndExportQRCodes,$beforeTime);
|
|
|
- Cache::forget('last_refresh_date');
|
|
|
- return view('personnel/checking-in/importAndExportQRCode',['importAndExportQRCodes'=>$importAndExportQRCodes,'last_refresh_date'=>Cache::get('last_refresh_date'),]);
|
|
|
+ $importAndExportQRCodes=$this->qrCode_refresh_time($importAndExportQRCodes);
|
|
|
+ Cache::forget('next_refresh_time');
|
|
|
+ return view('personnel/checking-in/importAndExportQRCode',['importAndExportQRCodes'=>$importAndExportQRCodes,'next_refresh_time'=>Cache::get('next_refresh_time'),]);
|
|
|
|
|
|
}
|
|
|
//进出场二维码刷新时间
|
|
|
- public function qrCode_refresh_time($importAndExportQRCodes,$beforeTime){
|
|
|
+ public function qrCode_refresh_time($importAndExportQRCodes){
|
|
|
$qrCode_refresh=config('hr.qrCode_refresh');
|
|
|
- if (!Cache::has('last_refresh_date') || Cache::get('last_refresh_date')<date('Y-m-d H:i:s')){
|
|
|
- $last_refresh_date=date('Y-m-d H:i:s',strtotime('+'.$qrCode_refresh.'second'));
|
|
|
- Cache::put('last_refresh_date',$last_refresh_date);
|
|
|
- return $this->flushQRCode($importAndExportQRCodes);
|
|
|
- }
|
|
|
- if ($beforeTime==Cache::get('last_refresh_date')){
|
|
|
- $time=strtotime($beforeTime);
|
|
|
- //刷新 更新cache
|
|
|
- $last_refresh_date=date('Y-m-d H:i:s', strtotime('+'.$qrCode_refresh.'second', $time));
|
|
|
- Cache::put('last_refresh_date',$last_refresh_date);
|
|
|
- return $this->flushQRCode($importAndExportQRCodes);
|
|
|
- }
|
|
|
- return $this->getImportAndExportQRCode($importAndExportQRCodes);
|
|
|
+ $next_refresh_time=date('Y-m-d H:i:s',strtotime('+'.$qrCode_refresh.'second'));
|
|
|
+ Cache::put('next_refresh_time',$next_refresh_time);
|
|
|
+ return $this->flushQRCode($importAndExportQRCodes);
|
|
|
}
|
|
|
//刷新进出场二维码方法
|
|
|
public function flushQRCode($importAndExportQRCodes){
|
|
|
foreach ($importAndExportQRCodes as $importAndExportQRCode){
|
|
|
- $time=strtotime(Cache::get('last_refresh_date'));
|
|
|
+ $time=strtotime(Cache::get('next_refresh_time'));
|
|
|
$qrCode_refresh=config('hr.qrCode_refresh');
|
|
|
if ($qrCode_refresh){
|
|
|
$date=date('Y-m-d H:i:s', strtotime('+30second',$time));
|
|
|
@@ -97,16 +60,16 @@ class QRCodeController extends Controller
|
|
|
}
|
|
|
$qrCode=new QrCode($url);
|
|
|
if ($importAndExportQRCode->type){
|
|
|
- $fileURL=base_path('public/images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
- $qrCode->writeFile($fileURL);
|
|
|
- $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png').'?da='.Uuid::uuid1();
|
|
|
+// $fileURL=base_path('public/images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
+// $qrCode->writeFile($fileURL);
|
|
|
+ $importAndExportQRCode->src=base64_encode($qrCode->writeString());
|
|
|
+// $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png').'?da='.Uuid::uuid1();
|
|
|
}
|
|
|
}
|
|
|
return $importAndExportQRCodes;
|
|
|
}
|
|
|
//刷新进出场二维码页面
|
|
|
public function refreshQRCode(Request $request){
|
|
|
- $beforeTime=$request->input('beforeTime');
|
|
|
$importAndExportQRCodes=[];
|
|
|
$userDutyCheckOne=new UserDutyCheck([
|
|
|
'type'=>'import',
|
|
|
@@ -117,9 +80,9 @@ class QRCodeController extends Controller
|
|
|
'source'=>'出场',
|
|
|
]);
|
|
|
array_push($importAndExportQRCodes,$userDutyCheckOne,$userDutyCheck);
|
|
|
- $importAndExportQRCodes=$this->qrCode_refresh_time($importAndExportQRCodes,$beforeTime);
|
|
|
+ $importAndExportQRCodes=$this->qrCode_refresh_time($importAndExportQRCodes);
|
|
|
$csrfToken=csrf_token();
|
|
|
- return ['importAndExportQRCodes'=>$importAndExportQRCodes,'last_refresh_date'=>Cache::get('last_refresh_date'),'csrf_Token'=>$csrfToken];
|
|
|
+ return ['importAndExportQRCodes'=>$importAndExportQRCodes,'next_refresh_time'=>Cache::get('next_refresh_time'),'csrf_Token'=>$csrfToken];
|
|
|
}
|
|
|
|
|
|
//进入工作组二维码显示页面
|
|
|
@@ -148,89 +111,47 @@ class QRCodeController extends Controller
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-// //进入刷新二维码页面
|
|
|
-// public function refreshQRCode(Request $request){
|
|
|
-// $beforeTime=$request->input('beforeTime');
|
|
|
-// $warehouseId=$request->input('warehouseId');
|
|
|
-// $userWorkgroups=UserWorkgroup::where('warehouse_id',$warehouseId)->get();
|
|
|
-// $userWorkgroups=$this->qrCode_refresh_time($userWorkgroups,$beforeTime);
|
|
|
-// $csrfToken=csrf_token();
|
|
|
-// if (!$userWorkgroups)return view('exception.404',['error'=>'未找到工作组!']);
|
|
|
-// return ['userWorkgroups'=>$userWorkgroups,'last_refresh_date'=>Cache::get('last_refresh_date'),'csrf_Token'=>$csrfToken];
|
|
|
+ //获取进出场二维码
|
|
|
+// public function getImportAndExportQRCode($importAndExportQRCodes){
|
|
|
+// foreach ($importAndExportQRCodes as $importAndExportQRCode){
|
|
|
+// $qrCode_refresh_everyday=config('hr.qrCode_refresh_everyday');
|
|
|
+// if ($qrCode_refresh_everyday){
|
|
|
+// $date=md5(date('Y-m-d'));
|
|
|
+// $url=url("personnel/checking-in/userDutyCheck/importAndExportClock?key=").$date;
|
|
|
+// $url=$url."&&importAndExportQRCodeType=".$importAndExportQRCode->type;
|
|
|
+// }else{
|
|
|
+// $url=url("personnel/checking-in/userDutyCheck/importAndExportClock");
|
|
|
+// $url=$url."?importAndExportQRCodeType=".$importAndExportQRCode->type;
|
|
|
+// }
|
|
|
+// $qrCode=new QrCode($url);
|
|
|
+// if ($importAndExportQRCode->type){
|
|
|
+// $fileURL=base_path('public/images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
+// if (file_exists($fileURL)){
|
|
|
+// $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// $qrCode->writeFile($fileURL);
|
|
|
+// $importAndExportQRCode->url=url('images/QRCodeIMG/'.$importAndExportQRCode->type.'.png');
|
|
|
+// }
|
|
|
+// }
|
|
|
+// return $importAndExportQRCodes;
|
|
|
// }
|
|
|
|
|
|
-// //二维码刷新时间
|
|
|
-// public function qrCode_refresh_time($userWorkgroups,$beforeTime){
|
|
|
+// //进出场二维码刷新时间
|
|
|
+// public function qrCode_refresh_time($importAndExportQRCodes,$beforeTime){
|
|
|
// $qrCode_refresh=config('hr.qrCode_refresh');
|
|
|
-// if (!Cache::has('last_refresh_date') || Cache::get('last_refresh_date')<date('Y-m-d H:i:s')){
|
|
|
-// $last_refresh_date=date('Y-m-d H:i:s',strtotime('+'.$qrCode_refresh.'second'));
|
|
|
-// Cache::put('last_refresh_date',$last_refresh_date);
|
|
|
-// return $this->flushQRCode($userWorkgroups);
|
|
|
+// if (!Cache::has('next_refresh_time') || Cache::get('next_refresh_time')<date('Y-m-d H:i:s')){
|
|
|
+// $next_refresh_time=date('Y-m-d H:i:s',strtotime('+'.$qrCode_refresh.'second'));
|
|
|
+// Cache::put('next_refresh_time',$next_refresh_time);
|
|
|
+// return $this->flushQRCode($importAndExportQRCodes);
|
|
|
// }
|
|
|
-// if ($beforeTime==Cache::get('last_refresh_date')){
|
|
|
+// if ($beforeTime==Cache::get('next_refresh_time')){
|
|
|
// $time=strtotime($beforeTime);
|
|
|
// //刷新 更新cache
|
|
|
-// $last_refresh_date=date('Y-m-d H:i:s', strtotime('+'.$qrCode_refresh.'second', $time));
|
|
|
-// Cache::put('last_refresh_date',$last_refresh_date);
|
|
|
-// return $this->flushQRCode($userWorkgroups);
|
|
|
-// }
|
|
|
-// //每次刷新都标记一个cache 新建 每次刷新前判断这个标记时间
|
|
|
-// //直接去本地获取二维码
|
|
|
-// return $this->getQRCode($userWorkgroups);
|
|
|
-// }
|
|
|
-// //刷新二维码
|
|
|
-// public function flushQRCode($userWorkgroups){
|
|
|
-// foreach ($userWorkgroups as $userWorkgroup){
|
|
|
-// $time=strtotime(Cache::get('last_refresh_date'));
|
|
|
-// $qrCode_refresh=config('hr.qrCode_refresh');
|
|
|
-// if ($qrCode_refresh){
|
|
|
-// $date=date('Y-m-d H:i:s', strtotime('+30second',$time));
|
|
|
-// $url=url("personnel/checking-in/userDutyCheck/clock?key=").$date;
|
|
|
-// $url=$url."&&userWorkgroupID=".$userWorkgroup->id;
|
|
|
-// }else{
|
|
|
-// $url=url("personnel/checking-in/userDutyCheck/clock");
|
|
|
-// $url=$url."?userWorkgroupID=".$userWorkgroup->id;
|
|
|
-// }
|
|
|
-// $qrCode=new QrCode($url);
|
|
|
-// if ($userWorkgroup->id){
|
|
|
-// $fileURL=base_path('public/images/QRCodeIMG/'.$userWorkgroup->id.'.png');
|
|
|
-// $qrCode->writeFile($fileURL);
|
|
|
-// $userWorkgroup->url=url('images/QRCodeIMG/'.$userWorkgroup->id.'.png').'?da='.Uuid::uuid1();
|
|
|
-// }
|
|
|
+// $next_refresh_time=date('Y-m-d H:i:s', strtotime('+'.$qrCode_refresh.'second', $time));
|
|
|
+// Cache::put('next_refresh_time',$next_refresh_time);
|
|
|
+// return $this->flushQRCode($importAndExportQRCodes);
|
|
|
// }
|
|
|
-// return $userWorkgroups;
|
|
|
+// return $this->getImportAndExportQRCode($importAndExportQRCodes);
|
|
|
// }
|
|
|
- //获取工作组二维码
|
|
|
-// public function getQRCode($userWorkgroups){
|
|
|
-// foreach ($userWorkgroups as $userWorkgroup){
|
|
|
-// $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;
|
|
|
-// $url=$url."&&userWorkgroupID=".$userWorkgroup->id;
|
|
|
-// }else{
|
|
|
-// $url=url("personnel/checking-in/userDutyCheck/clock");
|
|
|
-// $url=$url."?userWorkgroupID=".$userWorkgroup->id;
|
|
|
-// }
|
|
|
-// $qrCode=new QrCode($url);
|
|
|
-// if ($userWorkgroup->id){
|
|
|
-// $fileURL=base_path('public/images/QRCodeIMG/'.$userWorkgroup->id.'.png');
|
|
|
-// if (file_exists($fileURL)){
|
|
|
-// $userWorkgroup->url=url('images/QRCodeIMG/'.$userWorkgroup->id.'.png');
|
|
|
-// continue;
|
|
|
-// }
|
|
|
-// $qrCode->writeFile($fileURL);
|
|
|
-// $userWorkgroup->url=url('images/QRCodeIMG/'.$userWorkgroup->id.'.png');
|
|
|
-// }
|
|
|
-// }
|
|
|
-// return $userWorkgroups;
|
|
|
-// }
|
|
|
-
|
|
|
}
|