Merge pull request !382 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2024-11-05 11:42:15 +00:00
committed by Gitee
26 changed files with 228 additions and 102 deletions
+1 -1
View File
@@ -237,7 +237,7 @@ class SoongWorkflowNodeButton(models.Model):
)
icon = fields.Char(string="Icon",
help="Enter icon name like: fa-print, it's recommended to use FontAwesome Icons.", )
has_comment = fields.Boolean(string="评论", default=False)
has_comment = fields.Boolean(string="意见", default=False)
btn_key = fields.Char(string="Button Key", default=_generate_key)
btn_hide = fields.Boolean(
string="Hide Button if Condition isn't fulfilled",
+2 -1
View File
@@ -1 +1,2 @@
from . import models
from . import models
from . import wizard
+27 -7
View File
@@ -61,6 +61,15 @@ class HolidaysRequestBatch(models.Model):
self.state = 'draft'
self.leave_ids.action_draft()
def holiday_datail_wizard(self):
return {
'name': '请假详情',
'type': 'ir.actions.act_window',
'res_model': 'holiday.detail.wizard',
'view_mode': 'form'}
def put_modify_days(self):
pass
class HrLeaveLine(models.Model):
_name = 'hr.leave.line'
@@ -72,10 +81,21 @@ class HrLeaveLine(models.Model):
leave_documents_ids = fields.Many2many(related='leave_type_id.leave_documents_id', string="假期详情说明")
start_time = fields.Date(string="开始时间")
end_time = fields.Date(string="结束时间")
days = fields.Float(string="天数")
residual = fields.Float(string="剩余天数")
#
# @api.onchange('leave_type_id')
# def _onchange_leave_type_id(self):
# if self.leave_type_id:
# self.leave_documents_ids = self.leave_type_id.leave_documents_id
days = fields.Float(string="天数",compute='_compute_days')
residual = fields.Float(string="剩余天数",compute='_compute_remaining_days')
@api.depends('start_time', 'end_time')
def _compute_days(self):
for record in self:
if record.start_time and record.end_time:
delta = record.end_time - record.start_time
record.days = delta.days
else:
record.days = 0
@api.depends('available_days', 'days')
def _compute_remaining_days(self):
for record in self:
record.residual = record.available_days - record.days
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- 此处在前端改了,把假期余额的form视图修改把div class="o_row" 和 di class="o_td_label"删除 添加<field name="start_time"/>
和<field name="end_time">-->
</odoo>
View File
@@ -0,0 +1,2 @@
from odoo import models, fields, api
from odoo.exceptions import ValidationError
+1
View File
@@ -28,6 +28,7 @@
'views/go_approval.xml',
'views/duty_approval.xml',
'views/leave_approval.xml',
'views/overtime_page_views.xml',
'views/remove_holiday_approval.xml',
'views/card_approval.xml',
'views/attendance_scheme.xml',
+1
View File
@@ -20,6 +20,7 @@ from . import leave_approval
from . import remove_holiday_approval
from . import card_approval
from . import planning_template_inherit
from . import overtime_page
+1 -1
View File
@@ -30,4 +30,4 @@ class CardApprovalsLine(models.Model):
replacement_time = fields.Datetime(string="补卡时间")
actual_punch = fields.Datetime(string="实际打卡")
reason = fields.Char(string="补卡原因")
documents_ids = fields.Many2many('documents.document', string="附件")
documents_ids = fields.Many2many('ir.attachment', string="附件")
+2 -2
View File
@@ -16,6 +16,7 @@ class DutyApprovals(models.Model):
users_id = fields.Many2one('res.users', string="申请人",default=lambda self: self.env.user.id)
duty_ids = fields.One2many('duty.approval.line','duty_id',string="值班人明细")
is_issues = fields.Boolean(string='是否上会')
reason_application = fields.Char(string="事由")
related_issues_id = fields.Many2one('issue.library', string="关联议题")
@api.depends('date_start', 'date_end')
def _compute_duration(self):
@@ -32,9 +33,8 @@ class DutyApprovalsLine(models.Model):
duty_id = fields.Many2one('duty.approval', string="值班审批")
duty_user_id = fields.Many2one('hr.employee', string="值班人员")
reason_application = fields.Char(string="事由")
date_start = fields.Datetime(string="开始时间", default=fields.Datetime.now)
date_end = fields.Datetime(string="结束时间")
duration = fields.Float(string="时长")
validity = fields.Char(string="有效期")
documents_ids = fields.Many2many('documents.document', string="附件")
documents_ids = fields.Many2many('ir.attachment', string="附件")
+2 -2
View File
@@ -14,6 +14,7 @@ class GoApprovals(models.Model):
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('overtime_approval'))
users_id = fields.Many2one('res.users', string="申请人", default=lambda self: self.env.user.id)
department_id = fields.Many2one('hr.department', string="部门")
reason_application = fields.Char(string="事由")
go_approval_ids = fields.One2many('go.approvals.line', 'go_approval_id', string="外出详情")
is_issues = fields.Boolean(string='是否上会')
related_issues_id = fields.Many2one('issue.library', string="关联议题")
@@ -24,7 +25,6 @@ class GoApprovalsLine(models.Model):
go_approval_id = fields.Many2one('go.approval', string="关联外出申请")
overtime_people = fields.Many2one('hr.employee', string="外出人")
reason_application = fields.Char(string="事由")
documents_ids = fields.Many2many('documents.document', string="附件")
documents_ids = fields.Many2many('ir.attachment', string="附件")
date_start = fields.Datetime(string="开始时间")
date_end = fields.Datetime(string="结束时间")
@@ -9,13 +9,15 @@ class OvertimeApprovals(models.Model):
_inherit = ['mail.thread.main.attachment', 'mail.activity.mixin','soong.workflow.mixin']
_rec_name = 'name'
company_page = fields.Selection([('tz', '天河投资'), ('wg', '天河物管'), ('lc', '天河粮储')], string="公司")
yuthon_company = fields.Selection(related='users_id.employee_id.yuthon_company', string="公司")
name = fields.Char(string="标题")
code = fields.Char(string="编号",default=lambda self: self.env['ir.sequence'].next_by_code('overtime_approval'))
users_id = fields.Many2one('res.users', string="申请人",default=lambda self: self.env.user.id)
overtime_approval_ids = fields.One2many('overtime.user.line', 'overtime_approval_id', string="加班审批行")
department_id = fields.Many2one('hr.department', string="部门")
overtime_approval_ids = fields.One2many('overtime.user.line', 'overtime_approval_id', string="加班审批行",default=lambda self: self._default_user_lines())
reason_application = fields.Char(string="事由")
department_id = fields.Many2one(related='users_id.employee_id.department_id', string="部门")
is_issues = fields.Boolean(string='是否上会')
details = fields.Text(string="加班说明")
related_issues_id = fields.Many2one('issue.library', string="关联议题")
@api.onchange('overtime_department_id')
def onchange_overtime_users(self):
@@ -48,6 +50,17 @@ class OvertimeApprovals(models.Model):
}))
over.overtime_user_ids = users_data_list
@api.onchange('yuthon_company')
def onchange_company(self):
for record in self:
overtime_id = record.env['overtime.page'].search([('yuthon_company', '=', record.yuthon_company)])
record.details = (f"1、每天加班不得超过{overtime_id.day_time}\n"
f"2、每月加班不得超过{overtime_id.month_time}\n"
f"3、每年加班不得超过{overtime_id.year_time}")
@api.model
def _default_user_lines(self):
return [(0, 0, {'users_id': self.env.user.id})]
class OvertimeUserLine(models.Model):
_name = 'overtime.user.line'
@@ -55,15 +68,15 @@ class OvertimeUserLine(models.Model):
_description = "加班明细行"
overtime_approval_id = fields.Many2one('overtime.approval', string="加班单号")
overtime_people = fields.Many2one('hr.employee',string="加班人员")
reason_application = fields.Char(string="事由")
users_id = fields.Many2one('res.users',string="加班人员")
department_id = fields.Many2one('hr.department', string="部门")
overtime_hours = fields.Float(string="本月加班时长")
documents_ids = fields.Many2many('documents.document', string="附件")
documents_ids = fields.Many2many('ir.attachment', string="附件")
start_time = fields.Datetime(string="开始时间")
end_time = fields.Datetime(string="结束时间")
hours = fields.Float(string="加班时长")
type_overtime = fields.Selection([('work', '工作日加班'), ('weekend', '周末加班'), ('holiday', '节假日加班')], string="加班类型")
# def attendance_button(self):
# return {
# 'type': 'ir.actions.client',
@@ -0,0 +1,14 @@
from odoo import api, fields, models, tools, _
from datetime import datetime, time, timedelta
class OvertimePage(models.Model):
_name = 'overtime.page'
_description = '加班说明配置'
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'), ('thlc', '天河粮储'),
('tctj', '天投城建')], string='公司')
department_id = fields.Many2one("hr.department", string="部门")
day_time = fields.Char(string="每日加班时长不得超过")
month_time = fields.Char(string="每月加班时长不得超过")
year_time = fields.Char(string="每年加班时长不得超过")
@@ -10,3 +10,4 @@ access_card_approvals_line,card.approval.line,model_card_approvals_line,base.gro
access_go_approvals_line,go.approvals.line,model_go_approvals_line,base.group_user,1,1,1,1
access_overtime_user_line,overtime.user.line,model_overtime_user_line,base.group_user,1,1,1,1
access_duty_approval_line,duty.approval.line,model_duty_approval_line,base.group_user,1,1,1,1
access_overtime_page,overtime.page,model_overtime_page,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
10 access_go_approvals_line go.approvals.line model_go_approvals_line base.group_user 1 1 1 1
11 access_overtime_user_line overtime.user.line model_overtime_user_line base.group_user 1 1 1 1
12 access_duty_approval_line duty.approval.line model_duty_approval_line base.group_user 1 1 1 1
13 access_overtime_page overtime.page model_overtime_page base.group_user 1 1 1 1
+1 -1
View File
@@ -47,7 +47,7 @@
<field name="replacement_time"/>
<field name="actual_punch"/>
<field name="reason"/>
<field name="documents_ids" widget="many2many_tags"/>
<field name="documents_ids" widget="preview_many2many"/>
</tree>
</field>
</page>
+2 -2
View File
@@ -32,6 +32,7 @@
</group>
<group>
<field name="department_id"/>
<field name="reason_application"/>
</group>
<group>
<field name="users_id"/>
@@ -44,8 +45,7 @@
<tree editable="bottom">
<field name="duty_id" column_invisible="1"/>
<field name="duty_user_id"/>
<field name="reason_application"/>
<field name="documents_ids" widget="many2many_tags"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="duration"/>
+2 -2
View File
@@ -33,6 +33,7 @@
</group>
<group>
<field name="department_id"/>
<field name="reason_application"/>
</group>
<group>
<field name="users_id"/>
@@ -45,8 +46,7 @@
<tree editable="bottom">
<field name="go_approval_id" column_invisible="1"/>
<field name="overtime_people"/>
<field name="reason_application"/>
<field name="documents_ids" widget="many2many_tags"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="date_start"/>
<field name="date_end"/>
</tree>
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="overtime_approval_tree" model="ir.ui.view">
<field name="name">overtime.approval.tree</field>
<field name="model">overtime.approval</field>
@@ -8,7 +7,7 @@
<tree>
<field name="name"/>
<field name="users_id"/>
<field name="company_page"/>
<field name="yuthon_company"/>
<field name="department_id"/>
</tree>
</field>
@@ -27,14 +26,16 @@
</div>
<group>
<group>
<field name="company_page"/>
<field name="yuthon_company"/>
<field name="code"/>
</group>
<group>
<field name="department_id"/>
<field name="reason_application"/>
</group>
<group>
<field name="users_id"/>
<field name="details"/>
<field name="is_issues" invisible="1"/>
</group>
</group>
@@ -43,13 +44,12 @@
<field name="overtime_approval_ids">
<tree editable="bottom">
<field name="overtime_approval_id" column_invisible="1"/>
<field name="overtime_people"/>
<field name="users_id"/>
<field name="type_overtime"/>
<field name="reason_application"/>
<field name="start_time"/>
<field name="end_time"/>
<field name="hours"/>
<field name="documents_ids" widget="many2many_tags"/>
<field name="documents_ids" widget="preview_many2many"/>
<field name="overtime_hours"/>
</tree>
</field>
@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_overtime_page_tree" model="ir.ui.view">
<field name="name">overtime.page.tree</field>
<field name="model">overtime.page</field>
<field name="arch" type="xml">
<tree string="加班时长配置">
<field name="yuthon_company"/>
<field name="department_id"/>
</tree>
</field>
</record>
<record id="view_overtime_page_form" model="ir.ui.view">
<field name="name">overtime.page.form</field>
<field name="model">overtime.page</field>
<field name="arch" type="xml">
<form string="加班时长配置">
<sheet>
<group>
<group>
<field name="yuthon_company"/>
</group>
<group>
<field name="department_id"/>
</group>
</group>
<group>
<field name="day_time"/>
<field name="month_time"/>
<field name="year_time"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_overtime_page_action" model="ir.actions.act_window">
<field name="name">加班时长配置</field>
<field name="res_model">overtime.page</field>
<field name="view_mode">tree,form</field>
</record>
</odoo>
+53 -53
View File
@@ -1,53 +1,53 @@
"name","base_wage","job_wage","post_wage","performance_bonus","phone_subsidy","attendance_bonus","all_wage","create_time","end_time","yuthon_company"
"部门经理一档","5300.0","5087.0","0.0","2800.0","300.0","200.0","13687.0","","","thtz"
"部门经理二档","5300.0","4717.0","0.0","2800.0","300.0","200.0","13317.0","","","thtz"
"部门经理三档","5300.0","4363.0","0.0","2800.0","300.0","200.0","12963.0","","","thtz"
"部门经理四档","5300.0","4022.0","0.0","2800.0","300.0","200.0","12622.0","","","thtz"
"部门经理五档","5300.0","3694.0","0.0","2800.0","300.0","200.0","12294.0","","","thtz"
"部门经理六档","5300.0","3379.0","0.0","2800.0","300.0","200.0","11979.0","","","thtz"
"部门经理七档","5300.0","3076.0","0.0","2800.0","300.0","200.0","11676.0","","","thtz"
"部门经理八档","5300.0","2785.0","0.0","2800.0","300.0","200.0","11385.0","","","thtz"
"部门副经理一档","4800.0","3648.0","0.0","2500.0","300.0","200.0","11448.0","","","thtz"
"部门副经理二档","4800.0","3354.0","0.0","2500.0","300.0","200.0","11154.0","","","thtz"
"部门副经理三档","4800.0","3072.0","0.0","2500.0","300.0","200.0","10872.0","","","thtz"
"部门副经理四档","4800.0","2800.0","0.0","2500.0","300.0","200.0","10600.0","","","thtz"
"部门副经理五档","4800.0","2537.0","0.0","2500.0","300.0","200.0","10337.0","","","thtz"
"部门副经理六档","4800.0","2286.0","0.0","2500.0","300.0","200.0","10086.0","","","thtz"
"部门副经理七档","4800.0","2045.0","0.0","2500.0","300.0","200.0","9845.0","","","thtz"
"部门副经理八档","4800.0","1812.0","0.0","2500.0","300.0","200.0","9612.0","","","thtz"
"业务主管一档","4000.0","2603.0","0.0","2200.0","300.0","200.0","9303.0","","","thtz"
"业务主管二档","4000.0","2367.0","0.0","2200.0","300.0","200.0","9067.0","","","thtz"
"业务主管三档","4000.0","2143.0","0.0","2200.0","300.0","200.0","8843.0","","","thtz"
"业务主管四档","4000.0","1926.0","0.0","2200.0","300.0","200.0","8626.0","","","thtz"
"业务主管五档","4000.0","1716.0","0.0","2200.0","300.0","200.0","8416.0","","","thtz"
"业务主管六档","4000.0","1516.0","0.0","2200.0","300.0","200.0","8216.0","","","thtz"
"业务主管七档","4000.0","1324.0","0.0","2200.0","300.0","200.0","8024.0","","","thtz"
"业务主管八档","4000.0","1138.0","0.0","2200.0","300.0","200.0","7838.0","","","thtz"
"高级职员一档","3500.0","1870.0","0.0","2000.0","300.0","200.0","7870.0","","","thtz"
"高级职员二档","3500.0","1682.0","0.0","2000.0","300.0","200.0","7682.0","","","thtz"
"高级职员三档","3500.0","1502.0","0.0","2000.0","300.0","200.0","7502.0","","","thtz"
"高级职员四档","3500.0","1329.0","0.0","2000.0","300.0","200.0","7329.0","","","thtz"
"高级职员五档","3500.0","1162.0","0.0","2000.0","300.0","200.0","7162.0","","","thtz"
"高级职员六档","3500.0","1003.0","0.0","2000.0","300.0","200.0","7003.0","","","thtz"
"高级职员七档","3500.0","848.0","0.0","2000.0","300.0","200.0","6848.0","","","thtz"
"高级职员八档","3500.0","701.0","0.0","2000.0","300.0","200.0","6701.0","","","thtz"
"一级员工一档","3000.0","1385.0","0.0","1800.0","300.0","200.0","6685.0","","","thtz"
"一级员工二档","3000.0","1236.0","0.0","1800.0","300.0","200.0","6536.0","","","thtz"
"一级员工三档","3000.0","1093.0","0.0","1800.0","300.0","200.0","6393.0","","","thtz"
"一级员工四档","3000.0","955.0","0.0","1800.0","300.0","200.0","6255.0","","","thtz"
"一级员工五档","3000.0","821.0","0.0","1800.0","300.0","200.0","6121.0","","","thtz"
"一级员工六档","3000.0","694.0","0.0","1800.0","300.0","200.0","5994.0","","","thtz"
"一级员工七档","3000.0","571.0","0.0","1800.0","300.0","200.0","5871.0","","","thtz"
"一级员工八档","3000.0","453.0","0.0","1800.0","300.0","200.0","5753.0","","","thtz"
"二级员工一档","2600.0","1001.0","0.0","1600.0","300.0","200.0","5701.0","","","thtz"
"二级员工二档","2600.0","881.0","0.0","1600.0","300.0","200.0","5581.0","","","thtz"
"二级员工三档","2600.0","767.0","0.0","1600.0","300.0","200.0","5467.0","","","thtz"
"二级员工四档","2600.0","656.0","0.0","1600.0","300.0","200.0","5356.0","","","thtz"
"二级员工五档","2600.0","550.0","0.0","1600.0","300.0","200.0","5250.0","","","thtz"
"二级员工六档","2600.0","448.0","0.0","1600.0","300.0","200.0","5148.0","","","thtz"
"二级员工七档","2600.0","350.0","0.0","1600.0","300.0","200.0","5050.0","","","thtz"
"二级员工八档","2600.0","256.0","0.0","1600.0","300.0","200.0","4956.0","","","thtz"
"厨师","2400.0","2500.0","0.0","0.0","0.0","0.0","4900.0","","","thtz"
"厨工","2400.0","700.0","500.0","0.0","0.0","0.0","3600.0","","","thtz"
"保洁","2400.0","763.0","4000.0","0.0","0.0","0.0","7163.0","","","thtz"
"实习生","2300.0","0.0","0.0","0.0","300.0","200.0","2800.0","","","thtz"
"lv","name","base_wage","job_wage","post_wage","performance_bonus","phone_subsidy","attendance_bonus","all_wage","create_time","end_time","yuthon_company"
"部门经理","部门经理一档","530","50.0","0.0","280","30","20","136.0","","","thtz"
"部门经理","部门经理二档","530","47.0","0.0","280","30","20","133.0","","","thtz"
"部门经理","部门经理三档","530","43.0","0.0","280","30","20","129.0","","","thtz"
"部门经理","部门经理四档","530","40.0","0.0","280","30","20","126.0","","","thtz"
"部门经理","部门经理五档","530","36.0","0.0","280","30","20","122.0","","","thtz"
"部门经理","部门经理六档","530","33.0","0.0","280","30","20","119.0","","","thtz"
"部门经理","部门经理七档","530","30.0","0.0","280","30","20","116.0","","","thtz"
"部门经理","部门经理八档","530","27.0","0.0","280","30","20","113.0","","","thtz"
"部门副经理","部门副经理一档","480","36.0","0.0","250","30","20","114.0","","","thtz"
"部门副经理","部门副经理二档","480","33.0","0.0","250","30","20","111.0","","","thtz"
"部门副经理","部门副经理三档","480","30.0","0.0","250","30","20","108.0","","","thtz"
"部门副经理","部门副经理四档","480","28","0.0","250","30","20","100","","","thtz"
"部门副经理","部门副经理五档","480","25.0","0.0","250","30","20","103.0","","","thtz"
"部门副经理","部门副经理六档","480","22.0","0.0","250","30","20","100.0","","","thtz"
"部门副经理","部门副经理七档","480","20.0","0.0","250","30","20","984.0","","","thtz"
"部门副经理","部门副经理八档","480","18.0","0.0","250","30","20","961.0","","","thtz"
"业务主管","业务主管一档","400","26.0","0.0","220","30","20","93.0","","","thtz"
"业务主管","业务主管二档","400","23.0","0.0","220","30","20","907.0","","","thtz"
"业务主管","业务主管三档","400","21.0","0.0","220","30","20","88.0","","","thtz"
"业务主管","业务主管四档","400","19.0","0.0","220","30","20","862.0","","","thtz"
"业务主管","业务主管五档","400","17.0","0.0","220","30","20","846.0","","","thtz"
"业务主管","业务主管六档","400","15.0","0.0","220","30","20","826.0","","","thtz"
"业务主管","业务主管七档","400","13.0","0.0","220","30","20","804.0","","","thtz"
"业务主管","业务主管八档","400","18.0","0.0","220","30","20","788.0","","","thtz"
"高级职员","高级职员一档","350","18.0","0.0","200","30","20","70.0","","","thtz"
"高级职员","高级职员二档","350","16.0","0.0","200","30","20","72.0","","","thtz"
"高级职员","高级职员三档","350","15.0","0.0","200","30","20","902.0","","","thtz"
"高级职员","高级职员四档","350","13.0","0.0","200","30","20","79.0","","","thtz"
"高级职员","高级职员五档","350","11.0","0.0","200","30","20","71.0","","","thtz"
"高级职员","高级职员六档","350","10.0","0.0","200","30","20","73.0","","","thtz"
"高级职员","高级职员七档","350","84.0","0.0","200","30","20","68.0","","","thtz"
"高级职员","高级职员八档","350","71.0","0.0","200","30","20","67.0","","","thtz"
"一级员工","一级员工一档","300","13.0","0.0","180","30","20","85.0","","","thtz"
"一级员工","一级员工二档","300","12.0","0.0","180","30","20","653.0","","","thtz"
"一级员工","一级员工三档","300","10.0","0.0","180","30","20","633.0","","","thtz"
"一级员工","一级员工四档","300","95.0","0.0","180","30","20","625.0","","","thtz"
"一级员工","一级员工五档","300","82.0","0.0","180","30","20","611.0","","","thtz"
"一级员工","一级员工六档","300","69.0","0.0","180","30","20","594.0","","","thtz"
"一级员工","一级员工七档","300","57.0","0.0","180","30","20","581.0","","","thtz"
"一级员工","一级员工八档","300","45.0","0.0","180","30","20","573.0","","","thtz"
"二级员工","二级员工一档","260","11.0","0.0","160","30","20","571.0","","","thtz"
"二级员工","二级员工二档","260","88.0","0.0","160","30","20","558.0","","","thtz"
"二级员工","二级员工三档","260","77.0","0.0","160","30","20","547.0","","","thtz"
"二级员工","二级员工四档","260","65.0","0.0","160","30","20","535.0","","","thtz"
"二级员工","二级员工五档","260","55.0","0.0","160","30","20","550.0","","","thtz"
"二级员工","二级员工六档","260","48.0","0.0","160","30","20","548.0","","","thtz"
"二级员工","二级员工七档","260","30.0","0.0","160","30","20","500.0","","","thtz"
"二级员工","二级员工八档","260","26.0","0.0","160","30","20","496.0","","","thtz"
"其他","厨师","24","20","0.0","0.0","0.0","0.0","49","","","thtz"
"其他","厨工","24","7","50","0.0","0.0","0.0","36","","","thtz"
"其他","保洁","24","73.0","400","0.0","0.0","0.0","71.0","","","thtz"
"其他","实习生","23","0.0","0.0","0.0","30","20","28","","","thtz"
1 lv name base_wage job_wage post_wage performance_bonus phone_subsidy attendance_bonus all_wage create_time end_time yuthon_company
2 部门经理 部门经理一档 5300.0 530 5087.0 50.0 0.0 2800.0 280 300.0 30 200.0 20 13687.0 136.0 thtz
3 部门经理 部门经理二档 5300.0 530 4717.0 47.0 0.0 2800.0 280 300.0 30 200.0 20 13317.0 133.0 thtz
4 部门经理 部门经理三档 5300.0 530 4363.0 43.0 0.0 2800.0 280 300.0 30 200.0 20 12963.0 129.0 thtz
5 部门经理 部门经理四档 5300.0 530 4022.0 40.0 0.0 2800.0 280 300.0 30 200.0 20 12622.0 126.0 thtz
6 部门经理 部门经理五档 5300.0 530 3694.0 36.0 0.0 2800.0 280 300.0 30 200.0 20 12294.0 122.0 thtz
7 部门经理 部门经理六档 5300.0 530 3379.0 33.0 0.0 2800.0 280 300.0 30 200.0 20 11979.0 119.0 thtz
8 部门经理 部门经理七档 5300.0 530 3076.0 30.0 0.0 2800.0 280 300.0 30 200.0 20 11676.0 116.0 thtz
9 部门经理 部门经理八档 5300.0 530 2785.0 27.0 0.0 2800.0 280 300.0 30 200.0 20 11385.0 113.0 thtz
10 部门副经理 部门副经理一档 4800.0 480 3648.0 36.0 0.0 2500.0 250 300.0 30 200.0 20 11448.0 114.0 thtz
11 部门副经理 部门副经理二档 4800.0 480 3354.0 33.0 0.0 2500.0 250 300.0 30 200.0 20 11154.0 111.0 thtz
12 部门副经理 部门副经理三档 4800.0 480 3072.0 30.0 0.0 2500.0 250 300.0 30 200.0 20 10872.0 108.0 thtz
13 部门副经理 部门副经理四档 4800.0 480 2800.0 28 0.0 2500.0 250 300.0 30 200.0 20 10600.0 100 thtz
14 部门副经理 部门副经理五档 4800.0 480 2537.0 25.0 0.0 2500.0 250 300.0 30 200.0 20 10337.0 103.0 thtz
15 部门副经理 部门副经理六档 4800.0 480 2286.0 22.0 0.0 2500.0 250 300.0 30 200.0 20 10086.0 100.0 thtz
16 部门副经理 部门副经理七档 4800.0 480 2045.0 20.0 0.0 2500.0 250 300.0 30 200.0 20 9845.0 984.0 thtz
17 部门副经理 部门副经理八档 4800.0 480 1812.0 18.0 0.0 2500.0 250 300.0 30 200.0 20 9612.0 961.0 thtz
18 业务主管 业务主管一档 4000.0 400 2603.0 26.0 0.0 2200.0 220 300.0 30 200.0 20 9303.0 93.0 thtz
19 业务主管 业务主管二档 4000.0 400 2367.0 23.0 0.0 2200.0 220 300.0 30 200.0 20 9067.0 907.0 thtz
20 业务主管 业务主管三档 4000.0 400 2143.0 21.0 0.0 2200.0 220 300.0 30 200.0 20 8843.0 88.0 thtz
21 业务主管 业务主管四档 4000.0 400 1926.0 19.0 0.0 2200.0 220 300.0 30 200.0 20 8626.0 862.0 thtz
22 业务主管 业务主管五档 4000.0 400 1716.0 17.0 0.0 2200.0 220 300.0 30 200.0 20 8416.0 846.0 thtz
23 业务主管 业务主管六档 4000.0 400 1516.0 15.0 0.0 2200.0 220 300.0 30 200.0 20 8216.0 826.0 thtz
24 业务主管 业务主管七档 4000.0 400 1324.0 13.0 0.0 2200.0 220 300.0 30 200.0 20 8024.0 804.0 thtz
25 业务主管 业务主管八档 4000.0 400 1138.0 18.0 0.0 2200.0 220 300.0 30 200.0 20 7838.0 788.0 thtz
26 高级职员 高级职员一档 3500.0 350 1870.0 18.0 0.0 2000.0 200 300.0 30 200.0 20 7870.0 70.0 thtz
27 高级职员 高级职员二档 3500.0 350 1682.0 16.0 0.0 2000.0 200 300.0 30 200.0 20 7682.0 72.0 thtz
28 高级职员 高级职员三档 3500.0 350 1502.0 15.0 0.0 2000.0 200 300.0 30 200.0 20 7502.0 902.0 thtz
29 高级职员 高级职员四档 3500.0 350 1329.0 13.0 0.0 2000.0 200 300.0 30 200.0 20 7329.0 79.0 thtz
30 高级职员 高级职员五档 3500.0 350 1162.0 11.0 0.0 2000.0 200 300.0 30 200.0 20 7162.0 71.0 thtz
31 高级职员 高级职员六档 3500.0 350 1003.0 10.0 0.0 2000.0 200 300.0 30 200.0 20 7003.0 73.0 thtz
32 高级职员 高级职员七档 3500.0 350 848.0 84.0 0.0 2000.0 200 300.0 30 200.0 20 6848.0 68.0 thtz
33 高级职员 高级职员八档 3500.0 350 701.0 71.0 0.0 2000.0 200 300.0 30 200.0 20 6701.0 67.0 thtz
34 一级员工 一级员工一档 3000.0 300 1385.0 13.0 0.0 1800.0 180 300.0 30 200.0 20 6685.0 85.0 thtz
35 一级员工 一级员工二档 3000.0 300 1236.0 12.0 0.0 1800.0 180 300.0 30 200.0 20 6536.0 653.0 thtz
36 一级员工 一级员工三档 3000.0 300 1093.0 10.0 0.0 1800.0 180 300.0 30 200.0 20 6393.0 633.0 thtz
37 一级员工 一级员工四档 3000.0 300 955.0 95.0 0.0 1800.0 180 300.0 30 200.0 20 6255.0 625.0 thtz
38 一级员工 一级员工五档 3000.0 300 821.0 82.0 0.0 1800.0 180 300.0 30 200.0 20 6121.0 611.0 thtz
39 一级员工 一级员工六档 3000.0 300 694.0 69.0 0.0 1800.0 180 300.0 30 200.0 20 5994.0 594.0 thtz
40 一级员工 一级员工七档 3000.0 300 571.0 57.0 0.0 1800.0 180 300.0 30 200.0 20 5871.0 581.0 thtz
41 一级员工 一级员工八档 3000.0 300 453.0 45.0 0.0 1800.0 180 300.0 30 200.0 20 5753.0 573.0 thtz
42 二级员工 二级员工一档 2600.0 260 1001.0 11.0 0.0 1600.0 160 300.0 30 200.0 20 5701.0 571.0 thtz
43 二级员工 二级员工二档 2600.0 260 881.0 88.0 0.0 1600.0 160 300.0 30 200.0 20 5581.0 558.0 thtz
44 二级员工 二级员工三档 2600.0 260 767.0 77.0 0.0 1600.0 160 300.0 30 200.0 20 5467.0 547.0 thtz
45 二级员工 二级员工四档 2600.0 260 656.0 65.0 0.0 1600.0 160 300.0 30 200.0 20 5356.0 535.0 thtz
46 二级员工 二级员工五档 2600.0 260 550.0 55.0 0.0 1600.0 160 300.0 30 200.0 20 5250.0 550.0 thtz
47 二级员工 二级员工六档 2600.0 260 448.0 48.0 0.0 1600.0 160 300.0 30 200.0 20 5148.0 548.0 thtz
48 二级员工 二级员工七档 2600.0 260 350.0 30.0 0.0 1600.0 160 300.0 30 200.0 20 5050.0 500.0 thtz
49 二级员工 二级员工八档 2600.0 260 256.0 26.0 0.0 1600.0 160 300.0 30 200.0 20 4956.0 496.0 thtz
50 其他 厨师 2400.0 24 2500.0 20 0.0 0.0 0.0 0.0 4900.0 49 thtz
51 其他 厨工 2400.0 24 700.0 7 500.0 50 0.0 0.0 0.0 3600.0 36 thtz
52 其他 保洁 2400.0 24 763.0 73.0 4000.0 400 0.0 0.0 0.0 7163.0 71.0 thtz
53 其他 实习生 2300.0 23 0.0 0.0 0.0 300.0 30 200.0 20 2800.0 28 thtz
@@ -41,6 +41,7 @@
<field name="res_model">yuthon.job.lv</field>
<field name="view_mode">tree</field>
<field name="domain">[('yuthon_company', '=', 'thtz')]</field>
<field name="context">{'search_default_group_lv': 1}</field>
</record>
<!--天河物管 -->
<record id="view_yuthon_job_lv_tree3" model="ir.ui.view">
@@ -67,6 +68,7 @@
<field name="res_model">yuthon.job.lv</field>
<field name="view_mode">tree</field>
<field name="domain">[('yuthon_company', '=', 'thwg')]</field>
<field name="context">{'search_default_group_lv': 1}</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'tree', 'view_id': ref('yuthon_hr_employee.view_yuthon_job_lv_tree3')})]"/>
</record>
@@ -76,6 +78,7 @@
<field name="res_model">yuthon.job.lv</field>
<field name="view_mode">tree</field>
<field name="domain">[('yuthon_company', '=', 'thlc')]</field>
<field name="context">{'search_default_group_lv': 1}</field>
</record>
<!-- Menus -->
<menuitem
@@ -30,8 +30,6 @@ class HrJob(models.Model):
"views": [[form_id, "form"]],
"context": {
'default_name': f'{self.department_id.name}招聘需求申请表',
'default_yuthon_company': self.yuthon_company,
'default_department_id': self.department_id.id,
'default_recruitment_ids': hr_job_data,
}
}
@@ -7,7 +7,7 @@ class YuthonRecruitmentApproval(models.Model):
_inherit = 'soong.workflow.mixin'
name = fields.Char(string='标题')
workers_name = fields.Char(string='姓名')
workers_name = fields.Many2one('hr.employee',string='姓名', default=lambda self: self.env.user.employee_id)
code = fields.Char(string="编号", default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_recruitment_approval_code'))
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
@@ -31,7 +31,7 @@
name="编制调整申请表"
parent="hr_process_work_job"
action="yuthon_prepare_approval_action"
sequence="5"/>
sequence="9"/>
<!--人事管理 -->
@@ -54,7 +54,7 @@
</record>
<record id="yuthon_prepare_approval_action" model="ir.actions.act_window">
<field name="name">待开发</field>
<field name="name">岗位编制调整</field>
<field name="res_model">yuthon.prepare.approval</field>
<field name="view_mode">tree,form</field>
</record>
+37 -13
View File
@@ -25,6 +25,7 @@
<record id="account.menu_finance" model="ir.ui.menu">
<field name="active">False</field>
</record>
<!-- 跟踪连 -->
<record id="utm.menu_link_tracker_root" model="ir.ui.menu">
<field name="active">False</field>
@@ -33,6 +34,10 @@
<record id="hr_expense.menu_hr_expense_root" model="ir.ui.menu">
<field name="active">False</field>
</record>
<!--联系人-->
<record id="contacts.menu_contacts" model="ir.ui.menu">
<field name="active">False</field>
</record>
<!--审批 -->
<record id="approvals.approvals_menu_root" model="ir.ui.menu">
<field name="active">False</field>
@@ -72,63 +77,77 @@
parent="hr_recruitment_setting_menu_board"
action="hr_recruitment.action_hr_recruitment_configuration"
sequence="1"/>
<menuitem id="hr_menu_recruitment_approval"
name="招聘需求申请表"
<menuitem id="hr_job_menu_board"
name="岗位发布信息"
parent="hr_recruitment_menu_root_board"
action="yuthon_hr_employee_approval.yuthon_recruitment_approval_action"
action="hr_recruitment.action_hr_job"
sequence="1"/>
<menuitem id="hr_recruitment_all_menu_board"
name="招聘列表"
parent="hr_recruitment_menu_root_board"
action="hr_recruitment.crm_case_categ0_act_job"
sequence="3"/>
<menuitem id="hr_menu_recruitment_process"
name="流程"
parent="hr_recruitment_menu_root_board"
sequence="5"/>
<menuitem id="hr_menu_recruitment_approval"
name="招聘需求申请表"
parent="hr_menu_recruitment_process"
action="yuthon_hr_employee_approval.yuthon_recruitment_approval_action"
sequence="1"/>
<menuitem id="hr_menu_interview_approval_root_board"
name="面试信息表"
parent="hr_recruitment_menu_root_board"
parent="hr_menu_recruitment_process"
action="yuthon_hr_employee_approval.yuthon_interview_approval_action"
sequence="5"/>
<menuitem id="hr_process_onboard_menu_root_board"
name="入职申请表"
parent="hr_recruitment_menu_root_board"
parent="hr_menu_recruitment_process"
action="yuthon_hr_employee_approval.yuthon_onboard_approval_action"
sequence="7"/>
<menuitem id="hr_process_manage_menu_root_board"
name="个人信息登记表"
parent="hr_recruitment_menu_root_board"
parent="hr_menu_recruitment_process"
action="yuthon_hr_employee_approval.yuthon_message_login_action"
sequence="9"/>
<menuitem id="hr_menu_prepare_approval"
name="编制调整申请表"
parent="hr_menu_recruitment_process"
action="yuthon_hr_employee_approval.yuthon_prepare_approval_action"
sequence="11"/>
<menuitem id="hr_recruit_setting_menu_root_board"
name="岗位类型配置"
name="岗位类型"
parent="hr_recruitment_setting_menu_board"
action="yuthon_hr_employee.hr_job_type_action"
sequence="1"/>
<menuitem id="publish_hire_setting_menu_board"
name="发布途径配置"
name="发布途径"
parent="hr_recruitment_setting_menu_board"
action="yuthon_hr_employee.publish_applicant_setting_action"
sequence="3"/>
<menuitem id="applicant_tage_setting_menu_board"
name="应聘标签配置"
name="应聘标签"
parent="hr_recruitment_setting_menu_board"
action="yuthon_hr_employee.applicant_tage_setting_action"
sequence="5"/>
<menuitem id="hr_recruitment_stage_menu_board"
name="阶段配置"
name="阶段"
parent="hr_recruitment_setting_menu_board"
action="hr_recruitment.hr_recruitment_stage_act"
sequence="7"/>
<menuitem id="hr_recruitment_employment_menu_board"
name="就业类型配置"
name="就业类型"
parent="hr_recruitment_setting_menu_board"
action="hr.hr_contract_type_action"
sequence="9"/>
<menuitem id="hr_recruitment_degree_menu_board"
name="学历配置"
name="学历"
parent="hr_recruitment_setting_menu_board"
action="hr_recruitment.hr_recruitment_degree_action"
sequence="11"/>
<menuitem id="hr_recruitment_reason_menu_board"
name="拒绝原因配置"
name="拒绝原因"
parent="hr_recruitment_setting_menu_board"
action="hr_recruitment.hr_applicant_refuse_reason_action"
sequence="13"/>
@@ -394,6 +413,11 @@
parent="attendance_resources_setting_root_board"
sequence="3"
action="resource.action_resource_calendar_form"/>
<menuitem id="menu_hr_attendance_overtime_page_board"
name="加班时间表配置"
parent="attendance_resources_setting_root_board"
sequence="4"
action="yuthon_hr_attendance.view_overtime_page_action"/>
<!--假期管理-->
<menuitem id="holiday_manage_menu_root_board"
name="假期管理"