From 66442c0ffb2cc8339cd5a9fd395b5033dd415cd9 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Mon, 11 Nov 2024 20:27:27 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../models/yuthon_plan_approval.py | 2 +-
.../models/yuthon_plan_management.py | 48 ++--
.../security/ir.model.access.csv | 4 +-
.../views/yuthon_plan_approval.xml | 134 +++++------
.../views/yuthon_plan_management.xml | 215 +++++++++++++++---
5 files changed, 276 insertions(+), 127 deletions(-)
diff --git a/yuthon_performance/models/yuthon_plan_approval.py b/yuthon_performance/models/yuthon_plan_approval.py
index f21201512..ee6a76ac5 100644
--- a/yuthon_performance/models/yuthon_plan_approval.py
+++ b/yuthon_performance/models/yuthon_plan_approval.py
@@ -9,4 +9,4 @@ class YuthonPlanApproval(models.Model):
job_id = fields.Many2one('hr.job', string="岗位")
reason_text = fields.Html(string='申请事由')
- change_plan_ids = fields.One2many("yuthon.plan.management.line",'change_plan_id',string="个人计划变更明细")
+ # change_plan_ids = fields.One2many("yuthon.plan.management.line",'change_plan_id',string="个人计划变更明细")
diff --git a/yuthon_performance/models/yuthon_plan_management.py b/yuthon_performance/models/yuthon_plan_management.py
index 32cde3713..207eeb400 100644
--- a/yuthon_performance/models/yuthon_plan_management.py
+++ b/yuthon_performance/models/yuthon_plan_management.py
@@ -1,31 +1,35 @@
-
from odoo import models, fields, api, exceptions, _
+import datetime
+
class YuthonPlanManagement(models.Model):
_name = 'yuthon.plan.management'
- _description = "计划管理"
+ _description = "个人工作任务"
_rec_name = 'name'
name = fields.Char('标题')
- creation_time = fields.Datetime(string='填报日期', default=lambda self: fields.Datetime.now())
- job_id = fields.Many2one('hr.job', string="岗位")
- employee_id = fields.Many2one('hr.employee', string="员工")
- department_id = fields.Many2one('hr.department', string="部门")
- plan_ids = fields.One2many('yuthon.plan.management.line','plan_id' ,'计划明细')
+ select_time = fields.Selection([('January','一月'), ('February','二月'), ('March','三月'), ('April','四月'),
+ ('May','五月'), ('June','六月'), ('July','七月'), ('August','八月'),
+ ('September','九月'), ('October','十月'), ('November','十一月'), ('December','十二月')
+ ,('half','上半年'), ('later','下半年')],string='选择时间')
+
+ work_tasks_line_ids = fields.One2many('yuthon.work.tasks.line','plan_id',string='工作任务明细')
+
+
+class YuthonWorkTasksLine(models.Model):
+ _name = 'yuthon.work.tasks.line'
+ _description = "工作任务明细"
+
+ plan_id = fields.Many2one('yuthon.plan.management','关联个人工作任务')
+ task_type = fields.Selection([('KPI','KPI'),('GS','GS')],string='任务类型')
+ task_name = fields.Many2one('yuthon.index.management',string='任务名称')
+ plan = fields.Char('计划安排及具体措施行动')
+ goal = fields.Char('目标',help="质量、数量、成本等方面要求")
+ resource_requirements = fields.Text('资源需求')
+ summarize = fields.Text('完成情况总结')
+
+
+
+
-class YuthonPlanManagementLine(models.Model):
- _name = 'yuthon.plan.management.line'
- _description = "计划管理明细"
-
- plan_id = fields.Many2one('yuthon.plan.management','计划明细')
- change_plan_id = fields.Many2one('yuthon.plan.approval','个人计划变更明细')
-
- index_name = fields.Char('工作任务名称')
- index_plan = fields.Char('计划安排及具体措施/行动')
- index_type = fields.Selection([('kpi', 'KPI'),
- ('gs', 'GS'),
- ('refused_index', '否决指标'),],'指标类别')
- expected_goals = fields.Char('预期目标')
- resource_requirements = fields.Char('资源要求')
- completion_summary = fields.Char('完成情况总结')
diff --git a/yuthon_performance/security/ir.model.access.csv b/yuthon_performance/security/ir.model.access.csv
index d602c24f2..b92ea5d3a 100644
--- a/yuthon_performance/security/ir.model.access.csv
+++ b/yuthon_performance/security/ir.model.access.csv
@@ -2,7 +2,6 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_yuthon_index_management,yuthon_index_management,model_yuthon_index_management,base.group_user,1,1,1,1
access_yuthon_duty_management,yuthon_duty_management,model_yuthon_duty_management,base.group_user,1,1,1,1
access_yuthon_plan_management,yuthon_plan_management,model_yuthon_plan_management,base.group_user,1,1,1,1
-access_yuthon_plan_management_line,yuthon_plan_management_line,model_yuthon_plan_management_line,base.group_user,1,1,1,1
access_yuthon_index_approval,yuthon_index_approval,model_yuthon_index_approval,base.group_user,1,1,1,1
access_yuthon_kpi_line,yuthon_kpi_line,model_yuthon_kpi_line,base.group_user,1,1,1,1
access_yuthon_gs_line,yuthon_gs_line,model_yuthon_gs_line,base.group_user,1,1,1,1
@@ -25,4 +24,5 @@ access_yuthon_index_employee_line,yuthon_index_employee_line,model_yuthon_index_
access_new_index_management_line,new_index_management_line,model_new_index_management_line,base.group_user,1,1,1,1
access_new_employee_library_line,new_employee_library_line,model_new_employee_library_line,base.group_user,1,1,1,1
access_new_kpi_duty_approval,new_kpi_duty_approval,model_new_kpi_duty_approval,base.group_user,1,1,1,1
-access_new_gs_duty_approval,new_gs_duty_approval,model_new_gs_duty_approval,base.group_user,1,1,1,1
\ No newline at end of file
+access_new_gs_duty_approval,new_gs_duty_approval,model_new_gs_duty_approval,base.group_user,1,1,1,1
+access_yuthon_work_tasks_line,yuthon_work_tasks_line,model_yuthon_work_tasks_line,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/yuthon_performance/views/yuthon_plan_approval.xml b/yuthon_performance/views/yuthon_plan_approval.xml
index 80a6a9766..94ba0f5eb 100644
--- a/yuthon_performance/views/yuthon_plan_approval.xml
+++ b/yuthon_performance/views/yuthon_plan_approval.xml
@@ -1,72 +1,72 @@
-
-
- yuthon.plan.approval.tree
- yuthon.plan.approval
-
-
-
-
-
-
-
-
-
- yuthon.plan.approval.form
- yuthon.plan.approval
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- yuthon.plan.approval.search
- yuthon.plan.approval
-
-
-
-
-
-
-
-
- 个人计划变更
- yuthon.plan.approval
- tree,form
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yuthon_performance/views/yuthon_plan_management.xml b/yuthon_performance/views/yuthon_plan_management.xml
index 3ad7ca190..f8257e1ea 100644
--- a/yuthon_performance/views/yuthon_plan_management.xml
+++ b/yuthon_performance/views/yuthon_plan_management.xml
@@ -6,10 +6,7 @@
-
-
-
-
+
@@ -27,26 +24,188 @@
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -55,23 +214,9 @@
-
-
- yuthon.plan.management.search
- yuthon.plan.management
-
-
-
-
-
-
-
-
-
-
- 计划管理
+ 个人工作任务
yuthon.plan.management
tree,form
From 1c09ef5fc01e22df7f66a3ce742bfd2794faf58a Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Mon, 11 Nov 2024 20:33:21 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../views/yuthon_plan_management.xml | 56 +++++++++----------
1 file changed, 28 insertions(+), 28 deletions(-)
diff --git a/yuthon_performance/views/yuthon_plan_management.xml b/yuthon_performance/views/yuthon_plan_management.xml
index f8257e1ea..8e5395fac 100644
--- a/yuthon_performance/views/yuthon_plan_management.xml
+++ b/yuthon_performance/views/yuthon_plan_management.xml
@@ -27,8 +27,8 @@
-
-
+
+
@@ -40,8 +40,8 @@
-
-
+
+
@@ -53,8 +53,8 @@
-
-
+
+
@@ -66,8 +66,8 @@
-
-
+
+
@@ -79,8 +79,8 @@
-
-
+
+
@@ -92,8 +92,8 @@
-
-
+
+
@@ -105,8 +105,8 @@
-
-
+
+
@@ -118,8 +118,8 @@
-
-
+
+
@@ -131,8 +131,8 @@
-
-
+
+
@@ -144,8 +144,8 @@
-
-
+
+
@@ -157,8 +157,8 @@
-
-
+
+
@@ -170,8 +170,8 @@
-
-
+
+
@@ -183,8 +183,8 @@
-
-
+
+
@@ -196,8 +196,8 @@
-
-
+
+
From b1aed8d675010bd5907361a7dfa592bca285e289 Mon Sep 17 00:00:00 2001
From: zhouzhou <123@qq.com>
Date: Mon, 11 Nov 2024 20:56:12 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yuthon_performance/views/yuthon_plan_management.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/yuthon_performance/views/yuthon_plan_management.xml b/yuthon_performance/views/yuthon_plan_management.xml
index 8e5395fac..94fe1a791 100644
--- a/yuthon_performance/views/yuthon_plan_management.xml
+++ b/yuthon_performance/views/yuthon_plan_management.xml
@@ -27,7 +27,7 @@
-
+
From c38ca1169dda5ee48d56191180cbd07d38eda57a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?=
Date: Tue, 12 Nov 2024 09:16:01 +0800
Subject: [PATCH 4/5] pengyuthon wechat
---
room/models/room_booking.py | 3 +-
.../views/overtime_approval.xml | 2 +-
yuthon_hr_employee/models/yuthon_job_lv.py | 14 ++---
.../models/inherit_hr_applicant.py | 5 +-
.../models/yuthon_interview_approval.py | 5 +-
.../models/yuthon_message_login.py | 60 ++++++++++++-------
.../security/ir.model.access.csv | 3 +-
.../views/inherit_hr_applicant_views.xml | 2 +-
.../views/yuthon_interview_approval_views.xml | 1 +
.../views/yuthon_message_login_views.xml | 24 +++++---
.../wizard/interview_approval_wizard.py | 15 ++++-
.../wizard/interview_approval_wizard.xml | 3 +-
yuthon_issue/models/issue_library.py | 2 +-
yuthon_official/views/official_menus.xml | 55 +++++++----------
14 files changed, 112 insertions(+), 82 deletions(-)
diff --git a/room/models/room_booking.py b/room/models/room_booking.py
index b68b6cfd5..9d89ed68a 100644
--- a/room/models/room_booking.py
+++ b/room/models/room_booking.py
@@ -9,6 +9,7 @@ import os
from datetime import timedelta
+"""富文本字段保存无效"""
class RoomBooking(models.Model):
_name = "room.booking"
_inherit = ["mail.thread"]
@@ -97,7 +98,7 @@ class RoomBooking(models.Model):
value = f'name{index}'
option_text = user.name
html_select += f' \n'
- for index, partner in enumerate(self.other_user_ids, start=99):
+ for index, partner in enumerate(self.other_company_user_ids, start=99):
value_partner = f'name{index}'
option_partner_name = partner.name
html_select += f' \n'
diff --git a/yuthon_hr_attendance/views/overtime_approval.xml b/yuthon_hr_attendance/views/overtime_approval.xml
index 2f5ce07d2..66f3c5158 100644
--- a/yuthon_hr_attendance/views/overtime_approval.xml
+++ b/yuthon_hr_attendance/views/overtime_approval.xml
@@ -55,7 +55,7 @@
-
+
diff --git a/yuthon_hr_employee/models/yuthon_job_lv.py b/yuthon_hr_employee/models/yuthon_job_lv.py
index 9400d3f6b..5caa45b37 100644
--- a/yuthon_hr_employee/models/yuthon_job_lv.py
+++ b/yuthon_hr_employee/models/yuthon_job_lv.py
@@ -11,13 +11,13 @@ class YuthonJobLv(models.Model):
lv = fields.Char(string="级别")
name = fields.Char(string="职级名称")
- base_wage = fields.Float(string="基本工资")
- job_wage = fields.Float(string="职级工资")
- post_wage = fields.Float(string="岗位工资")
- performance_bonus = fields.Float(string="绩效奖金")
- phone_subsidy = fields.Float(string="通信补贴")
- attendance_bonus = fields.Float(string="全勤奖")
- all_wage = fields.Float(string="应发工资")
+ base_wage = fields.Float(string="基本工资", group_operator=None)
+ job_wage = fields.Float(string="职级工资", group_operator=None)
+ post_wage = fields.Float(string="岗位工资", group_operator=None)
+ performance_bonus = fields.Float(string="绩效奖金", group_operator=None)
+ phone_subsidy = fields.Float(string="通信补贴", group_operator=None)
+ attendance_bonus = fields.Float(string="全勤奖", group_operator=None)
+ all_wage = fields.Float(string="应发工资", group_operator=None)
yuthon_company = fields.Selection([('thtz', '天河投资集团'), ('thwg', '天河物管'),
('thlc', '天河粮储'), ('tctj', '天投城建')], string="所属公司")
diff --git a/yuthon_hr_employee_approval/models/inherit_hr_applicant.py b/yuthon_hr_employee_approval/models/inherit_hr_applicant.py
index 9a49cf83f..c0b5e773d 100644
--- a/yuthon_hr_employee_approval/models/inherit_hr_applicant.py
+++ b/yuthon_hr_employee_approval/models/inherit_hr_applicant.py
@@ -64,12 +64,15 @@ class HrApplicant(models.Model):
def pub_onboarding_information(self):
self.ensure_one()
form_id = self.env.ref("yuthon_hr_employee_approval.yuthon_onboard_approval_form").id
+ for user in self.interview_approval_ids:
+ if user.interview_stage_id.name == '未通过':
+ raise UserError('当前人员不允许入职')
return {
'type': 'ir.actions.act_window',
'res_model': 'yuthon.onboard.approval',
"views": [[form_id, "form"]],
'context': {
- 'default_onboard_id': self.id, },
+ 'default_onboard_id': self.id},
}
diff --git a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
index de83d28a1..86d69c8b3 100644
--- a/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
+++ b/yuthon_hr_employee_approval/models/yuthon_interview_approval.py
@@ -46,9 +46,11 @@ class YuthonInterviewApproval(models.Model):
application_list = []
for applicant in self.applicant_ids:
application_list.append((0, 0, {'name': applicant.name,
+ 'applicant_time': applicant.interview_time,
+ 'employee_ids': applicant.employee_ids.ids,
'stage_id': applicant.stage_id.id}))
return {
- 'name': '面试安排',
+ 'name': '面试结果',
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'interview.approval.wizard',
@@ -70,6 +72,7 @@ class InterviewApprovalLine(models.Model):
tage_ids = fields.Many2many('applicant.tage.setting', string="应聘标签")
employee_ids = fields.Many2many('hr.employee', string='面试官')
evaluation = fields.Text(string='评价')
+
def button_applicant_ids(self):
self.ensure_one()
return {
diff --git a/yuthon_hr_employee_approval/models/yuthon_message_login.py b/yuthon_hr_employee_approval/models/yuthon_message_login.py
index 062293a4e..a3efec233 100644
--- a/yuthon_hr_employee_approval/models/yuthon_message_login.py
+++ b/yuthon_hr_employee_approval/models/yuthon_message_login.py
@@ -6,9 +6,12 @@ nation_list = [('a', '汉族'), ('b', '壮族'), ('v', '满族'), ('d', '回族'
('s', '傣族'), ('t', '畲族'), ('u', '傈僳族'), ('v3', '仡佬族'), ('w', '东乡族'), ('x', '拉祜族'),
('y', '水族'), ('z', '佤族'), ('a1', '纳西族'), ('b1', '羌族'), ('c1', '仫佬族'), ('d1', '锡伯族'),
('e1', '柯尔克孜族'), ('f1', '达斡尔族'), ('g1', '景颇族'), ('h1', '毛南族'), ('i1', '撒拉族'),
- ('j1', '布朗族'), ('k1', '塔吉克族'), ('l1', '阿昌族'), ('m1', '普米族'), ('n1', '鄂温克族'), ('o1', '怒族'),
- ('p1', '京族'), ('q1', '基诺族'), ('r1', '德昂族'), ('s1', '保安族'), ('t1', '俄罗斯族'), ('u1', '裕固族'),
- ('v1', '乌孜别克族'), ('w1', '门巴族'), ('x1', '鄂伦春族'), ('y1', '独龙族'), ('z1', '塔塔尔族'), ('a2', '赫哲族'),
+ ('j1', '布朗族'), ('k1', '塔吉克族'), ('l1', '阿昌族'), ('m1', '普米族'), ('n1', '鄂温克族'),
+ ('o1', '怒族'),
+ ('p1', '京族'), ('q1', '基诺族'), ('r1', '德昂族'), ('s1', '保安族'), ('t1', '俄罗斯族'),
+ ('u1', '裕固族'),
+ ('v1', '乌孜别克族'), ('w1', '门巴族'), ('x1', '鄂伦春族'), ('y1', '独龙族'), ('z1', '塔塔尔族'),
+ ('a2', '赫哲族'),
('b2', '高山族'), ('c2', '珞巴族'), ('d2', '壮族')]
@@ -21,14 +24,14 @@ class YuthonMessageLogin(models.Model):
# 基本信息
name = fields.Char(string='标题', default="人员信息登记表")
code = fields.Char(string="编号",
- default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_message_login_code'))
+ default=lambda self: self.env['ir.sequence'].next_by_code('yuthon_message_login_code'))
staff_name = fields.Char(string='姓名')
sex = fields.Selection([('male', '男'), ('female', '女')], string='性别')
date_birth = fields.Date(string='出生年月')
nation = fields.Char(string='民族')
origin = fields.Char(string='籍贯')
political = fields.Selection([('cpc_dang', '中共党员'), ('nld', '民盟'),
- ('league_member', '共青团员'), ('people', '群众')], string="政治面貌")
+ ('league_member', '共青团员'), ('people', '群众')], string="政治面貌")
party_time = fields.Date(string='入党时间')
house_hold = fields.Char(string='户口所在地')
house_type = fields.Selection([('city', '城市'), ('rural', '农村')], string='户口类型')
@@ -49,7 +52,7 @@ class YuthonMessageLogin(models.Model):
spouse_phone = fields.Char(string='联系电话')
spouse_work = fields.Char(string='工作单位')
spouse_position = fields.Char(string='职务')
- spouse_degree = fields.Char(string='学历')#
+ spouse_degree = fields.Char(string='学历') #
# 最近工作情况
last_work = fields.Char(string='单位名称')
last_work_department = fields.Many2one('hr.department', string="部门")
@@ -58,14 +61,7 @@ class YuthonMessageLogin(models.Model):
last_work_training = fields.Char(string='接受的培训')
last_work_reason = fields.Char(string='离职原因')
# 亲属情况
- is_relatives_work = fields.Boolean(string='是否有亲属在本单位')
- relatives_work = fields.Char(string='亲属姓名')
- relatives_work_date = fields.Date(string='出生年月')
- relatives_work_phone = fields.Char(string='联系电话')
- relatives_work_address = fields.Char(string='家庭住址')
- relatives_work_department = fields.Many2one('hr.department', string='部门')
- relatives_work_position = fields.Selection([("parents", "父母"), ("children", "子女"),
- ("spouse", "配偶"), ("spouse", "其他")], string="关系")
+ is_relatives_work = fields.Boolean(string='本单位是否有亲属')
# 附件
image_1920 = fields.Image("一寸照")
id_card_id = fields.Many2one('documents.document', string='身份证')
@@ -84,19 +80,27 @@ class YuthonMessageLogin(models.Model):
medical_exam_cost = fields.Float(string='体检费用(含乙肝)')
is_issues = fields.Boolean(string='是否上会')
related_issues_id = fields.Many2one('issue.library', string="关联议题")
+ login_document_id = fields.Many2one('ir.attachment', string="简历附件")
# 紧急联系人
- emergency_contact_ids = fields.One2many('hr.yuthon.emergency.contact.line', 'message_login_id', string="紧急联系人明细行")
+ emergency_contact_ids = fields.One2many('hr.yuthon.emergency.contact.line', 'message_login_id',
+ string="紧急联系人明细行")
# 教育经历
- education_experience_ids = fields.One2many('hr.yuthon.education.experience.line', 'message_login_id',string="教育经历明细行")
+ education_experience_ids = fields.One2many('hr.yuthon.education.experience.line', 'message_login_id',
+ string="教育经历明细行")
# 工作经历
work_experience_ids = fields.One2many('hr.yuthon.work.experience.line', 'message_login_id', string="工作经历明细行")
# 直属亲属情况
- direct_relative_ids = fields.One2many('hr.yuthon.directly.detail.lines','message_login_id', string="直属亲属情况明细行")
+ direct_relative_ids = fields.One2many('hr.yuthon.directly.detail.lines', 'message_login_id',
+ string="直属亲属情况明细行")
# 个人技能
- personal_skill_ids = fields.One2many('hr.yuthon.personal.skills.schedule','message_login_id', string="个人技能明细行")
+ personal_skill_ids = fields.One2many('hr.yuthon.personal.skills.schedule', 'message_login_id',
+ string="个人技能明细行")
# 最近工作单位
- last_work_unit_ids = fields.One2many('hr.yuthon.recent.work.detail.line', 'message_login_id', string="最近工作单位情况")
+ last_work_unit_ids = fields.One2many('hr.yuthon.recent.work.detail.line', 'message_login_id',
+ string="最近工作单位情况")
+ # 亲属在本单位
+ kindred_line_ids = fields.One2many('kindred.line', 'message_login_id', string="最近工作单位情况")
# 附件
attachment_ids = fields.One2many('education.details.line', 'diploma_id', string="学历证(全日制)")
part_time_ids = fields.One2many('education.details.line1', 'diploma_id', string="学历证(非全日制)")
@@ -122,8 +126,8 @@ class EducationalDetailsLine(models.Model):
_name = 'education.details.line'
_description = '学历证(全日制)'
- diploma_id = fields.Many2one('yuthon.message.login',string="关联个人信息")
- graduation_id = fields.Many2one('documents.document',string="毕业证书")
+ diploma_id = fields.Many2one('yuthon.message.login', string="关联个人信息")
+ graduation_id = fields.Many2one('documents.document', string="毕业证书")
validation_reports = fields.Char(string="验证报告")
@@ -151,3 +155,17 @@ class CertificateDetailLine(models.Model):
certificate_id = fields.Many2one('yuthon.message.login', string="关联个人信息")
professional_certificates_id = fields.Many2one('documents.document', string="专业证书/职称")
professional_certificate_validity = fields.Date(string="有效期")
+
+
+class KindredLine(models.Model):
+ _name = 'kindred.line'
+ _description = '是否有亲属在本单位'
+
+ message_login_id = fields.Many2one('yuthon.message.login', string="关联个人信息")
+ relatives_work = fields.Char(string='亲属姓名')
+ relatives_work_date = fields.Date(string='出生年月')
+ relatives_work_phone = fields.Char(string='联系电话')
+ relatives_work_address = fields.Char(string='家庭住址')
+ relatives_work_department = fields.Many2one('hr.department', string='部门')
+ relatives_work_position = fields.Selection([("parents", "父母"), ("children", "子女"),
+ ("spouse", "配偶"), ("spouse", "其他")], string="关系")
diff --git a/yuthon_hr_employee_approval/security/ir.model.access.csv b/yuthon_hr_employee_approval/security/ir.model.access.csv
index 5991c6bbd..3969da1fd 100644
--- a/yuthon_hr_employee_approval/security/ir.model.access.csv
+++ b/yuthon_hr_employee_approval/security/ir.model.access.csv
@@ -39,4 +39,5 @@ access_yuthon_over_infor_detail_lines,yuthon_over_infor_detail_lines,model_yutho
access_yuthon_reward_punishment_details,yuthon_reward_punishment_details,model_yuthon_reward_punishment_details,base.group_user,1,1,1,1
access_yuthon_trial_scenario_detail_line,yuthon_trial_scenario_detail_line,model_yuthon_trial_scenario_detail_line,base.group_user,1,1,1,1
access_interview_approval_wizard,interview_approval_wizard,model_interview_approval_wizard,base.group_user,1,1,1,1
-access_interview_approval_wizard_line,interview_approval_wizard_line,model_interview_approval_wizard_line,base.group_user,1,1,1,1
\ No newline at end of file
+access_interview_approval_wizard_line,interview_approval_wizard_line,model_interview_approval_wizard_line,base.group_user,1,1,1,1
+access_kindred_line,kindred_line,model_kindred_line,base.group_user,1,1,1,1
\ No newline at end of file
diff --git a/yuthon_hr_employee_approval/views/inherit_hr_applicant_views.xml b/yuthon_hr_employee_approval/views/inherit_hr_applicant_views.xml
index 03b63e333..7c726cb39 100644
--- a/yuthon_hr_employee_approval/views/inherit_hr_applicant_views.xml
+++ b/yuthon_hr_employee_approval/views/inherit_hr_applicant_views.xml
@@ -27,7 +27,7 @@
-
+
diff --git a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
index 142b3401e..48528dbb0 100644
--- a/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
+++ b/yuthon_hr_employee_approval/views/yuthon_interview_approval_views.xml
@@ -19,6 +19,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yuthon_hr_employee_approval/wizard/interview_approval_wizard.py b/yuthon_hr_employee_approval/wizard/interview_approval_wizard.py
index ffc7ad9bb..acad14766 100644
--- a/yuthon_hr_employee_approval/wizard/interview_approval_wizard.py
+++ b/yuthon_hr_employee_approval/wizard/interview_approval_wizard.py
@@ -10,12 +10,21 @@ class InterviewApprovalWizard(models.Model):
interview_approval_line_ids = fields.One2many('interview.approval.wizard.line', 'interview_approval_wizard_id', string='面试审批')
def confirm(self):
+ interview_approval_list = []
for interview_approval in self.interview_approval_line_ids:
interview_id = self.env['interview.approval.line'].search([('name', '=', interview_approval.name)])
interview_id.write({'interview_stage_id': interview_approval.interview_stage_id.id,
'evaluation': interview_approval.evaluation})
- employee_id = self.env['hr.applicant'].search([('partner_name', '=', interview_approval.name)])
- employee_id.write({'stage_id': interview_approval.interview_stage_id.id})
+ applicant_id = self.env['hr.applicant'].search([('partner_name', '=', interview_approval.name)])
+ interview_approval_list.append([0, 0, {
+ 'applicant_id': applicant_id.id,
+ 'appraise': interview_approval.evaluation,
+ 'applicant_time': interview_approval.applicant_time,
+ 'employee_ids': interview_approval.employee_ids,
+ 'interview_stage_id': interview_approval.stage_id.id,
+ }])
+ applicant_id.write({'stage_id': interview_approval.interview_stage_id.id,
+ 'interview_approval_ids': interview_approval_list})
class InterviewApprovalWizardLine(models.Model):
@@ -24,6 +33,8 @@ class InterviewApprovalWizardLine(models.Model):
interview_approval_wizard_id = fields.Many2one('interview.approval.wizard', string='面试结果弹窗')
name = fields.Char(string='姓名')
+ applicant_time = fields.Datetime(string="面试时间")
+ employee_ids = fields.Many2many('hr.employee', string='面试官')
stage_id = fields.Many2one('hr.recruitment.stage', string='阶段')
interview_stage_id = fields.Many2one('hr.recruitment.stage', string='面试结果')
evaluation = fields.Text(string='评价')
diff --git a/yuthon_hr_employee_approval/wizard/interview_approval_wizard.xml b/yuthon_hr_employee_approval/wizard/interview_approval_wizard.xml
index e431117ee..a884a47fd 100644
--- a/yuthon_hr_employee_approval/wizard/interview_approval_wizard.xml
+++ b/yuthon_hr_employee_approval/wizard/interview_approval_wizard.xml
@@ -7,9 +7,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/yuthon_hr_employee/views/inherit_hr_job_views.xml b/yuthon_hr_employee/views/inherit_hr_job_views.xml
index db161bfb0..9c99a483c 100644
--- a/yuthon_hr_employee/views/inherit_hr_job_views.xml
+++ b/yuthon_hr_employee/views/inherit_hr_job_views.xml
@@ -25,7 +25,6 @@
-
@@ -108,7 +107,6 @@
-