diff --git a/yuthon_hr_attendance/controllers/applet_attendance.py b/yuthon_hr_attendance/controllers/applet_attendance.py index f35f50f4f..85952465a 100644 --- a/yuthon_hr_attendance/controllers/applet_attendance.py +++ b/yuthon_hr_attendance/controllers/applet_attendance.py @@ -122,11 +122,17 @@ class AppletAttendance(Controller): message = "超出范围或wifi未连接,不允许打卡" address_ids = request.env(user=SUPERUSER_ID)["applet.address"].search( [('address_name', '=', employee_id.company_id.name)]) - self_address = self.get_address_from_coords(kw['att_latitude'], kw['att_longitude']) + if kw['att_latitude'] != kw['att_longitude']: + self_address = self.get_address_from_coords(kw['att_latitude'], kw['att_longitude']) + else: + self_address = {'formatted_address': 'formatted_address'} wifi_name_list = [] + for wifi_mac in address_ids: + for mac in wifi_mac.wifi_name_ids: + wifi_name_list = wifi_name_list.append(mac.mac) for address_id in address_ids: # 这里获取 bssid , wifi mac地址. - wifi_name_list = address_id.wifi_name_ids.mapped('mac') + # wifi_name_list = address_id.wifi_name_ids.mapped('mac') card_rice = address_id.card_rice * 0.001 # 打卡范围 if self.is_within_radius_geopy(kw['att_latitude'], kw['att_longitude'], address_id.latitude, address_id.longitude, card_rice) or kw['wifi_name'] in wifi_name_list: @@ -137,7 +143,7 @@ class AppletAttendance(Controller): message = '可以打卡' state = 'yes' break - _logger.info(f"\n人员: {employee_id.name} \n当前所在地址: {self_address['formatted_address']} \n是否可以打卡: {state}\n {wifi_name_list}\n wifi:{kw['wifi_name']}_________") + _logger.info(f"\n人员: {employee_id.name} {employee_id.company_id.name} \n当前所在地址: {self_address['formatted_address']} \n是否可以打卡: {state}\n {wifi_name_list}\n wifi:{kw['wifi_name']}_________") if self.is_workday(current_date): attendance_id_class = f"{attendance_id.shift_name} {start_time_str}-{end_time_str}" else: