!12291 添加功能

Merge pull request !12291 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2026-07-02 09:08:39 +00:00
committed by Gitee
3 changed files with 25 additions and 7 deletions
@@ -27,6 +27,27 @@ class HrPayrollStructure(models.Model):
integrated_subsidy = fields.Monetary(string="综合补贴", currency_field="currency_id")
advance_performance_bonuses = fields.Monetary(string="月绩效奖金", currency_field="currency_id")
renk_log_ids = fields.One2many("rank.log.line", "structure_id", string="职级日志明细行")
is_company = fields.Boolean(string="本公司", default=True, compute='_compute_is_company',
search='_search_part_of_company')
@api.depends_context('uid', 'company')
@api.depends('company_id')
def _compute_is_company(self):
active_company_ids = self.env.companies
for employee in self:
employee.is_company = employee.company_id in active_company_ids
def _search_part_of_company(self, operator, value):
company_ids = self.env.companies.ids # 获取公司ID列表
# 处理反向操作符
if not value:
operator = '!=' if operator == '=' else '='
# 使用company_id in company_ids的结构
if operator == '=':
return [('company_id', 'in', company_ids)]
else: # operator == '!='
return [('company_id', 'not in', company_ids)]
@api.depends('create_time', 'end_time')
def _compute_is_enable(self):
@@ -45,11 +45,6 @@
<field name="model_id" ref="model_yuthon_payroll_insurances"/>
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="hr_payroll_structure_rule">
<field name="name">职级多公司</field>
<field name="model_id" ref="model_hr_payroll_structure"/>
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="hr_payroll_labor_rule">
<field name="name">劳务多公司</field>
<field name="model_id" ref="model_yuthon_payroll_labor"/>
@@ -29,6 +29,7 @@
</xpath>
<xpath expr="//field[@name='name']" position="after">
<field name="base_salary"/>
<field name="is_company" column_invisible="1"/>
<field name="rank_salary" groups="yuthon_salary.group_jtbb_user,yuthon_salary.group_lc_user"/>
<field name="position_subsidy" column_invisible="1"/>
<field name="integrated_subsidy" groups="yuthon_salary.group_wg_user"/>
@@ -47,6 +48,7 @@
<field name="arch" type="xml">
<tree string="历史职级">
<field name="name"/>
<field name="is_company" column_invisible="1"/>
<field name="base_salary"/>
<field name="rank_salary" groups="yuthon_salary.group_jtbb_user"/>
<field name="position_subsidy" groups="yuthon_salary.group_lc_user"/>
@@ -132,14 +134,14 @@
<field name="name">职级</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_mode">tree,form,search</field>
<field name="domain">[('is_enable', '=', True)]</field>
<field name="domain">[('is_enable', '=', True), ('is_company', '=', True)]</field>
<field name="view_id" ref="hr_payroll_structure_inherit"/>
</record>
<record id="action_view_hr_payroll_structure_list_form1" model="ir.actions.act_window">
<field name="name">历史职级</field>
<field name="res_model">hr.payroll.structure</field>
<field name="view_mode">tree,form,search</field>
<field name="domain">[('is_enable', '=', False)]</field>
<field name="domain">[('is_enable', '=', False), ('is_company', '=', True)]</field>
<field name="context">{'search_default_group_lv_id': 1}</field>
<field name="view_id" ref="hr_payroll_structure_history_tree"/>
</record>