diff --git a/soong_workflow/views/soong_workflow_record.xml b/soong_workflow/views/soong_workflow_record.xml index c93a02a7a..35bce5a08 100644 --- a/soong_workflow/views/soong_workflow_record.xml +++ b/soong_workflow/views/soong_workflow_record.xml @@ -177,7 +177,7 @@ ir.actions.act_window soong.workflow.record tree,kanban,search - [('reclaim_state', '=', False), '|', ('approvals_group_id.name', '=', '人力资源'), ('approvals_group_id.name', '=', '考勤')] + [('reclaim_state', '=', False), '|', ('approvals_group_id.name', '=', '人力资源'), ('approvals_group_id.name', '=', '考勤'), ('approve_state', '!=', 'start')] diff --git a/yuthon_hr_attendance/models/go_approval.py b/yuthon_hr_attendance/models/go_approval.py index 996a99ac5..ced35bd09 100644 --- a/yuthon_hr_attendance/models/go_approval.py +++ b/yuthon_hr_attendance/models/go_approval.py @@ -82,15 +82,42 @@ class GoApprovals(models.Model): 'approval_date': fields.Datetime.now(), }) - @api.depends('users_id', 'days', 'hours') + @api.depends('users_id', 'days', 'hours', 'statr_date', 'end_date', 'date_start', 'date_end', 'is_day', 'is_half', + 'is_hour') def _compute_name(self): for rec in self: - if rec.is_hour == True: - rec.name = f"{rec.users_id.name}外出{rec.hours}小时" - elif rec.is_day == True: - rec.name = f"{rec.users_id.name}外出{rec.days}天" + base_name = f"{rec.users_id.name}外出" + date_info = "" + if rec.is_hour: + # 按小时 + if rec.date_start and rec.date_end: + start_date = fields.Date.from_string(rec.date_start) + end_date = fields.Date.from_string(rec.date_end) + start_str = start_date.strftime('%Y-%m-%d') + end_str = end_date.strftime('%Y-%m-%d') + if start_date == end_date: + date_info = f"{start_str}共:{rec.hours}小时" + else: + date_info = f"{start_str}至{end_str}共:{rec.hours}小时" + + elif rec.is_day or rec.is_half: + # 按天或半天 + if rec.statr_date and rec.end_date: + start_str = rec.statr_date.strftime('%Y-%m-%d') + end_str = rec.end_date.strftime('%Y-%m-%d') + if rec.statr_date == rec.end_date: + date_part = start_str + else: + date_part = f"{start_str}至{end_str}" + if rec.is_day: + date_info = f"{date_part}共:{rec.days}天" + else: + date_info = f"{date_part}共:{rec.days}天" + + if date_info: + rec.name = f"{base_name}{date_info}" else: - rec.name = f"{rec.users_id.name}外出" + rec.name = base_name @api.onchange('statr_date', 'end_date') def _onchange_days(self): diff --git a/yuthon_hr_attendance/models/yuthon_vacation_reports.py b/yuthon_hr_attendance/models/yuthon_vacation_reports.py index 84b1a1348..96a14b5e8 100644 --- a/yuthon_hr_attendance/models/yuthon_vacation_reports.py +++ b/yuthon_hr_attendance/models/yuthon_vacation_reports.py @@ -22,7 +22,7 @@ class YuthonVacationReports(models.Model): meal_fee_ids = fields.One2many('vacation.meal.line', 'vacation_id', string='误餐明细') medical_fee_ids = fields.One2many('vacation.medical.line', 'vacation_id', string='体检费明细') other_fee_ids = fields.One2many('vacation.other.line', 'vacation_id', string='其他明细') - vacation_date = fields.Date(string='日期', default=lambda self: fields.Date.today()) + vacation_date = fields.Date(string='日期', default=lambda self: fields.Date.today().replace(day=1)) display_date = fields.Char(string='日期', compute='_compute_display_date') done_leave = fields.Float(string='年假', compute='_compute_leave', store=True, digits=(16, 3), group_operator=None) done_working_overtime = fields.Float(string='加班时', compute='_compute_working_overtime', digits=(16, 3), @@ -172,8 +172,8 @@ class YuthonVacationReports(models.Model): rec._compute_attendance_fields1() def update_data(self): - august_start = fields.Date.from_string('2025-08-01') - august_end = fields.Date.from_string('2025-08-31') + august_start = fields.Date.from_string('2025-09-01') + august_end = fields.Date.from_string('2025-9-31') august_records = self.env["yuthon.vacation.reports"].search([ ('vacation_date', '>=', august_start), ('vacation_date', '<=', august_end) diff --git a/yuthon_hr_attendance/views/hr_attendance_views.xml b/yuthon_hr_attendance/views/hr_attendance_views.xml index 1f29ada92..ae8b1f223 100644 --- a/yuthon_hr_attendance/views/hr_attendance_views.xml +++ b/yuthon_hr_attendance/views/hr_attendance_views.xml @@ -13,6 +13,12 @@