From 6f402e1a94eefdecde1c22b35896f76b1d741ba3 Mon Sep 17 00:00:00 2001 From: liutong <836164388@qq.com> Date: Thu, 12 Jun 2025 17:16:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(app):=20=E4=BF=AE=E5=A4=8D=E7=AD=BE?= =?UTF-8?q?=E5=88=B0=E8=AE=B0=E5=BD=95=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=92=8C=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新签到记录时,使用当前时间戳代替固定日期 - 优化签到记录查询逻辑,增加对未签退记录的判断 - 添加校园 ID 过滤条件,提高查询准确性 --- .../controller/apiController/Attendance.php | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/niucloud/app/api/controller/apiController/Attendance.php b/niucloud/app/api/controller/apiController/Attendance.php index 0d4c999c..c5824fa2 100644 --- a/niucloud/app/api/controller/apiController/Attendance.php +++ b/niucloud/app/api/controller/apiController/Attendance.php @@ -132,7 +132,7 @@ class Attendance extends BaseApiService if($leave_id_arr){ $update = \app\model\attendance\Attendance::whereIn('id',$leave_id_arr)->update([ 'leave_end_time'=>$date_h, - 'updated_at'=>$date_h, + 'updated_at'=>date('Y-m-d H:i:s'), ]); if(!$update){ // Db::rollback(); @@ -159,13 +159,28 @@ class Attendance extends BaseApiService return success($res['data']); }catch (\Exception $e){ Db::rollback(); + dd(123123,$e->getMessage()); return fail('操作失败'); } } //判断是签退 if($status == 'sign_out'){ - if($info['attendance_date'] != $attendance_date && $info['status'] != 'present'){ - return fail('为找到今日签到记录'); + if(!empty($id)){ + $info = \app\model\attendance\Attendance::where('id',$id)->find(); + }else{ + $info = \app\model\attendance\Attendance::where('attendance_date',$attendance_date) + ->where('check_out_time',null) + ->where('status','present') + ->where('staff_id',$staff_id); + if($campus_id){ + $info = $info->where('campus_id',$campus_id); + } + $info = $info->find(); + } + + + if(!$info){ + return fail('为找到签到记录'); } //签退的情况