添加功能

This commit is contained in:
李鹏宇
2025-12-05 15:00:35 +08:00
parent dc53448f8e
commit 6f0cc23d85
3 changed files with 20 additions and 5 deletions
@@ -55,10 +55,12 @@ class OvertimeApprovals(models.Model):
def open_record(self):
if self.start_time and self.end_time and self.employee_ids:
start_date = fields.Date.to_date(self.start_time)
end_date = fields.Date.to_date(self.end_time)
# 构建 domain 查询条件
domain = [
('employee_id.user_id', 'in', self.employee_ids.user_id.ids),
('current_data', '=', fields.Datetime.to_datetime(start_date)),
('current_data', '>=', fields.Datetime.to_datetime(start_date)),
('current_data', '<=', fields.Datetime.to_datetime(end_date)),
]
return {
'name': '考勤记录',
@@ -75,9 +77,11 @@ class OvertimeApprovals(models.Model):
attendance = self.env['hr.attendance'].search([
('employee_id.user_id', '=', self.users_id.id),
('current_data', '=', self.start_time.date()),
])
], limit=1)
if attendance:
self.attendance_id = attendance.id
else:
self.attendance_id = False
@api.depends('users_id')
def _compute_is_thwg(self):
@@ -119,7 +123,12 @@ class OvertimeApprovals(models.Model):
else:
rel_end_time = rec.start_time.replace(hour=18, minute=0, second=0, microsecond=0)
end_time = rec.end_time + timedelta(hours=8)
total_seconds = (end_time - rel_end_time).total_seconds()
# 只有工作日18点开始算加班
if rec.type_overtime == 'work':
total_seconds = (end_time - rel_end_time).total_seconds()
else:
total_seconds = (end_time - rec.start_time).total_seconds()
original_hours = total_seconds / 3600
# 加班起步一小时
if original_hours < 1.0:
@@ -97,7 +97,13 @@
<group>
<field name="employee_ids" widget="many2many_tags" options="{'no_create': True}"/>
<field name="department_id" invisible="1"/>
<field name="attendance_id"/>
<field name="attendance_id" invisible="1"/>
<button name="open_record" string="考勤详情" type="object" class="btn btn-primary button_width"/>
</group>
<group/>
</group>
<group col="2">
<group>
<field name="is_thwg" invisible="1"/>
<field name="overtime_hours" readonly="1"/>
<field name="meal" required="1" invisible="is_thwg"/>
@@ -30,7 +30,7 @@ class PropertyAccountsReceivable(models.Model):
return [
{
"收款日期": rec.payout_date.strftime("%Y-%m-%d") if rec.payout_date else "",
"合同编号": rec.contract_id.name or "" if rec.contract_id else "",
"合同编号": rec.contract_id.contract_code or "" if rec.contract_id else "",
"物业名称": rec.property_name or "",
"承租方": rec.lessee_id.name or "" if rec.lessee_id else "",
"收款类型": rec.management_type_id.name or "" if rec.management_type_id else "",