添加功能

This commit is contained in:
李鹏宇
2026-04-20 11:31:35 +08:00
parent dbbbe96f9f
commit 8ea13d327e
2 changed files with 6 additions and 24 deletions
@@ -22,7 +22,6 @@ class YuthonMedicalManage(models.Model):
prev_last_year_balance = fields.Float(string="前年结余")
this_year_usage = fields.Float(string='本年使用', compute="_compute_this_year_usage")
this_year_quota = fields.Float(string='本年额度')
identification_id = fields.Char(related='employee_id.identification_id', string="身份证")
birthday = fields.Date(related='employee_id.birthday', string="出生年月")
marital_status = fields.Selection([('married', '已婚'), ('unmarried', '未婚')],
related='employee_id.marital', string='婚姻状况')
@@ -189,43 +188,27 @@ class YuthonMedicalManage(models.Model):
current_year = str(medical_record.year)
last_year = str(int(current_year) - 1)
for employee in medical_record.employee_id:
medical_manage_rec = self.env['yuthon.medical.manage'].search([
('employee_id', '=', employee.id),
('year', '=', current_year)
], limit=1)
if not medical_manage_rec:
medical_manage_rec = self.env['yuthon.medical.manage'].create({
'employee_id': employee.id,
'year': current_year,
'this_year_usage': 0.0,
})
else:
continue
this_year_quota = self._calculate_medical_quota(employee, current_year)
if not this_year_quota:
medical_manage_rec.unlink()
continue
medical_manage_rec.write({'this_year_quota': this_year_quota,
medical_record.write({'this_year_quota': this_year_quota,
})
medical_manage_rec.remainder_the_year = medical_manage_rec.this_year_quota + medical_manage_rec.last_year_balance - medical_manage_rec.this_year_usage
medical_record.remainder_the_year = medical_record.this_year_quota + medical_record.last_year_balance - medical_record.this_year_usage
# 回填上年数据
last_year_rec = self.env['yuthon.medical.manage'].search([
('employee_id', '=', employee.id),
('year', '=', last_year)
], limit=1)
if last_year_rec:
medical_manage_rec.write({
medical_record.write({
'last_year_quota': last_year_rec.this_year_quota,
'last_year_remaining': last_year_rec.current_year_remaining,
'last_year_balance': min(last_year_rec.this_year_quota * 2, last_year_rec.current_year_remaining),
})
# 回填前年数据
prev_last_year_vals = {
'prev_last_year_balance': min(last_year_rec.last_year_quota * 2, last_year_rec.last_year_remaining),
'prev_last_year_remaining': last_year_rec.last_year_remaining,
}
medical_manage_rec.write(prev_last_year_vals)
medical_record.write(prev_last_year_vals)
@@ -8,11 +8,10 @@
<header>
<button name="property_reimbursement_form" string="提交体检费报销审批" type="object"
class="oe_highlight"/>
<button name="medical_manage" string="重新计算" type="object"
<button name="compute_medical_manage" string="重新计算" type="object"
class="oe_highlight"/>
</header>
<field name="employee_id" options="{'no_create': True}"/>
<field name="entry_date"/>
<field name="year" column_invisible="1"/>
<!-- <field name="company_id" required="1" optional="show"/>-->
<field name="current_year_remaining" options='{ "fg_color": "blue"}'/>
@@ -24,9 +23,9 @@
<field name="prev_last_year_balance" column_invisible="1"/>
<field name="last_year_used" options='{ "fg_color": "red"}'/>
<field name="prev_last_year_remaining" options='{ "fg_color": "blue"}'/>
<field name="identification_id"/>
<field name="birthday"/>
<field name="marital_status"/>
<field name="entry_date"/>
<field name="termination_date"/>
<button name="button_details" string="查看详情" type="object" class="btn btn-blue"/>
</tree>