Sfoglia il codice sorgente

盘点状态修改,人事打卡改动

haozi 5 anni fa
parent
commit
50bccecdfa

+ 0 - 1
app/Events/GuardAuditEvent.php

@@ -2,7 +2,6 @@
 
 namespace App\Events;
 
-use App\LaborReport;
 use App\UserDutyCheck;
 use Illuminate\Broadcasting\Channel;
 use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

+ 4 - 3
app/Http/Controllers/LaborReportController.php

@@ -122,12 +122,12 @@ class LaborReportController extends Controller
             'status'=>'已入场',
         ]);
         $laborReportStatus->save();
-        app('LogService')->log(__METHOD__,"门卫打卡审核创建当前临时工报表状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
+        app('LogService')->log(__METHOD__,"门卫打卡审核修改当前临时工报表状态".__FUNCTION__,json_encode($laborReportStatus),Auth::user()['id']);
         $userDutyCheck=UserDutyCheck::find($userDutyCheckId);
         $userDutyCheck->verify_user_id=Auth::user()['id'];
         $userDutyCheck->update();
-        event(new GuardAuditEvent($userDutyCheck));
         app('LogService')->log(__METHOD__,"门卫打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
+        event(new GuardAuditEvent($userDutyCheck));
         return ["success"=>true,"data"=>$userDutyCheck->verify_user_id];
     }
     //打卡组长审核
@@ -262,8 +262,9 @@ class LaborReportController extends Controller
     //回收站
     function recycle(Request $request){
         if(!Gate::allows('人事管理-临时工报表-删除')){ return redirect('/');  }
+        $paginateParams=$request->input();
         $laborReports=LaborReport::query()->with(['user','userDutyCheck','userWorkgroup','laborCompany'])->onlyTrashed()->paginate($request->paginate??50);
-        return view('personnel.laborReport.recycle',compact('laborReports'));
+        return view('personnel.laborReport.recycle',compact('laborReports','paginateParams'));
     }
 
     //回收站恢复

+ 3 - 5
app/Http/Controllers/TestController.php

@@ -136,11 +136,9 @@ class TestController extends Controller
     }
 
     public function test2(){
-        $a = Unit::query()->first();
-        dd($a);
-        /** @var Process $process */
-        $process = Process::query()->first();
-        event(new ResetProcessStatisticStartDateEvent($process));
+        $inventoryAccount=InventoryAccount::query()->whereNull('status')->update([
+           'status'=>'待盘点',
+        ]);
     }
 
     function packageFromLog(Request $request)

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

@@ -80,7 +80,7 @@ class UserDutyCheckController extends Controller
         $this->validator($request)->validate();
         $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>";
+        if (Cache::has('dutyCheckTokenUser_'.$userDetail->user_id)) return "<h1 style='color: red;text-align:center'>请使用原有设备进行打卡,如无法使用原有设备请联系管理人员解绑设备!</h1>";
         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>";
@@ -196,7 +196,7 @@ class UserDutyCheckController extends Controller
         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'), '/');
+            ->cookie('userLaborToken', $userLaborToken, config('users.cookie_expire_minutes'), '/');
     }
 
     public function updateValidator(Request $request)
@@ -256,7 +256,7 @@ class UserDutyCheckController extends Controller
         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])
-            ->cookie('userLaborToken',$userLaborToken,config('users.token_check_in_expire_minutes'),'/');
+            ->cookie('userLaborToken',$userLaborToken,config('users.cookie_expire_minutes'),'/');
 
     }
 
@@ -334,7 +334,7 @@ class UserDutyCheckController extends Controller
         }
         if ($userLaborToken){
             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'),'/');
+                ->cookie('userLaborToken',$userLaborToken,config('users.cookie_expire_minutes'),'/');
         }else{
             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]);
         }

+ 25 - 15
app/LaborReport.php

@@ -21,7 +21,7 @@ class LaborReport extends Model
     ];
     protected $appends = [
         'is_exportGroup','is_export', 'exit_at','enter_at','sequence', 'amountOfJoined','remark','thisRecordOnlineTime','thisRecordWorkingTime','thisRoundRecordWorkingTime',
-        'totalOnlineTime','verifyPerson','userDutyCheckVerifyUserId','isAdult','round_check_in_at','round_check_out_at','has_group_verify_right'
+        'totalOnlineTime','verifyPerson','userDutyCheckVerifyUserId','isAdult','round_check_in_at','round_check_out_at','has_group_verify_right',
     ];
     protected $tempFields = [
         'temEnteringRecord',
@@ -47,12 +47,23 @@ 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');
         if ($round_check_in_at>=0&&$round_check_in_at<=5) return Carbon::parse($this['check_in_at'])->clone()->setMinutes(00)->setSeconds(00)->format('Y-m-d H:i:s');
         if ($round_check_in_at>5&&$round_check_in_at<=35) return Carbon::parse($this['check_in_at'])->clone()->setMinutes(30)->setSeconds(00)->format('Y-m-d H:i:s');
-        //if ($round_check_in_at==30) return Carbon::parse($this['check_in_at'])->clone()->setMinutes(30)->setSeconds(00)->format('Y-m-d H:i:s');
         if ($round_check_in_at>35&&$round_check_in_at<=59) return Carbon::parse($this['check_in_at'])->clone()->addHour()->setMinutes(00)->setSeconds(00)->format('Y-m-d H:i:s');
     }
     public function getRoundCheckOutAtAttribute(){
@@ -60,12 +71,12 @@ class LaborReport extends Model
         $round_check_out_at=Carbon::parse($this['check_out_at'])->format('i');
         if ($round_check_out_at>=0&&$round_check_out_at<25) return Carbon::parse($this['check_out_at'])->clone()->setMinutes(00)->setSeconds(00)->format('Y-m-d H:i:s');
         if ($round_check_out_at>=25&&$round_check_out_at<=55) return Carbon::parse($this['check_out_at'])->clone()->setMinutes(30)->setSeconds(00)->format('Y-m-d H:i:s');
-        //if ($round_check_out_at==30) return Carbon::parse($this['check_out_at'])->clone()->setMinutes(30)->setSeconds(00)->format('Y-m-d H:i:s');
         if ($round_check_out_at>55&&$round_check_out_at<=59) return Carbon::parse($this['check_out_at'])->clone()->addHour()->setMinutes(00)->setSeconds(00)->format('Y-m-d H:i:s');
     }
     public function getRemarkAttribute(){
-        return $this->hasOne('App\Sign','signable_id','id')
-            ->where('field','remark')->where('signable_type','labor_reports')->value('mark');
+//        $this->hasOne('App\Sign','signable_id','id')
+//            ->where('field','remark')->where('signable_type','labor_reports')->value('mark');
+        return $this['remarks']?$this['remarks']['mark']:null;
     }
     public function getHasGroupVerifyRightAttribute(){
         if (!Gate::allows('人事管理-临时工报表')){return null; }
@@ -210,9 +221,8 @@ class LaborReport extends Model
     {
 //        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->where('status','未审核')->orderBy('id','desc')->first();
 //        if (empty($laborReportStatus))return null;
-        $laborReportStatus=$this->laborReportStatus()->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 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()
@@ -227,11 +237,10 @@ 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;
-        $laborReportStatus=$this->laborReportStatus()->where('status','已退场')->orderBy('id','desc')->first();
-        if (empty($laborReportStatus))return null;
-        return Carbon::parse($laborReportStatus['created_at'])->format('Y-m-d H:i:s');
+        //$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;
     }
 
     //创建或获取进场编号
@@ -245,8 +254,9 @@ class LaborReport extends Model
     }
 
     public function getIsExportAttribute(){
-        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->orderBy('id','desc')->first();
-        return $laborReportStatus['status']=='已退场'?true:false;
+//        $laborReportStatus=LaborReportStatus::where('labor_report_id',$this['id'])->orderBy('id','desc')->first();
+//        return $laborReportStatus['status']=='已退场'?true:false;
+        return $this['已退场']?true:false;
     }
     //出场更新临时工报表信息
     static function exitAndChangeLaborReport($laborReport,$userDutyCheck){

+ 1 - 1
app/LaborReportStatus.php

@@ -12,6 +12,6 @@ class LaborReportStatus extends Model
         'id','status','labor_report_id','created_at',
     ];
 //    public function laborReport(){
-//        return $this->hasMany('App\LaborReport','id','labor_report_id');
+//        return $this->hasOne('App\LaborReport','id','labor_report_id');
 //    }
 }

+ 10 - 15
app/Services/LaborReportService.php

@@ -27,20 +27,15 @@ class LaborReportService
 {
     private function conditionQuery(array $params){
         $user=Auth::user();
-        $laborReports=LaborReport::query()->with(['user','userDutyCheck','userWorkgroup','laborCompany'])->orderBy('labor_reports.id','DESC');
+        $laborReports=LaborReport::query()
+            ->with(['user','userDutyCheck','userWorkgroup','laborCompany','laborReportStatus','已退场','未审核','remarks'])->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')
                     ->leftJoin('labor_report_statuses','labor_reports.id','labor_report_statuses.labor_report_id')
                     ->where('labor_report_statuses.status','已退场');
-//                if (!($params['created_at_start'] ?? false) ||!($params['created_at_end'] ?? false)){
-//                    $builder->where('labor_report_statuses.created_at','like',date('Y-m-d').'%');
-//                }
             });
         }else unset($params['is_export']);
-//        if (!($params['created_at_start'] ?? false) ||!($params['created_at_end'] ?? false)){
-//            $laborReports->where('labor_reports.created_at','like',date('Y-m-d').'%');
-//        }
         $columnQueryRules=[
             'enter_number' => ['timeLimit' => 15],
             'created_at_start' => ['alias' => 'created_at' , 'startDate' => ' 00:00:00'],
@@ -106,10 +101,10 @@ class LaborReportService
             //退场时间跨天情况
             $yesterdayDate=Carbon::now()->subDays(1)->format('Y-m-d');
             $laborReportYesterday=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$yesterdayDate.'%')->orderBy('id','desc')->first();
-            if (!$laborReportYesterday->group_user_id&&!$laborReportYesterday->verify){
-                LaborReport::query()->where('user_id',$userDutyCheck->user_id)->whereNull('group_user_id')->whereNull('verify_at')->orderBy('id','desc')->delete();
-                $laborReportYesterday=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$yesterdayDate.'%')->orderBy('id','desc')->first();
-            }
+//            if (!$laborReportYesterday->group_user_id&&!$laborReportYesterday->verify_at){
+//                LaborReport::query()->where('user_id',$userDutyCheck->user_id)->whereNull('group_user_id')->whereNull('verify_at')->orderBy('id','desc')->delete();
+//                $laborReportYesterday=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$yesterdayDate.'%')->orderBy('id','desc')->first();
+//            }
 //            if (!$laborReportYesterday->check_out_at&&$laborReportYesterday['user_workgroup_id']){
 //                UserDutyCheck::where('user_id',$laborReportYesterday->user_id)->where('type','登出')->where('checked_at','like',Carbon::now()->format('Y-m-d H:i').'%')->orderBy('id','desc')->delete();
 //                return "<h1 style='color: darkred;text-align:center'>您还未退组,暂不可退场,请联系组长!</h1>";
@@ -119,10 +114,10 @@ class LaborReportService
                 if ($exportReport) event(new ExportEvent($exportReport));
         }
         if($laborReport&&$importAndExportQRCodeType=='export'){
-            if (!$laborReport->group_user_id&&!$laborReport->verify){
-                LaborReport::where('user_id',$userDutyCheck->user_id)->whereNull('group_user_id')->whereNull('verify_at')->orderBy('id','desc')->delete();
-                $laborReport=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$dateNow.'%')->orderBy('id','desc')->first();
-            }
+//            if (!$laborReport->group_user_id&&!$laborReport->verify_at){
+//                LaborReport::where('user_id',$userDutyCheck->user_id)->whereNull('group_user_id')->whereNull('verify_at')->orderBy('id','desc')->delete();
+//                $laborReport=LaborReport::where('user_id',$userDutyCheck->user_id)->where('created_at','like',$dateNow.'%')->orderBy('id','desc')->first();
+//            }
 //            if (!$laborReport['check_out_at']&&$laborReport['user_workgroup_id']){
 //                UserDutyCheck::where('user_id',$laborReport->user_id)->where('type','登出')->where('checked_at','like',Carbon::now()->format('Y-m-d H:i').'%')->orderBy('id','desc')->delete();
 //                return "<h1 style='color: darkred;text-align:center'>您还未退组,暂不可退场,请联系组长!</h1>";

+ 1 - 0
config/users.php

@@ -6,4 +6,5 @@ return [
     'superAdmin' => ['ldaaww','baoshi56','周亚萍','shiyao','zhouzhendong','胡浩','zengjun','阿珺','huhao','yang'],
     'token_expire_minutes'=>7200,
     'token_check_in_expire_minutes'=>432000, //打卡过期时间,单位为秒
+    'cookie_expire_minutes'=>7200,//cookie过期时间,单位分钟
 ];

+ 33 - 0
database/migrations/2020_11_18_092138_change_inventory_accounts_status_default.php

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\DB;
+use Illuminate\Support\Facades\Schema;
+
+class ChangeInventoryAccountsStatusDefault extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        DB::statement("ALTER TABLE inventory_accounts MODIFY COLUMN status enum ('待盘点','盘点中','复盘中','已完成','已审核') default '待盘点'");
+        Schema::table('inventory_accounts', function (Blueprint $table) {
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        DB::statement("ALTER TABLE inventory_accounts MODIFY COLUMN status enum ('待盘点','盘点中','复盘中','已完成','已审核') default null");
+        Schema::table('inventory_accounts', function (Blueprint $table) {
+        });
+    }
+}

+ 0 - 1
resources/views/personnel/laborReport/index.blade.php

@@ -303,7 +303,6 @@
                             sequence:'{{$laborReport->sequence}}',amountOfJoined:'{{$laborReport->amountOfJoined}}',remark:'{{$laborReport->remark}}',
                             @if($laborReport->userDutyCheck)user_duty_check_id:'{{$laborReport->userDutyCheck->id}}', userDutyCheckVerifyUserId:'{{$laborReport->userDutyCheck->verify_user_id}}'
                             ,userDutyCheckType:'{{$laborReport->userDutyCheck->type}}',userDutyCheckAt:'{{$laborReport->userDutyCheck->checked_at}}',@endif},
-
                         @endforeach
                     ],
                     i:0,

+ 3 - 0
resources/views/personnel/laborReport/recycle.blade.php

@@ -65,6 +65,8 @@
                     <td><span v-if="laborReport.remark">@{{laborReport.remark}}</span></td>
                 </tr>
             </table>
+            <div class="text-info h5 btn btn">{{$laborReports->count()}}/@{{ sum }}</div>
+            <div>{{$laborReports->appends($paginateParams)->links()}}</div>
         </div>
     </div>
 
@@ -101,6 +103,7 @@
                 ],
                 paginate:50,
                 checkData:[],
+                sum:{!! $laborReports->total() !!},
             },
             mounted(){
                 $("#page").removeClass('d-none');