添加功能
This commit is contained in:
@@ -37,7 +37,41 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="soong_workflow_record_kanban" model="ir.ui.view">
|
||||
<field name="name">soong.workflow.record.kanban</field>
|
||||
<field name="model">soong.workflow.record</field>
|
||||
<field name="arch" type="xml">
|
||||
<kanban class="kk_kanban_row">
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_card oe_kanban_global_click">
|
||||
<div class="oe_kanban_details">
|
||||
<div class="o_kanban_record_top mb-0">
|
||||
<div class="o_kanban_record_headings">
|
||||
<strong class="o_kanban_record_title">
|
||||
<field name="name"/>
|
||||
</strong>
|
||||
<div>
|
||||
<span>发起人:</span>
|
||||
<field name="done_by"/>
|
||||
</div>
|
||||
<div>
|
||||
<span>流水号:</span>
|
||||
<field name="code"/>
|
||||
</div>
|
||||
<div>
|
||||
<span>最后更新日期:</span>
|
||||
<field name="write_date"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</templates>
|
||||
</kanban>
|
||||
</field>
|
||||
</record>
|
||||
<record id="soong_workflow_record_tree_restore" model="ir.ui.view">
|
||||
<field name="name">soong.workflow.record.tree.restore</field>
|
||||
<field name="model">soong.workflow.record</field>
|
||||
@@ -64,7 +98,7 @@
|
||||
<field name="name">工作流记录</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">soong.workflow.record</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,kanban</field>
|
||||
<field name="domain">[('users_ids', 'in', [uid]), ('reclaim_state', '=', False)]</field>
|
||||
<field name="search_view_id" ref="soong_workflow_record_search"/>
|
||||
</record>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
'views/inherit_hr_salary_rule_views.xml',
|
||||
'views/inherit_hr_payslip_views.xml',
|
||||
'views/inherit_hr_payroll_structure_type_views.xml',
|
||||
'views/yuthon_payroll_project_views.xml',
|
||||
'views/yuthon_payroll_type_setting_views.xml',
|
||||
'wizard/yuthon_salary_wizard_views.xml',
|
||||
],
|
||||
|
||||
@@ -2,4 +2,5 @@ from . import inherit_hr_payroll_structure
|
||||
from . import inherit_hr_salary_rule
|
||||
from . import inherit_hr_payroll_structure_type
|
||||
from . import inherit_hr_payslip
|
||||
from . import yuthon_payroll_type_setting
|
||||
from . import yuthon_payroll_type_setting
|
||||
from . import yuthon_payroll_project
|
||||
@@ -24,50 +24,6 @@ class HrPayrollStructure(models.Model):
|
||||
seniority_salary = fields.Monetary(string="工龄工资", currency_field="currency_id")
|
||||
overtime_pay = fields.Monetary(string="加班费", currency_field="currency_id")
|
||||
full_attendance_bonus = fields.Monetary(string="全勤奖", currency_field="currency_id")
|
||||
attendance_deduction = fields.Monetary(string="考勤扣款合计", currency_field="currency_id")
|
||||
assessment_reserve = fields.Monetary(string="考核保留量", currency_field="currency_id")
|
||||
temporary_performance_salary = fields.Monetary(string="临时绩效工资", currency_field="currency_id")
|
||||
post_allowance_bonus = fields.Monetary(string="顶岗奖励", currency_field="currency_id")
|
||||
excellence_performance_bonus = fields.Monetary(string="评优绩效奖金", currency_field="currency_id")
|
||||
performance_bonus_recovery = fields.Monetary(string="绩效奖金扣回", currency_field="currency_id")
|
||||
seniority_award = fields.Monetary(string="年功奖", currency_field="currency_id")
|
||||
special_management_bonus = fields.Monetary(string="经营特别奖", currency_field="currency_id")
|
||||
annual_leave_settlement = fields.Monetary(string="年假结算", currency_field="currency_id")
|
||||
assessment_reserve_payment = fields.Monetary(string="考核保留量发放", currency_field="currency_id")
|
||||
learning_progress_award = fields.Monetary(string="学习进步奖", currency_field="currency_id")
|
||||
performance_assessment_excellence_bonus = fields.Monetary(string="绩效考核评优奖金", currency_field="currency_id")
|
||||
prepaid_performance_bonus_recovery = fields.Monetary(string="预发绩效奖金扣回", currency_field="currency_id")
|
||||
temporary_performance_wages = fields.Monetary(string="临时绩效工资", currency_field="currency_id")
|
||||
year_end_double_salary = fields.Monetary(string="年终双薪", currency_field="currency_id")
|
||||
excellence_award_bonus = fields.Monetary(string="评优绩效奖金", currency_field="currency_id")
|
||||
excellence_bonus = fields.Monetary(string="评优奖金", currency_field="currency_id")
|
||||
learning_progress_bonus = fields.Monetary(string="学习进步奖", currency_field="currency_id")
|
||||
social_security_overdeduction_refund = fields.Monetary(string="多扣社保退回", currency_field="currency_id")
|
||||
performance_bonus_deduction = fields.Monetary(string="绩效奖金扣回", currency_field="currency_id")
|
||||
communication_subsidy_deduction = fields.Monetary(string="通讯补贴扣回", currency_field="currency_id")
|
||||
seniority_award_bonus = fields.Monetary(string="年功奖", currency_field="currency_id")
|
||||
total_budget_salary = fields.Monetary(string="(预算口径)应发工资合计", currency_field="currency_id")
|
||||
pre_tax_salary = fields.Monetary(string="税前工资合计", currency_field="currency_id")
|
||||
year_end_bonus = fields.Monetary(string="年终奖金", currency_field="currency_id")
|
||||
basic_pension = fields.Monetary(string="基本养老", currency_field="currency_id")
|
||||
basic_medical = fields.Monetary(string="基本医疗", currency_field="currency_id")
|
||||
unemployment = fields.Monetary(string="失业", currency_field="currency_id")
|
||||
housing_fund = fields.Monetary(string="公积金", currency_field="currency_id")
|
||||
personal_contributions_total = fields.Monetary(string="个人缴纳合计", currency_field="currency_id")
|
||||
child_education = fields.Monetary(string="子女教育", currency_field="currency_id")
|
||||
elderly_support = fields.Monetary(string="赡养老人", currency_field="currency_id")
|
||||
housing_loan = fields.Monetary(string="住房贷款", currency_field="currency_id")
|
||||
housing_rent = fields.Monetary(string="住房租金", currency_field="currency_id")
|
||||
continuing_education = fields.Monetary(string="继续教育", currency_field="currency_id")
|
||||
infant_care = fields.Monetary(string="3岁以下婴幼儿照护", currency_field="currency_id")
|
||||
special_deductions_total = fields.Monetary(string="专项附加扣除小计", currency_field="currency_id")
|
||||
corporate_annuity = fields.Monetary(string="企业年金", currency_field="currency_id")
|
||||
payable_salary = fields.Monetary(string="应发工资", currency_field="currency_id")
|
||||
social_security_funds = fields.Monetary(string="三险一金", currency_field="currency_id")
|
||||
annuity = fields.Monetary(string="年金", currency_field="currency_id")
|
||||
tax_adjustment = fields.Monetary(string="应补(退)税额", currency_field="currency_id")
|
||||
union_fees = fields.Monetary(string="工会会费", currency_field="currency_id")
|
||||
actual_salary = fields.Monetary(string="实发工资", currency_field="currency_id")
|
||||
|
||||
@api.model
|
||||
def read_group(self, domain, fields, groupby, offset=0, limit=None, orderby=False, lazy=True):
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
from odoo import api, fields, models, _
|
||||
|
||||
|
||||
class YuthonPayrollCommon(models.Model):
|
||||
_name = 'yuthon.payroll.common'
|
||||
_description = '薪资常用项'
|
||||
|
||||
name = fields.Char(string='工资项名称')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储')],
|
||||
string='所属公司')
|
||||
department_id = fields.Many2one('hr.department', string="部门")
|
||||
conditional_formulas = fields.Char(string='条件公式') # todo 可能是个many2one
|
||||
start_date = fields.Date(string="生效日期", default=fields.Date.today())
|
||||
end_date = fields.Date(string="失效日期")
|
||||
|
||||
|
||||
class YuthonPayrollTemporary(models.Model):
|
||||
_name = 'yuthon.payroll.temporary'
|
||||
_description = '薪资临时项'
|
||||
|
||||
name = fields.Char(string='工资项名称')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储')],
|
||||
string='所属公司')
|
||||
department_id = fields.Many2one('hr.department', string="部门")
|
||||
start_date = fields.Date(string="生效日期", default=fields.Date.today())
|
||||
end_date = fields.Date(string="失效日期")
|
||||
|
||||
|
||||
class YuthonPayrollInsurances (models.Model):
|
||||
_name = 'yuthon.payroll.insurances'
|
||||
_description = '五险一金'
|
||||
|
||||
name = fields.Char(string='工资项名称')
|
||||
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储')],
|
||||
string='所属公司')
|
||||
department_id = fields.Many2one('hr.department', string="部门")
|
||||
start_date = fields.Date(string="生效日期", default=fields.Date.today())
|
||||
end_date = fields.Date(string="失效日期")
|
||||
@@ -1,3 +1,6 @@
|
||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||
access_yuthon_salary_wizard,access_yuthon_salary_wizard,model_yuthon_salary_wizard,base.group_user,1,1,1,1
|
||||
access_yuthon_payroll_type_setting,access_yuthon_payroll_type_setting,model_yuthon_payroll_type_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_payroll_type_setting,access_yuthon_payroll_type_setting,model_yuthon_payroll_type_setting,base.group_user,1,1,1,1
|
||||
access_yuthon_payroll_common,access_yuthon_payroll_common,model_yuthon_payroll_common,base.group_user,1,1,1,1
|
||||
access_yuthon_payroll_temporary,access_yuthon_payroll_temporary,model_yuthon_payroll_temporary,base.group_user,1,1,1,1
|
||||
access_yuthon_payroll_insurances,access_yuthon_payroll_insurances,model_yuthon_payroll_insurances,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<xpath expr="//field[@name='name']" position="before">
|
||||
<field name="sequence"/>
|
||||
<field name="type_id"/>
|
||||
<field name="level_id"/>
|
||||
<field name="level_id" column_invisible="1"/>
|
||||
<field name="lv_name" column_invisible="1"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
@@ -28,50 +28,6 @@
|
||||
<field name="seniority_salary"/>
|
||||
<field name="overtime_pay"/>
|
||||
<field name="full_attendance_bonus"/>
|
||||
<field name="attendance_deduction"/>
|
||||
<field name="assessment_reserve"/>
|
||||
<field name="temporary_performance_salary"/>
|
||||
<field name="post_allowance_bonus"/>
|
||||
<field name="excellence_performance_bonus"/>
|
||||
<field name="performance_bonus_recovery"/>
|
||||
<field name="seniority_award"/>
|
||||
<field name="special_management_bonus"/>
|
||||
<field name="annual_leave_settlement"/>
|
||||
<field name="assessment_reserve_payment"/>
|
||||
<field name="learning_progress_award"/>
|
||||
<field name="performance_assessment_excellence_bonus"/>
|
||||
<field name="prepaid_performance_bonus_recovery"/>
|
||||
<field name="temporary_performance_wages"/>
|
||||
<field name="year_end_double_salary"/>
|
||||
<field name="excellence_award_bonus"/>
|
||||
<field name="excellence_bonus"/>
|
||||
<field name="learning_progress_bonus"/>
|
||||
<field name="social_security_overdeduction_refund"/>
|
||||
<field name="performance_bonus_deduction"/>
|
||||
<field name="communication_subsidy_deduction"/>
|
||||
<field name="seniority_award_bonus"/>
|
||||
<field name="total_budget_salary"/>
|
||||
<field name="pre_tax_salary"/>
|
||||
<field name="year_end_bonus"/>
|
||||
<field name="basic_pension"/>
|
||||
<field name="basic_medical"/>
|
||||
<field name="unemployment"/>
|
||||
<field name="housing_fund"/>
|
||||
<field name="personal_contributions_total"/>
|
||||
<field name="child_education"/>
|
||||
<field name="elderly_support"/>
|
||||
<field name="housing_loan"/>
|
||||
<field name="housing_rent"/>
|
||||
<field name="continuing_education"/>
|
||||
<field name="infant_care"/>
|
||||
<field name="special_deductions_total"/>
|
||||
<field name="corporate_annuity"/>
|
||||
<field name="payable_salary"/>
|
||||
<field name="social_security_funds"/>
|
||||
<field name="annuity"/>
|
||||
<field name="tax_adjustment"/>
|
||||
<field name="union_fees"/>
|
||||
<field name="actual_salary"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="create_time"/>
|
||||
<field name="end_time"/>
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_yuthon_payroll_common_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.payroll.common.tree</field>
|
||||
<field name="model">yuthon.payroll.common</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="薪资常用项" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="department_id"/>
|
||||
<field name="conditional_formulas"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_tt_common_action" model="ir.actions.act_window">
|
||||
<field name="name">薪资常用项</field>
|
||||
<field name="res_model">yuthon.payroll.common</field>
|
||||
<field name="domain">[('yuthon_company','=','thtz')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_lc_common_action" model="ir.actions.act_window">
|
||||
<field name="name">薪资常用项</field>
|
||||
<field name="res_model">yuthon.payroll.common</field>
|
||||
<field name="domain">[('yuthon_company','=','thlc')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_wg_common_action" model="ir.actions.act_window">
|
||||
<field name="name">薪资常用项</field>
|
||||
<field name="res_model">yuthon.payroll.common</field>
|
||||
<field name="domain">[('yuthon_company','=','thwg')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_temporary_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.payroll.temporary.tree</field>
|
||||
<field name="model">yuthon.payroll.temporary</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="临时工资项" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="department_id"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_tt_temporary_action" model="ir.actions.act_window">
|
||||
<field name="name">临时工资项</field>
|
||||
<field name="res_model">yuthon.payroll.temporary</field>
|
||||
<field name="domain">[('yuthon_company','=','thtz')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_lc_temporary_action" model="ir.actions.act_window">
|
||||
<field name="name">临时工资项</field>
|
||||
<field name="res_model">yuthon.payroll.temporary</field>
|
||||
<field name="domain">[('yuthon_company','=','thlc')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_wg_temporary_action" model="ir.actions.act_window">
|
||||
<field name="name">临时工资项</field>
|
||||
<field name="res_model">yuthon.payroll.temporary</field>
|
||||
<field name="domain">[('yuthon_company','=','thwg')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_insurances_tree" model="ir.ui.view">
|
||||
<field name="name">yuthon.payroll.insurances.tree</field>
|
||||
<field name="model">yuthon.payroll.insurances</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="五险一金" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="yuthon_company"/>
|
||||
<field name="department_id"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_tt_insurances_action" model="ir.actions.act_window">
|
||||
<field name="name">五险一金</field>
|
||||
<field name="res_model">yuthon.payroll.insurances</field>
|
||||
<field name="domain">[('yuthon_company','=','thtz')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_lc_insurances_action" model="ir.actions.act_window">
|
||||
<field name="name">五险一金</field>
|
||||
<field name="res_model">yuthon.payroll.insurances</field>
|
||||
<field name="domain">[('yuthon_company','=','thlc')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<record id="view_yuthon_payroll_wg_insurances_action" model="ir.actions.act_window">
|
||||
<field name="name">五险一金</field>
|
||||
<field name="res_model">yuthon.payroll.insurances</field>
|
||||
<field name="domain">[('yuthon_company','=','thwg')]</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
</odoo>
|
||||
@@ -350,6 +350,21 @@
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form1"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_payroll_common_tt_board"
|
||||
name="常用项"
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_tt_common_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_payroll_temporary_tt_board"
|
||||
name="临时项"
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_tt_temporary_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_payroll_insurance_tt_board"
|
||||
name="五险一金"
|
||||
parent="human_pay_setting_structural_tt_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_tt_insurances_action"
|
||||
sequence="9"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_tt_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_tt_board"-->
|
||||
@@ -374,6 +389,21 @@
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form2"
|
||||
sequence="3"/>
|
||||
<menuitem id="hr_payroll_common_lc_board"
|
||||
name="常用项"
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_lc_common_action"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_payroll_temporary_lc_board"
|
||||
name="临时项"
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_lc_temporary_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_payroll_insurances_lc_board"
|
||||
name="五险一金"
|
||||
parent="human_pay_setting_structural_lc_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_lc_insurances_action"
|
||||
sequence="9"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_lc_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_lc_board"-->
|
||||
@@ -398,6 +428,21 @@
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.action_view_hr_payroll_structure_list_form3"
|
||||
sequence="5"/>
|
||||
<menuitem id="hr_payroll_common_wg_board"
|
||||
name="常用项"
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_wg_common_action"
|
||||
sequence="7"/>
|
||||
<menuitem id="hr_payroll_temporary_wg_board"
|
||||
name="临时项"
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_wg_temporary_action"
|
||||
sequence="9"/>
|
||||
<menuitem id="hr_payroll_insurance_wg_board"
|
||||
name="五险一金"
|
||||
parent="human_pay_setting_structural_wg_board"
|
||||
action="yuthon_salary.view_yuthon_payroll_wg_insurances_action"
|
||||
sequence="11"/>
|
||||
<!-- <menuitem id="human_pay_setting_payroll_items_wg_board"-->
|
||||
<!-- name="工资项"-->
|
||||
<!-- parent="human_pay_setting_structural_wg_board"-->
|
||||
|
||||
Reference in New Issue
Block a user