34 lines
1.6 KiB
Python
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 |