考勤确认单
This commit is contained in:
@@ -114,20 +114,20 @@ class YuthonVacationReports(models.Model):
|
||||
|
||||
@api.model
|
||||
def cleanup_march_2026(self):
|
||||
records = self.search([('display_date', '=', '2026年3月')])
|
||||
reports_ids = self.env['yuthon.vacation.reports'].search([('display_date', '=', '2026年3月')])
|
||||
# 按员工分组
|
||||
employee_groups = {}
|
||||
for report in reports_ids:
|
||||
if report.employee_id.id not in employee_groups:
|
||||
employee_groups[report.employee_id.id] = []
|
||||
employee_groups[report.employee_id.id].append(report.id)
|
||||
|
||||
to_delete = self.env['yuthon.vacation.reports']
|
||||
processed_employees = set()
|
||||
|
||||
for record in records:
|
||||
emp_id = record.employee_id.id
|
||||
if emp_id in processed_employees:
|
||||
to_delete |= record
|
||||
else:
|
||||
processed_employees.add(emp_id)
|
||||
|
||||
to_delete.unlink()
|
||||
return True
|
||||
# 对每个员工,保留第一条,删除其他
|
||||
to_delete = []
|
||||
for employee_id, report_list in employee_groups.items():
|
||||
if len(report_list) > 1:
|
||||
# 保留第一个,删除后面的
|
||||
to_delete.extend(report_list[1:])
|
||||
|
||||
@api.model
|
||||
def leave_line(self):
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
js_class="custom_vacation_put_button" limit="10">
|
||||
<header>
|
||||
<button name="manage_confirmation" type="object" string="批量确认" class="oe_highlight"/>
|
||||
<button name="cleanup_march_2026" type="object" string="批量确认" class="oe_highlight"/>
|
||||
<button name="cleanup_march_2026" type="object" string="删除测试" class="oe_highlight"/>
|
||||
</header>
|
||||
<field name="vacation_state" widget="badge" decoration-info="vacation_state == 'not_sent'"
|
||||
decoration-success="vacation_state == 'confirmed'"/>
|
||||
|
||||
Reference in New Issue
Block a user