加班归档导出

This commit is contained in:
李鹏宇
2026-04-20 10:14:43 +08:00
parent a12dbb9262
commit 61fcbc90d5
3 changed files with 12 additions and 6 deletions
@@ -15,6 +15,7 @@ class OvertimeCarryover(models.Model):
employee_id = fields.Many2one(related='over_line_id.employee_id', string='员工', store=True)
department_id = fields.Many2one(related='over_line_id.department_id', string='部门', store=True)
carry_result = fields.Selection(related='over_line_id.carry_result', string='结转结果', store=True)
carry_forward_state = fields.Selection(related='over_line_id.carry_forward_state', string='结转状态', store=True)
over_line_id1 = fields.Many2one('vacation.over.line', string='加班记录(销假)')
carry_forward_date = fields.Date(string="结转日期")
# carry_forward_date1 = fields.Date(string="动态结转日期")
@@ -26,7 +26,7 @@
<field name="name">overtime.carryover.tree1</field>
<field name="model">overtime.carryover</field>
<field name="arch" type="xml">
<tree string="结转明细" default_order="this_month desc" editable="bottom" create="false" delete="false" js_class="custom_overtime_export_button">
<tree string="结转明细" default_order="this_month desc" editable="bottom" create="false" delete="false">
<field name="over_line_id" column_invisible="1"/>
<field name="over_line_id1" column_invisible="1"/>
<field name="leave_id" column_invisible="1"/>
@@ -39,8 +39,7 @@
<field name="last_month"/>
<field name="carry_forward_quantity" sum = "Total"/>
<field name="this_month" options='{ "fg_color": "blue"}'/>
<field name="carry_result"/>
<field name="carryover_type" column_invisible="1"/>
<field name="carry_forward_state"/>
<field name="text" column_invisible="1"/>
<field name="is_void" column_invisible="1"/>
</tree>
@@ -251,6 +251,12 @@ class ExportDateWizard(models.TransientModel):
else:
prev_year, prev_month = year, month - 1
carry_forward_state_map = {
'pending': '待结转',
'completed': '已结转',
'partial': '部分结转',
}
active_records = self.env['vacation.overtime.active'].search([
('select_year', '=', str(prev_year)),
('select_month', '=', str(prev_month)),
@@ -287,16 +293,16 @@ class ExportDateWizard(models.TransientModel):
'end_time': (over_line.end_time + timedelta(hours=8)).strftime('%Y-%m-%d %H:%M:%S') if over_line and over_line.end_time else '',
'carry_forward_date': carry.carry_forward_date,
'carry_forward_quantity1': carry.carry_forward_quantity,
'carry_result': '成功',
'carry_forward_state': carry_forward_state_map.get(carry.carry_forward_state, carry.carry_forward_state or ''),
})
if not export_data:
raise UserError(f'在 {prev_year} 年 {prev_month} 月没有找到符合条件的加班归档记录')
fields_name = ['employee_id', 'department_id', 'start_time', 'end_time',
'carry_forward_date', 'carry_forward_quantity1', 'carry_result']
'carry_forward_date', 'carry_forward_quantity1', 'carry_forward_state']
field_label = ['姓名', '部门', '加班开始时间', '加班结束时间',
'结转日期', '结转时长', '结转结果']
'结转日期', '结转时长', '结转状态']
data = {
'report_name': '加班归档明细报表',