添加功能
This commit is contained in:
@@ -17,12 +17,9 @@ class YuthonMedicalManage(models.Model):
|
||||
last_year_quota = fields.Float(string="去年额度")
|
||||
last_year_used = fields.Float(string="去年使用", compute="_compute_last_year_used")
|
||||
last_year_remaining = fields.Float(string="去年剩余")
|
||||
last_year_balance = fields.Float(string="去年结余")
|
||||
prev_last_year_remaining = fields.Float(string="前年剩余")
|
||||
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='婚姻状况')
|
||||
@@ -34,16 +31,16 @@ class YuthonMedicalManage(models.Model):
|
||||
for record in self:
|
||||
record.termination_date = record.employee_id.contract_id.termination_date
|
||||
|
||||
@api.depends('this_year_quota', 'this_year_usage', 'last_year_balance')
|
||||
@api.depends('this_year_quota', 'this_year_usage', 'last_year_remaining')
|
||||
def _compute_current_year_remaining(self):
|
||||
for record in self:
|
||||
record.current_year_remaining = record.this_year_quota + record.last_year_balance - record.this_year_usage
|
||||
record.current_year_remaining = record.this_year_quota + record.last_year_remaining - record.this_year_usage
|
||||
|
||||
def update_remainder_the_year(self):
|
||||
soong_ids = self.env["yuthon.medical.manage"].browse(
|
||||
self._context.get('active_ids', self._context.get('active_id')))
|
||||
for soong_id in soong_ids:
|
||||
soong_id.remainder_the_year = soong_id.this_year_quota + soong_id.last_year_balance - soong_id.this_year_usage
|
||||
soong_id.remainder_the_year = soong_id.this_year_quota + soong_id.last_year_remaining - soong_id.this_year_usage
|
||||
if soong_id.year:
|
||||
soong_id.start_date = f"{soong_id.year}-01-01"
|
||||
|
||||
@@ -161,7 +158,7 @@ class YuthonMedicalManage(models.Model):
|
||||
continue
|
||||
medical_manage_rec.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_manage_rec.remainder_the_year = medical_manage_rec.this_year_quota + medical_manage_rec.last_year_remaining - medical_manage_rec.this_year_usage
|
||||
medical_manage_rec.start_date = current_date
|
||||
|
||||
# 回填上年数据
|
||||
@@ -172,14 +169,12 @@ class YuthonMedicalManage(models.Model):
|
||||
if last_year_rec:
|
||||
medical_manage_rec.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 * 3, last_year_rec.current_year_remaining),
|
||||
'last_year_remaining': 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 * 3, last_year_rec.last_year_remaining),
|
||||
'prev_last_year_remaining': last_year_rec.last_year_remaining,
|
||||
'prev_last_year_remaining': min(last_year_rec.this_year_quota * 2, last_year_rec.current_year_remaining),
|
||||
}
|
||||
medical_manage_rec.write(prev_last_year_vals)
|
||||
|
||||
@@ -192,7 +187,7 @@ class YuthonMedicalManage(models.Model):
|
||||
this_year_quota = self._calculate_medical_quota(employee, current_year)
|
||||
medical_record.write({'this_year_quota': this_year_quota,
|
||||
})
|
||||
medical_record.remainder_the_year = medical_record.this_year_quota + medical_record.last_year_balance - medical_record.this_year_usage
|
||||
medical_record.remainder_the_year = medical_record.this_year_quota + medical_record.last_year_remaining - medical_record.this_year_usage
|
||||
# 回填上年数据
|
||||
last_year_rec = self.env['yuthon.medical.manage'].search([
|
||||
('employee_id', '=', employee.id),
|
||||
@@ -201,13 +196,11 @@ class YuthonMedicalManage(models.Model):
|
||||
if last_year_rec:
|
||||
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 * 3, last_year_rec.current_year_remaining),
|
||||
'last_year_remaining': 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 * 3, last_year_rec.last_year_remaining),
|
||||
'prev_last_year_remaining': last_year_rec.last_year_remaining,
|
||||
'prev_last_year_remaining': min(last_year_rec.last_year_quota * 2, last_year_rec.last_year_remaining),
|
||||
}
|
||||
medical_record.write(prev_last_year_vals)
|
||||
|
||||
@@ -251,13 +244,13 @@ class YuthonMedicalManage(models.Model):
|
||||
last_year_quota = self._calculate_medical_quota(rec.employee_id, last_year)
|
||||
this_year_quota = self._calculate_medical_quota(rec.employee_id, current_year)
|
||||
prev_last_year_quota = self._calculate_medical_quota(rec.employee_id, prev_last_year)
|
||||
prev_last_year_balance = min(prev_last_year_quota * 2, rec.prev_last_year_remaining)
|
||||
last_year_balance = min(last_year_quota * 2, rec.last_year_remaining)
|
||||
prev_last_year_remaining = min(prev_last_year_quota * 2, rec.prev_last_year_remaining)
|
||||
last_year_remaining = min(last_year_quota * 2, rec.last_year_remaining)
|
||||
rec.write({
|
||||
'this_year_quota': this_year_quota,
|
||||
'last_year_quota': last_year_quota,
|
||||
'prev_last_year_balance': prev_last_year_balance,
|
||||
'last_year_balance': last_year_balance,
|
||||
'prev_last_year_remaining': prev_last_year_remaining,
|
||||
'last_year_remaining': last_year_remaining,
|
||||
})
|
||||
|
||||
class YuthonMedicalLine(models.Model):
|
||||
|
||||
@@ -16,11 +16,9 @@
|
||||
<!-- <field name="company_id" required="1" optional="show"/>-->
|
||||
<field name="current_year_remaining" options='{ "fg_color": "blue"}'/>
|
||||
<field name="this_year_quota"/>
|
||||
<field name="last_year_balance" column_invisible="1"/>
|
||||
<field name="this_year_usage" options='{ "fg_color": "red"}'/>
|
||||
<field name="last_year_remaining" options='{ "fg_color": "blue"}'/>
|
||||
<field name="last_year_quota"/>
|
||||
<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="birthday"/>
|
||||
|
||||
Reference in New Issue
Block a user