Files
2026-04-17 19:57:09 +08:00

34 lines
1.6 KiB
Python

# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
from odoo.exceptions import UserError, ValidationError
from datetime import datetime
import re
class YuthonMedicalRule(models.Model):
_name = 'yuthon.medical.rule'
_description = '体检费规则'
base_amount = fields.Float(string='基数金额')
starting_age = fields.Integer(string='起始年龄')
department_id = fields.Many2one("hr.department", string="部门")
party_ids = fields.Many2many('yuthon.party.setting', string='甲方(用人单位)')
extension_years = fields.Selection(selection=[(str(i), str(i)) for i in range(1, 13)], string='延续年限')
increase_interval_years = fields.Integer(string='递增间隔(年)')
increment_amount = fields.Float(string='递增金额')
cap = fields.Float(string='封顶金额')
allowance_unmarried_women = fields.Float(string='未婚女性补助')
allowance_married_women = fields.Float(string='已婚女性补助')
start_date = fields.Date(string='开始时间')
end_date = fields.Date(string='结束时间')
is_enable = fields.Boolean(string="是否启用", default=False, compute='compute_is_enable', store=True)
company_id = fields.Many2one("res.company", string="公司", default=lambda self: self.env.company)
@api.depends('start_date', 'end_date')
def compute_is_enable(self):
for rec in self:
if rec.start_date and rec.end_date:
if rec.start_date <= fields.Date.today() < rec.end_date:
rec.is_enable = True
else:
rec.is_enable = False