Merge pull request !3315 from 李鹏宇/dev
This commit is contained in:
李鹏宇
2025-06-14 07:36:40 +00:00
committed by Gitee
4 changed files with 23 additions and 16 deletions
+11 -5
View File
@@ -69,9 +69,9 @@ class InheritHrPayslip(models.Model):
assessment_reserved_amount = fields.Float(string='考核保留量')
last_year_safety = fields.Float(string='上年安全生产工作奖')
last_year_performance_evaluation = fields.Float(string='上年绩效评优')
social_security = fields.Float(string='2024年社保补缴')
social_security = fields.Float(string='上年社保补缴')
performance_up = fields.Float(string='上月多扣绩效补回')
individual_tax_refund = fields.Float(string='2024年个税退回')
individual_tax_refund = fields.Float(string='上年个税退回')
liquidation_year = fields.Float(string='上年年度清算')
safety_incentives = fields.Float(string='安全生产奖')
is_push = fields.Boolean(string='推送')
@@ -108,12 +108,17 @@ class InheritHrPayslip(models.Model):
seniority_allowance = fields.Float(string='工龄补贴')
safety_subsidy = fields.Float(string='安全生产管理补贴')
job_performance = fields.Float(string='岗位绩效')
leave_allowance = fields.Float(string='请假扣款/补发')
leave_allowance = fields.Float(string='请假扣发')
comprehensive_subsidy = fields.Float(string='综合补贴')
excellent_employees = fields.Float(string='优秀部门经理/员工奖励')
duty = fields.Float(string='值班(含节日加班)')
monthly_overtime = fields.Float(string='月加班')
annuity = fields.Float(string='年金')
# 物管临时项
excellent_employees = fields.Float(string='优秀部门经理/员工奖励')
leave_absence = fields.Float(string='考勤补发')
# 粮储常用项
quality_allowance = fields.Float(string='质检员津贴')
environmental_allowance = fields.Float(string='环境作业津贴')
@@ -270,11 +275,12 @@ class InheritHrPayslip(models.Model):
@api.depends('year_compute', 'year_jie', 'year_gong', 'jing_te', 'study_on', 'post_salary',
'seniority_salary','commuting_allowance', 'base_salary' , 'performance_bonuses',
'full_attendance_award', 'overtime_pay', 'based_pay', 'january_performance',
'full_attendance_award', 'overtime_pay', 'based_pay', 'january_performance', 'position_subsidy',
'temporary_performance_bonus', 'performance_deduction', 'commuting_deduction', 'base_salary_deduction', 'last_year_performance_evaluation')
def _compute_total_before_tax(self):
for record in self:
record.total_before_tax = (
record.position_subsidy +
record.last_year_performance_evaluation +
record.temporary_performance_bonus +
record.performance_bonuses +
@@ -81,6 +81,8 @@ class YuthonPayrollCommon(models.Model):
formula_salary = "result = 0"
if ins.name == '优秀部门经理/员工':
formula_salary = "result = 0"
if ins.name == '请假扣发':
formula_salary = "result = 0"
if ins.name == '值班费':
formula_salary = "result = 0"
if ins.name == '上月值班费':
@@ -93,10 +95,8 @@ class YuthonPayrollCommon(models.Model):
formula_salary = "result = 0"
if ins.name == '质检员津贴':
formula_salary = "result = 0"
if ins.name == '工会会费' and ins.company_id.name == '集团本部':
if ins.name == '工会会费' and ins.company_id.name == '集团本部' or ins.company_id.name == '天河物管':
formula_salary = "result = round((payslip.base_salary * 0.005), 2)"
if ins.name == '工会会费' and ins.company_id.name == '天河物管':
formula_salary = "result = 0"
if ins.name == '工会会费' and ins.company_id.name == '天河粮储':
formula_salary = "result = 20 if employee.user_role_id.name in ['总经理', '副总经理'] else \
15 if employee.user_role_id.name in ['部门经理', '部门副经理'] else \
@@ -63,6 +63,7 @@
<field name="last_duty" decoration-success="1" groups="yuthon_salary.group_lc_user" optional="show"/>
<field name="high_subsidy" decoration-success="1" groups="yuthon_salary.group_lc_user" optional="show"/>
<field name="quality_allowance" decoration-success="1" groups="yuthon_salary.group_lc_user" optional="show"/>
<field name="monthly_overtime" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="post_salary" required="1" decoration-success="1" groups="yuthon_salary.group_jtbb_user" optional="show"/>
<field name="seniority_salary" required="1" decoration-success="1" groups="yuthon_salary.group_jtbb_user" optional="show"/>
<field name="commuting_allowance" required="1" decoration-success="1" groups="yuthon_salary.group_jtbb_user" optional="show"/>
@@ -236,23 +237,21 @@
<field name="actual_salary" decoration-danger="1" decoration-bf="1" optional="show" column_invisible="1"/>
<field name="total_before_tax" decoration-danger="1" decoration-bf="1" optional="show"/>
<field name="b_year" decoration-danger="1" decoration-bf="1" optional="show"/>
<field name="tax_payable" decoration-danger="1" decoration-bf="1" readonly="1" optional="show"/>
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show" groups="yuthon_salary.group_jtbb_user, yuthon_salary.group_lc_user"/>
<field name="tax_payable" decoration-danger="1" decoration-bf="1" readonly="1" optional="show"/>
<field name="union_dues" decoration-danger="1" decoration-bf="1" optional="show"/>
<field name="three_one" optional="show"/>
<field name="base_salary" required="1" optional="show"/>
<field name="rank_salary" required="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="position_salary" groups="yuthon_salary.group_lc_user" optional="show" decoration-danger="1"/>
<field name="position_subsidy" groups="yuthon_salary.group_wg_user, yuthon_salary.group_lc_user" optional="show" decoration-danger="1"/>
<field name="position_salary" groups="yuthon_salary.group_lc_user, yuthon_salary.group_wg_user" optional="show" decoration-danger="1"/>
<field name="performance_bonuses" required="1" optional="show" groups="yuthon_salary.group_jtbb_user, yuthon_salary.group_lc_user"/>
<field name="based_pay" required="1" optional="show" groups="yuthon_salary.group_lc_user"/>
<field name="leave_allowance" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="seniority_allowance" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="safety_subsidy" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="position_subsidy" groups="yuthon_salary.group_wg_user, yuthon_salary.group_lc_user" optional="show" decoration-success="1"/>
<field name="comprehensive_subsidy" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="job_performance" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="excellent_employees" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="duty" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="annuity" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="leave_allowance" decoration-success="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="environmental_allowance" decoration-success="1" groups="yuthon_salary.group_lc_user" optional="show"/>
<field name="quality_allowance" decoration-success="1" groups="yuthon_salary.group_lc_user" optional="show"/>
<field name="post_salary" required="1" decoration-success="1" groups="yuthon_salary.group_jtbb_user" optional="show"/>
@@ -285,10 +284,12 @@
<field name="liquidation_year" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="year_compute" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="year_jie" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="leave_absence" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="performance_up" decoration-danger="1" optional="show"/>
<field name="jing_te" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="year_gong" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="study_on" decoration-danger="1" optional="show" groups="yuthon_salary.group_jtbb_user"/>
<field name="excellent_employees" decoration-danger="1" groups="yuthon_salary.group_wg_user" optional="show"/>
<field name="commuting_deduction" decoration-danger="1" optional="show"/>
<field name="performance_deduction" decoration-danger="1" optional="show"/>
<field name="deduction_standard" decoration-danger="1" optional="show"/>
@@ -230,7 +230,7 @@ class SalaryComputeWizard(models.Model):
return f'{month}月{day}日'
def check_employee_dates(self, employee):
"""检查员工入职日期和转正日期的月份是否等于 select_time 的月份"""
"""检查员工为试用期入职日期和转正日期的月份 和退休(花名册)的是否等于 select_time 的月份"""
if not self.select_time:
return False # 未选择月份时返回 False