添加功能

This commit is contained in:
zhou
2024-12-28 19:31:42 +08:00
parent 653ccc9946
commit eb595cb2dc
2 changed files with 263 additions and 263 deletions
+41 -41
View File
@@ -1,46 +1,46 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<record forcecreate="True" id="card_lc_shift_remind_time_out" model="ir.cron">
<field name="name">定时任务:粮储值班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_shift_remind_out()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 8:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- <data>-->
<!-- <record forcecreate="True" id="card_lc_shift_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:粮储值班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_shift_remind_out()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 8:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<record forcecreate="True" id="card_gc_night_remind_time_out" model="ir.cron">
<field name="name">定时任务:工程部中值夜班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_night_remind_out()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 7:30:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- <record forcecreate="True" id="card_gc_night_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部中值夜班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_night_remind_out()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 7:30:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<record forcecreate="True" id="card_ba_white_remind_time_in" model="ir.cron">
<field name="name">定时任务:保安部白班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_white_up()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 7:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
</data>
<!-- <record forcecreate="True" id="card_ba_white_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部白班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_white_up()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 7:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- </data>-->
</odoo>
+222 -222
View File
@@ -191,228 +191,228 @@ class HrAttendance(models.Model):
title="打卡异常提醒", description="异常提醒",
url=str, btntxt="详细信息")
# 保安部 - 白班
def ba_card_white_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
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)
def ba_card_white_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
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)
# 保安部 - 中班
def ba_card_mid_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
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)
def ba_card_mid_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
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)
# 保安部 - 夜班
def ba_card_night_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
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)
def ba_card_night_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
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)
# 工程部 - 白班 白值
def gc_white_in_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
for user in ba_up_users:
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,user.template_id.planning_name)
def gc_white_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
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)
def gc_white_out_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
for user in ba_up_users:
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)
# 工程部-中值夜
def gc_night_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
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)
def gc_night_remind_shift(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
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)
def gc_night_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
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)
# 粮储-白班
def card_lc_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
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)
def card_lc_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
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)
# 粮储-值班
def card_lc_shift_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
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)
def card_lc_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
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)
def card_lc_shift_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
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)
def card_in_comment(self, employee_id, planning_name):
data = f"您的班次是{planning_name},还有10分钟上班,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
def card_out_comment(self, employee_id,planning_name):
data = f"您的班次是{planning_name},您该下班了,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
def card_duty_remind(self, employee_id):
data = "今天您值班,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
# # 保安部 - 白班
# def ba_card_white_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# 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)
#
# def ba_card_white_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# 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)
#
# # 保安部 - 中班
# def ba_card_mid_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
# for user in ba_up_users:
# 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)
#
# def ba_card_mid_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
# for user in ba_up_users:
# 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)
#
# # 保安部 - 夜班
# def ba_card_night_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
# for user in ba_up_users:
# 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)
#
# def ba_card_night_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
# for user in ba_up_users:
# 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)
#
# # 工程部 - 白班 白值
# def gc_white_in_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
# for user in ba_up_users:
# 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,user.template_id.planning_name)
#
# def gc_white_shift_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# 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)
#
# def gc_white_out_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
# for user in ba_up_users:
# 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)
#
# # 工程部-中值夜
# def gc_night_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# 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)
#
# def gc_night_remind_shift(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# 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)
#
# def gc_night_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# 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)
#
# # 粮储-白班
# def card_lc_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# 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)
#
# def card_lc_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# 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)
#
# # 粮储-值班
# def card_lc_shift_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# 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)
#
# def card_lc_shift_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# 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)
#
# def card_lc_shift_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# 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)
#
# def card_in_comment(self, employee_id, planning_name):
# data = f"您的班次是{planning_name},还有10分钟上班,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
#
# def card_out_comment(self, employee_id,planning_name):
# data = f"您的班次是{planning_name},您该下班了,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
#
# def card_duty_remind(self, employee_id):
# data = "今天您值班,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
# @api.depends('employee_id')
# def compute_shift_id(self):