Explorar o código

修改人事报错问题

haozi %!s(int64=5) %!d(string=hai) anos
pai
achega
73cf0a4c3e
Modificáronse 3 ficheiros con 13 adicións e 24 borrados
  1. 11 20
      app/LaborReport.php
  2. 1 3
      app/LaborReportStatus.php
  3. 1 1
      app/Services/LaborReportService.php

+ 11 - 20
app/LaborReport.php

@@ -47,18 +47,8 @@ class LaborReport extends Model
     public function laborReportStatus(){
         return $this->hasMany('App\LaborReportStatus','labor_report_id','id');
     }
-    public function 未审核(){
-        return $this->hasOne('App\LaborReportStatus','labor_report_id','id')
-            ->where('status','未审核');
-    }
-    public function 已退场(){
-        return $this->hasOne('App\LaborReportStatus','labor_report_id','id')
-            ->where('status','已退场');
-    }
-//    public function remarks(){
-//        return $this->hasOne('App\Sign','signable_id','id')
-//            ->where('field','remark')->where('signable_type','labor_reports');
-//    }
+
+
     public function getRoundCheckInAtAttribute(){
         if (!$this['check_in_at'])return null;
         $round_check_in_at=Carbon::parse($this['check_in_at'])->format('i');
@@ -212,10 +202,11 @@ class LaborReport extends Model
     //进场时间
     public function getEnterAtAttribute()
     {
+        if ($this['userDutyCheck']&&$this['userDutyCheck']['type']=='登入')
+        return $this['userDutyCheck']?$this['userDutyCheck']['checked_at']:null;
 //        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->where('status','未审核')->orderBy('id','desc')->first();
 //        if (empty($laborReportStatus))return null;
 //        return Carbon::parse($laborReportStatus['created_at'])->format('Y-m-d H:i:s');
-        return $this['未审核']?Carbon::parse($this['未审核']['created_at'])->format('Y-m-d H:i:s'):null;
     }
 
     public function getEnteringRecordAttribute()
@@ -230,10 +221,11 @@ class LaborReport extends Model
 
     public function getExitAtAttribute()
     {
-        //$laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->where('status','已退场')->orderBy('id','desc')->first();
-        //if (empty($laborReportStatus))return null;
-        //return Carbon::parse($laborReportStatus['created_at'])->format('Y-m-d H:i:s');
-        return $this['已退场']?Carbon::parse($this['已退场']['created_at'])->format('Y-m-d H:i:s'):null;
+        if ($this['userDutyCheck']&&$this['userDutyCheck']['type']=='登出')
+            return $this['userDutyCheck']?$this['userDutyCheck']['checked_at']:null;
+//        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->where('status','已退场')->orderBy('id','desc')->first();
+//        if (empty($laborReportStatus))return null;
+//        return Carbon::parse($laborReportStatus['created_at'])->format('Y-m-d H:i:s');
     }
 
     //创建或获取进场编号
@@ -247,9 +239,8 @@ class LaborReport extends Model
     }
 
     public function getIsExportAttribute(){
-//        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->orderBy('id','desc')->first();
-//        return $laborReportStatus['status']=='已退场'?true:false;
-        return $this['已退场']?true:false;
+        $laborReportStatus=$this->laborReportStatus()->where('labor_report_id',$this['id'])->orderBy('id','desc')->first();
+        return $laborReportStatus['status']=='已退场'?true:false;
     }
     //出场更新临时工报表信息
     static function exitAndChangeLaborReport($laborReport,$userDutyCheck){

+ 1 - 3
app/LaborReportStatus.php

@@ -11,7 +11,5 @@ class LaborReportStatus extends Model
     protected $fillable=[
         'id','status','labor_report_id','created_at',
     ];
-//    public function laborReport(){
-//        return $this->hasOne('App\LaborReport','id','labor_report_id');
-//    }
+
 }

+ 1 - 1
app/Services/LaborReportService.php

@@ -28,7 +28,7 @@ class LaborReportService
     private function conditionQuery(array $params){
         $user=Auth::user();
         $laborReports=LaborReport::query()
-            ->with(['user','userDutyCheck','userWorkgroup.signs','laborCompany','已退场','未审核'])->orderBy('labor_reports.id','DESC');
+            ->with(['user','userDutyCheck','userWorkgroup.signs','laborCompany','laborReportStatus'])->orderBy('labor_reports.id','DESC');
         if (!($params["is_export"] ?? false)&&!($params['id']??null)){
             $laborReports = $laborReports->whereNotIn('labor_reports.enter_number',function ($builder)use($params){
                 $builder->select('enter_number')->from('labor_reports')