Sfoglia il codice sorgente

人事管理,修改相关逻辑

haozi 5 anni fa
parent
commit
e1a40693cb

+ 7 - 6
app/Http/Controllers/LaborReportController.php

@@ -88,14 +88,15 @@ class LaborReportController extends Controller
                     $this->log(__METHOD__,"组长未审核该条记录将在10分钟后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
                 }
             }
-            $createdAtDate=Carbon::parse($laborReport->created_at)->format('Y-m-d');
-            $userDutyCheck=UserDutyCheck::where('checked_at','like',$createdAtDate.'%')->where('user_id',$laborReport->user_id)->first();
-            $addOneHourCheckedAt=Carbon::parse($userDutyCheck->checked_at)->subHours(-1)->format('Y-m-d H-i-s');
-            if ($userDutyCheck->verify_user_id) $laborReport->userDutyCheck=$userDutyCheck;
-            if (!$userDutyCheck->verify_user_id&&Carbon::now()->format('Y-m-d H-i-s')<$addOneHourCheckedAt){
+            $createdAtDate=Carbon::parse($laborReport->created_at)->format('Y-m-d H');
+            $userDutyCheck=UserDutyCheck::where('checked_at','like',$createdAtDate.'%')->where('user_id',$laborReport->user_id)->where('type','登入')->first();
+            //dd($userDutyCheck);
+            $addOneHourCheckedAt=Carbon::parse($userDutyCheck['checked_at'])->subHours(-1)->format('Y-m-d H-i-s');
+            if ($userDutyCheck['verify_user_id']) $laborReport->userDutyCheck=$userDutyCheck;
+            if (!$userDutyCheck['verify_user_id']&&Carbon::now()->format('Y-m-d H-i-s')<$addOneHourCheckedAt){
                 $laborReport->userDutyCheck=$userDutyCheck;
             }
-            else if (!$userDutyCheck->verify_user_id&&Carbon::now()->format('Y-m-d H-i-s')>$addOneHourCheckedAt){
+            else if (!$userDutyCheck['verify_user_id']&&Carbon::now()->format('Y-m-d H-i-s')>$addOneHourCheckedAt){
                 $laborReport->delete();
                 $this->log(__METHOD__,"进场门卫未审核该条记录将在一小时后实行软删除__".__FUNCTION__,$laborReport->toJson(),Auth::user()['id']);
             }

+ 4 - 4
app/Http/Controllers/UserDutyCheckController.php

@@ -54,7 +54,7 @@ class UserDutyCheckController extends Controller
             $dateNow=Carbon::now()->format('Y-m-d');
             $laborReport=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$dateNow.'%')->orderBy('id','desc')->first();
             //判断当前日期下临时工是否有临时工报表记录并且是进场打卡
-            if (!$laborReport&&$importAndExportQRCodeType=='import'){
+            if ($userDutyCheck->type=='登入'&&$importAndExportQRCodeType=='import'){
                 $newReport=LaborReport::importToCreateLaborReportData($userDutyCheck);
                 $this->log(__METHOD__,"进场创建临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck]));
                 if ($newReport) event(new ImportEvent($userDutyCheck));
@@ -72,7 +72,7 @@ class UserDutyCheckController extends Controller
                     $this->log(__METHOD__,"退场建临时工报表记录__".__FUNCTION__,json_encode([$laborReportYesterday,$userDutyCheck]));
                     if ($exportReport) event(new ExportEvent($userDutyCheck));
                 }
-            }else if($laborReport){
+            }else if($laborReport&&$importAndExportQRCodeType=='export'){
                 if (!$laborReport->check_out_at){
                     UserDutyCheck::where('user_id',$laborReport->user_id)->where('type','登出')->orderBy('id','desc')->delete();
                     return "<h1 style='color: darkred;text-align:center'>您还未退组,暂不可退场,请联系组长!</h1>";
@@ -117,7 +117,7 @@ class UserDutyCheckController extends Controller
 //            if ($newReport) event(new ImportEvent($userDutyCheck));
 //        }
         //判断当前日期下临时工是否有临时工报表记录并且是进场打卡
-        if (!$laborReport&&$importAndExportQRCodeType=='import'){
+        if ($userDutyCheck->type=='登入'&&$importAndExportQRCodeType=='import'){
             $newReport=LaborReport::importToCreateLaborReportData($userDutyCheck);
             $this->log(__METHOD__,"进场创建临时工报表记录__".__FUNCTION__,json_encode([$userDutyCheck]));
             if ($newReport) event(new ImportEvent($userDutyCheck));
@@ -135,7 +135,7 @@ class UserDutyCheckController extends Controller
                 $this->log(__METHOD__,"退场建临时工报表记录__".__FUNCTION__,json_encode([$laborReportYesterday,$userDutyCheck]));
                 if ($exportReport) event(new ExportEvent($userDutyCheck));
             }
-        }else if($laborReport){
+        }else if($laborReport&&$importAndExportQRCodeType=='export'){
             if (!$laborReport->check_out_at){
                 UserDutyCheck::where('user_id',$laborReport->user_id)->where('type','登出')->orderBy('id','desc')->delete();
                 return "<h1 style='color: darkred;text-align:center'>您还未退组,暂不可退场,请联系组长!</h1>";

+ 19 - 6
app/LaborReport.php

@@ -36,12 +36,25 @@ class LaborReport extends Model
         return $this['check_out_at']? true:false;
     }
     public function getIsExportAttribute(){
-        $userDutyCheck=UserDutyCheck::where('user_id',$this['user_id'])->orderBy('id','desc')->first();
-        if ( $userDutyCheck['type']=='登出'){
-            $updated_at=Carbon::parse($this['updated_at'])->format('Y-m-d H-i');
-            $checked_at=Carbon::parse($userDutyCheck['checked_at'])->format('Y-m-d H-i');
-            return $updated_at==$checked_at? true:false;
-        }
+        $userDutyChecks=UserDutyCheck::where('user_id',$this['user_id'])->where('type','登出')->get();
+//        orderBy('id','desc')
+//        if ( $userDutyCheck['type']=='登出'){
+//            $updated_at=Carbon::parse($this['updated_at'])->format('Y-m-d H-i');
+//            $checked_at=Carbon::parse($userDutyCheck['checked_at'])->format('Y-m-d H-i');
+//            return $updated_at==$checked_at? true:false;
+//        }
+//        return false;
+            $updated_at = Carbon::parse($this['updated_at'])->format('Y-m-d H-i');
+            foreach ($userDutyChecks as $userDutyCheck){
+                $checked_at = Carbon::parse($userDutyCheck['checked_at'])->format('Y-m-d H-i');
+                if ($updated_at == $checked_at){
+                    return true;
+                }
+                continue;
+            }
+            return false;
+
+
     }
     public function getIsExportReplenishAttribute()
     {

File diff suppressed because it is too large
+ 0 - 0
public/js/app.js


Some files were not shown because too many files changed in this diff