添加功能
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
'views/system_version_views.xml',
|
'views/system_version_views.xml',
|
||||||
|
'views/ir_cron_act_views.xml',
|
||||||
'views/menu.xml',
|
'views/menu.xml',
|
||||||
],
|
],
|
||||||
'assets': {
|
'assets': {
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<odoo>
|
||||||
|
<record id="ir_cron_type_data_sequence0" model="ir.cron.type">
|
||||||
|
<field name="name">出勤</field>
|
||||||
|
</record>
|
||||||
|
<record id="ir_cron_type_data_sequence1" model="ir.cron.type">
|
||||||
|
<field name="name">其他</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
@@ -2,4 +2,5 @@ from . import ir_model
|
|||||||
from . import inherit_ir_attachment
|
from . import inherit_ir_attachment
|
||||||
from . import system_version
|
from . import system_version
|
||||||
from . import fields_piyin
|
from . import fields_piyin
|
||||||
|
from . import ir_cron_act
|
||||||
# from . import res_partner
|
# from . import res_partner
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
from odoo import fields, models, api
|
||||||
|
|
||||||
|
|
||||||
|
class InheritCronAct(models.Model):
|
||||||
|
_inherit = 'ir.cron'
|
||||||
|
_description = '定时任务'
|
||||||
|
|
||||||
|
is_corn_customer = fields.Boolean(string='是否用户', default=True)
|
||||||
|
cron_type_id = fields.Many2one('ir.cron.type', string='类型')
|
||||||
|
|
||||||
|
|
||||||
|
class InheritCronType(models.Model):
|
||||||
|
_name = 'ir.cron.type'
|
||||||
|
_description = '定时任务类型'
|
||||||
|
|
||||||
|
name = fields.Char(string='名称')
|
||||||
|
|
||||||
|
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
||||||
access_system_version,system_version,model_system_version,base.group_system,1,1,1,1
|
access_system_version,system_version,model_system_version,base.group_system,1,1,1,1
|
||||||
|
access_ir_cron_type,ir.cron.type,model_ir_cron_type,base.group_system,1,1,1,1
|
||||||
|
|||||||
|
@@ -0,0 +1,40 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<odoo>
|
||||||
|
<record id="inherit_act_view_ir_cron_tree" model="ir.ui.view">
|
||||||
|
<field name="name">ir.cron.tree.inherit</field>
|
||||||
|
<field name="model">ir.cron</field>
|
||||||
|
<field name="inherit_id" ref="base.ir_cron_view_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//tree/field[@name='name']" position="after">
|
||||||
|
<field name="cron_type_id"/>
|
||||||
|
<field name="is_corn_customer"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<record id="inherit_act_view_ir_cron_form" model="ir.ui.view">
|
||||||
|
<field name="name">ir.cron.form.inherit</field>
|
||||||
|
<field name="model">ir.cron</field>
|
||||||
|
<field name="inherit_id" ref="base.ir_cron_view_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='user_id']" position="after">
|
||||||
|
<field name="cron_type_id"/>
|
||||||
|
<field name="is_corn_customer"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<record id="ir_cron_type_tree" model="ir.ui.view">
|
||||||
|
<field name="name">ir.cron.type.tree</field>
|
||||||
|
<field name="model">ir.cron.type</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<tree editable="bottom">
|
||||||
|
<field name="name"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<record id="ir_cron_type_action" model="ir.actions.act_window">
|
||||||
|
<field name="name">定时任务类型</field>
|
||||||
|
<field name="res_model">ir.cron.type</field>
|
||||||
|
<field name="view_mode">tree</field>
|
||||||
|
</record>
|
||||||
|
</odoo>
|
||||||
|
|
||||||
@@ -9,4 +9,18 @@
|
|||||||
parent="system_version_menu_root_board"
|
parent="system_version_menu_root_board"
|
||||||
action="action_system_version"
|
action="action_system_version"
|
||||||
sequence="1"/>
|
sequence="1"/>
|
||||||
|
<menuitem id="timed_tasks_menu_root"
|
||||||
|
name="定时任务"
|
||||||
|
parent="system_version_menu_root_board"
|
||||||
|
action="base.ir_cron_act"
|
||||||
|
sequence="5"/>
|
||||||
|
<menuitem id="cron_type_menu_root"
|
||||||
|
name="配置菜单"
|
||||||
|
parent="system_version_menu_root_board"
|
||||||
|
sequence="10"/>
|
||||||
|
<menuitem id="ir_cron_type_menu_root"
|
||||||
|
name="定时任务类型"
|
||||||
|
parent="cron_type_menu_root"
|
||||||
|
action="ir_cron_type_action"
|
||||||
|
sequence="1"/>
|
||||||
</odoo>
|
</odoo>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
'category': 'Human Resources/Attendances',
|
'category': 'Human Resources/Attendances',
|
||||||
'sequence': 240,
|
'sequence': 240,
|
||||||
'website': 'https://www.pengyuthon.com',
|
'website': 'https://www.pengyuthon.com',
|
||||||
'depends': ['hr_attendance', 'resource', 'base', 'hr', 'mail',
|
'depends': ['hr_attendance', 'resource', 'base', 'hr', 'mail', 'yuthon_base',
|
||||||
'soong_workflow', 'yuthon_issue', 'planning', 'calendar', 'web_gantt', 'yuthon_wechat', 'yuthon_hr_employee','planning'],
|
'soong_workflow', 'yuthon_issue', 'planning', 'calendar', 'web_gantt', 'yuthon_wechat', 'yuthon_hr_employee','planning'],
|
||||||
'data': [
|
'data': [
|
||||||
'security/ir.model.access.csv',
|
'security/ir.model.access.csv',
|
||||||
@@ -31,6 +31,7 @@
|
|||||||
'views/inherit_hr_employee.xml',
|
'views/inherit_hr_employee.xml',
|
||||||
'views/inherit_planning_role_views.xml',
|
'views/inherit_planning_role_views.xml',
|
||||||
'views/inherit_planning_slot_views.xml',
|
'views/inherit_planning_slot_views.xml',
|
||||||
|
'views/attendance_message_log.xml',
|
||||||
'views/inherit_planning_slot_template_views.xml',
|
'views/inherit_planning_slot_template_views.xml',
|
||||||
'views/yuthon_customer_approval_views.xml',
|
'views/yuthon_customer_approval_views.xml',
|
||||||
'views/yuthon_shift_planning_views.xml',
|
'views/yuthon_shift_planning_views.xml',
|
||||||
|
|||||||
@@ -831,11 +831,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def ba_card_white_down(self):
|
def ba_card_white_down(self):
|
||||||
@@ -843,11 +838,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '早班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
# 保安部 - 中班
|
# 保安部 - 中班
|
||||||
@@ -856,11 +846,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def ba_card_mid_down(self):
|
def ba_card_mid_down(self):
|
||||||
@@ -868,11 +853,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
# 保安部 - 夜班
|
# 保安部 - 夜班
|
||||||
@@ -881,11 +861,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def ba_card_night_down(self):
|
def ba_card_night_down(self):
|
||||||
@@ -893,11 +868,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
|
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.end_datetime.date() == fields.date.today():
|
if user.end_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
# 工程部 - 白班
|
# 工程部 - 白班
|
||||||
@@ -906,11 +876,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def gc_white_shift_remind(self):
|
def gc_white_shift_remind(self):
|
||||||
@@ -918,11 +883,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_duty_remind(user.resource_id.employee_id)
|
self.card_duty_remind(user.resource_id.employee_id)
|
||||||
|
|
||||||
def gc_white_out_remind(self):
|
def gc_white_out_remind(self):
|
||||||
@@ -930,11 +890,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
# 工程部 - 白值
|
# 工程部 - 白值
|
||||||
@@ -943,11 +898,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
def gc_white_remind_out(self):
|
def gc_white_remind_out(self):
|
||||||
@@ -955,11 +905,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
# 工程部-中值夜
|
# 工程部-中值夜
|
||||||
@@ -968,11 +913,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def gc_night_remind_shift(self):
|
def gc_night_remind_shift(self):
|
||||||
@@ -980,11 +920,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.end_datetime.date() == fields.date.today():
|
if user.end_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_duty_remind(user.resource_id.employee_id)
|
self.card_duty_remind(user.resource_id.employee_id)
|
||||||
|
|
||||||
def gc_night_remind_out(self):
|
def gc_night_remind_out(self):
|
||||||
@@ -992,11 +927,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.end_datetime.date() == fields.date.today():
|
if user.end_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
# 粮储-白班
|
# 粮储-白班
|
||||||
@@ -1005,11 +935,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
|
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def card_lc_remind_out(self):
|
def card_lc_remind_out(self):
|
||||||
@@ -1030,11 +955,6 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
def card_lc_shift_remind(self):
|
def card_lc_shift_remind(self):
|
||||||
@@ -1042,44 +962,24 @@ class HrAttendance(models.Model):
|
|||||||
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_duty_remind(user.resource_id.employee_id)
|
self.card_duty_remind(user.resource_id.employee_id)
|
||||||
|
|
||||||
def card_lc_shift_remind_out(self):
|
def card_lc_shift_remind_out(self):
|
||||||
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
|
||||||
|
|
||||||
def card_lc_shift_remind_on_administrative(self):
|
def card_lc_shift_remind_on_administrative(self):
|
||||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
def card_lc_shift_remind_out_administrative(self):
|
def card_lc_shift_remind_out_administrative(self):
|
||||||
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
ba_up_users = self.env['planning.slot'].search([('template_id.planning_name', '=', '保安计划行政')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
# 客服上班消息提醒
|
# 客服上班消息提醒
|
||||||
@@ -1087,11 +987,6 @@ class HrAttendance(models.Model):
|
|||||||
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
|
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_in_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
# 客服下班消息提醒
|
# 客服下班消息提醒
|
||||||
@@ -1099,11 +994,6 @@ class HrAttendance(models.Model):
|
|||||||
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
|
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '白班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
self.card_out_comment(user.resource_id.employee_id, user.template_id.planning_name)
|
||||||
|
|
||||||
# 客服值班消息提醒
|
# 客服值班消息提醒
|
||||||
@@ -1111,11 +1001,6 @@ class HrAttendance(models.Model):
|
|||||||
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '值班')])
|
ba_up_users = self.env['planning.slot'].search([('role_id.name', '=', '客服中心'), ('template_id.planning_name', '=', '值班')])
|
||||||
for user in ba_up_users:
|
for user in ba_up_users:
|
||||||
if user.start_datetime.date() == fields.date.today():
|
if user.start_datetime.date() == fields.date.today():
|
||||||
self.env['card.remind.form'].create({
|
|
||||||
'name': user.resource_id.employee_id.name,
|
|
||||||
'start_time': datetime.now(),
|
|
||||||
'shift': user.template_id.planning_name,
|
|
||||||
'department': user.department_id.name, })
|
|
||||||
self.card_duty_remind(user.resource_id.employee_id)
|
self.card_duty_remind(user.resource_id.employee_id)
|
||||||
|
|
||||||
def _create_message_log(self, employee_id, message_type, url):
|
def _create_message_log(self, employee_id, message_type, url):
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
from datetime import datetime, timedelta, time
|
from datetime import datetime, timedelta, time
|
||||||
from email.policy import default
|
from email.policy import default
|
||||||
|
from operator import index
|
||||||
|
|
||||||
from odoo import models, fields, api, _
|
from odoo import models, fields, api, _
|
||||||
from odoo.exceptions import ValidationError
|
from odoo.exceptions import ValidationError
|
||||||
import calendar
|
import calendar
|
||||||
@@ -1057,8 +1059,13 @@ class AttendanceMessageLog(models.Model):
|
|||||||
|
|
||||||
vacation_id = fields.Many2one('yuthon.vacation.reports', string='关联假期额度记录')
|
vacation_id = fields.Many2one('yuthon.vacation.reports', string='关联假期额度记录')
|
||||||
employee_id = fields.Many2one('hr.employee', string='员工')
|
employee_id = fields.Many2one('hr.employee', string='员工')
|
||||||
update_date = fields.Datetime(string='更新时间')
|
department_id = fields.Many2one(related='employee_id.department_id', string="部门", index=True)
|
||||||
message_type = fields.Selection([('1', '上班'), ('2', '下班'), ('3', '异常'), ('4', '考勤确认'), ('5', '薪资')], string="类型")
|
company_id = fields.Many2one(related='employee_id.company_id', string="公司")
|
||||||
|
update_date = fields.Datetime(string='提醒时间')
|
||||||
|
shift_id = fields.Many2one('planning.slot', string="班次", store=True)
|
||||||
|
content = fields.Text(string='内容')
|
||||||
|
notice_type = fields.Selection([('attendance', '出勤'), ('schedule', '日程'), ('announcement', '公告'), ('attendance_confirmation', '考勤确认单'), ('salary_slip', '薪资条'),
|
||||||
|
('process', '流程'), ('other', '其他')], string='类型')
|
||||||
message_url = fields.Char(string="url")
|
message_url = fields.Char(string="url")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
<odoo>
|
||||||
|
<record id="view_attendance_message_log_tree" model="ir.ui.view">
|
||||||
|
<field name="name">attendance.message.log.tree</field>
|
||||||
|
<field name="model">attendance.message.log</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<tree string="消息提醒日志" editable="bottom">
|
||||||
|
<field name="employee_id"/>
|
||||||
|
<field name="department_id"/>
|
||||||
|
<field name="company_id"/>
|
||||||
|
<field name="notice_type"/>
|
||||||
|
<field name="update_date"/>
|
||||||
|
<field name="shift_id"/>
|
||||||
|
<field name="content"/>
|
||||||
|
<field name="message_url"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<record id="view_attendance_message_log_search" model="ir.ui.view">
|
||||||
|
<field name="name">attendance.message.log.search</field>
|
||||||
|
<field name="model">attendance.message.log</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<search string="消息提醒日志">
|
||||||
|
<field name="employee_id"/>
|
||||||
|
<field name="department_id"/>
|
||||||
|
</search>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
<record id="view_attendance_message_log_action" model="ir.actions.act_window">
|
||||||
|
<field name="name">消息提醒日志</field>
|
||||||
|
<field name="res_model">attendance.message.log</field>
|
||||||
|
<field name="view_mode">tree,search</field>
|
||||||
|
</record>
|
||||||
|
<menuitem
|
||||||
|
id="attendance_message_log_menu_root"
|
||||||
|
name="消息提醒日志"
|
||||||
|
parent="yuthon_base.system_version_menu_root_board"
|
||||||
|
action="view_attendance_message_log_action"
|
||||||
|
sequence="3"
|
||||||
|
/>
|
||||||
|
</odoo>
|
||||||
|
|
||||||
@@ -230,18 +230,18 @@
|
|||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
<page string="出勤消息日志">
|
<!-- <page string="出勤消息日志" invisible="1">-->
|
||||||
<field name="attendance_message_log_ids">
|
<!-- <field name="attendance_message_log_ids">-->
|
||||||
<tree editable="bottom" create="false" edit="false" delete="false">
|
<!-- <tree editable="bottom" create="false" edit="false" delete="false">-->
|
||||||
<field name="vacation_id" column_invisible="1"/>
|
<!-- <field name="vacation_id" column_invisible="1"/>-->
|
||||||
<field name="employee_id"/>
|
<!-- <field name="employee_id"/>-->
|
||||||
<field name="update_date"/>
|
<!-- <field name="update_date"/>-->
|
||||||
<field name="message_type"/>
|
<!-- <field name="message_type"/>-->
|
||||||
<field name="message_url"/>
|
<!-- <field name="message_url"/>-->
|
||||||
<button name="unlink" string="删除" type="object" class="btn-primary" groups="yuthon_holiday.group_yuthon_holiday_admin"/>
|
<!-- <button name="unlink" string="删除" type="object" class="btn-primary" groups="yuthon_holiday.group_yuthon_holiday_admin"/>-->
|
||||||
</tree>
|
<!-- </tree>-->
|
||||||
</field>
|
<!-- </field>-->
|
||||||
</page>
|
<!-- </page>-->
|
||||||
<page string="汇总" invisible="1">
|
<page string="汇总" invisible="1">
|
||||||
<group>
|
<group>
|
||||||
<field name="is_late_card"/>
|
<field name="is_late_card"/>
|
||||||
@@ -394,17 +394,17 @@
|
|||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
<page string="出勤消息日志">
|
<!-- <page string="出勤消息日志" invisible="1">-->
|
||||||
<field name="attendance_message_log_ids">
|
<!-- <field name="attendance_message_log_ids">-->
|
||||||
<tree>
|
<!-- <tree>-->
|
||||||
<field name="vacation_id" column_invisible="1"/>
|
<!-- <field name="vacation_id" column_invisible="1"/>-->
|
||||||
<field name="employee_id"/>
|
<!-- <field name="employee_id"/>-->
|
||||||
<field name="update_date"/>
|
<!-- <field name="update_date"/>-->
|
||||||
<field name="message_type"/>
|
<!-- <field name="message_type"/>-->
|
||||||
<field name="message_url"/>
|
<!-- <field name="message_url"/>-->
|
||||||
</tree>
|
<!-- </tree>-->
|
||||||
</field>
|
<!-- </field>-->
|
||||||
</page>
|
<!-- </page>-->
|
||||||
<page string="汇总" invisible="1">
|
<page string="汇总" invisible="1">
|
||||||
<group>
|
<group>
|
||||||
<field name="is_late_card"/>
|
<field name="is_late_card"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user