Browse Source

fix(app): 修复签到记录更新时间和查询逻辑

- 更新签到记录时,使用当前时间戳代替固定日期
- 优化签到记录查询逻辑,增加对未签退记录的判断
- 添加校园 ID 过滤条件,提高查询准确性
master
liutong 10 months ago
parent
commit
6f402e1a94
  1. 21
      niucloud/app/api/controller/apiController/Attendance.php

21
niucloud/app/api/controller/apiController/Attendance.php

@ -132,7 +132,7 @@ class Attendance extends BaseApiService
if($leave_id_arr){ if($leave_id_arr){
$update = \app\model\attendance\Attendance::whereIn('id',$leave_id_arr)->update([ $update = \app\model\attendance\Attendance::whereIn('id',$leave_id_arr)->update([
'leave_end_time'=>$date_h, 'leave_end_time'=>$date_h,
'updated_at'=>$date_h, 'updated_at'=>date('Y-m-d H:i:s'),
]); ]);
if(!$update){ if(!$update){
// Db::rollback(); // Db::rollback();
@ -159,13 +159,28 @@ class Attendance extends BaseApiService
return success($res['data']); return success($res['data']);
}catch (\Exception $e){ }catch (\Exception $e){
Db::rollback(); Db::rollback();
dd(123123,$e->getMessage());
return fail('操作失败'); return fail('操作失败');
} }
} }
//判断是签退 //判断是签退
if($status == 'sign_out'){ if($status == 'sign_out'){
if($info['attendance_date'] != $attendance_date && $info['status'] != 'present'){ if(!empty($id)){
return fail('为找到今日签到记录'); $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('为找到签到记录');
} }
//签退的情况 //签退的情况

Loading…
Cancel
Save