!11854 添加功能

Merge pull request !11854 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2026-06-02 11:15:03 +00:00
committed by Gitee
+23 -9
View File
@@ -91,8 +91,19 @@ class HrContract(models.Model):
)
change_ids = fields.One2many('hr.contract.change.line', 'contract_id', string="异动信息")
@api.constrains('party_id')
def _constrains_party_company(self):
@api.onchange('party_id')
def _onchange_party_company(self):
"""UI 交互:切换甲方时自动带出对应公司"""
if self.party_id and self.party_id.work_address:
company = self.env['res.company'].search(
[('name', 'ilike', self.party_id.work_address)],
limit=1
)
if company:
self.company_id = company
def _sync_party_company(self):
"""根据 party_id 同步合同、员工、用户的公司信息"""
for rec in self:
company = False
if rec.party_id and rec.party_id.work_address:
@@ -100,14 +111,16 @@ class HrContract(models.Model):
[('name', 'ilike', rec.party_id.work_address)],
limit=1
)
if not company:
continue
rec.company_id = company
rec.employee_id.company_id = company
if rec.employee_id and rec.employee_id.user_id and company:
user = rec.employee_id.user_id
user.write({
'company_id': company.id,
'company_ids': [(4, company.id)]
})
if rec.employee_id:
rec.employee_id.company_id = company
if rec.employee_id.user_id:
rec.employee_id.user_id.write({
'company_id': company.id,
'company_ids': [(4, company.id)]
})
@api.constrains('change_ids')
def _onchange_change_ids(self):
@@ -442,6 +455,7 @@ class HrContract(models.Model):
'is_accum_salary': True,
'is_membership': True,
})
contracts._sync_party_company()
return contracts