diff --git a/soong_workflow/controllers/__init__.py b/soong_workflow/controllers/__init__.py
new file mode 100644
index 000000000..8984723a2
--- /dev/null
+++ b/soong_workflow/controllers/__init__.py
@@ -0,0 +1 @@
+from . import employee_login
diff --git a/soong_workflow/controllers/recover_controllers.py b/soong_workflow/controllers/recover_controllers.py
new file mode 100644
index 000000000..f9a5aea9c
--- /dev/null
+++ b/soong_workflow/controllers/recover_controllers.py
@@ -0,0 +1,14 @@
+import base64
+
+from odoo.http import Controller, request, route
+from odoo import models, fields, api, http, SUPERUSER_ID, _
+from datetime import date, datetime, time
+
+class RecoverControllers(Controller):
+
+ @http.route('https://qyapi.weixin.qq.com/cgi-bin/message/recall?access_token=ACCESS_TOKEN', methods=['POST'], type='http', auth="none")
+ def recover_message(self, **kw):
+ pass
+
+
+
diff --git a/soong_workflow/models/soong_workflow_log.py b/soong_workflow/models/soong_workflow_log.py
index 9aa106d4c..f8a359ae2 100644
--- a/soong_workflow/models/soong_workflow_log.py
+++ b/soong_workflow/models/soong_workflow_log.py
@@ -28,6 +28,7 @@ class SoongWorkflowLog(models.Model):
date_create = fields.Datetime(string="时间", default=lambda self: fields.Datetime.now())
document_ids = fields.Many2many('ir.attachment', string="附件")
active = fields.Boolean(string="归档", default=True)
+ msg_id = fields.Char()
display_field = fields.Char(string="显示字段", compute="_compute_display_field")
diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py
index d0b34c5cd..14521e405 100644
--- a/soong_workflow/models/soong_workflow_mixin.py
+++ b/soong_workflow/models/soong_workflow_mixin.py
@@ -350,7 +350,7 @@ class SoongWorkflowMixin(models.AbstractModel):
# 筛选与当前节点部门匹配的后续节点
valid_nodes = []
for link in current_node.out_link_ids:
- if self.name_title in ['业务审批', '合同审查表', '信息发布申请表']:
+ if self.name_title in ['业务审批', '合同审查表', '信息发布申请表',]:
category_names = self.information_categories_ids.mapped('name')
target_name = link.name.split('->')[-1].strip()
if '工会活动' in category_names:
diff --git a/soong_workflow/wizard/soong_workflow_comment_wizard.py b/soong_workflow/wizard/soong_workflow_comment_wizard.py
index dd81b9a3f..22385b73d 100644
--- a/soong_workflow/wizard/soong_workflow_comment_wizard.py
+++ b/soong_workflow/wizard/soong_workflow_comment_wizard.py
@@ -445,7 +445,7 @@ class SoongWorkflowCommentWizard(models.TransientModel):
action_id = self.env['ir.actions.act_window'].search([('res_model', '=', self.res_model)])[0]
url = f'https://oa.thtzjt.com/web#id={record_id.id}&cids=2&active_id={action_id.id}&model={record_id._name}&view_type=form'
self.sudo().env["wecom.apps"].sync_send_message_textcard(category='oa',
- user_id=employee.wecom_userid,
+ user_id='18562027762',
title=record_id._description,
description="标题: {}\n".format(
record_id.name) + self.env.user.name + ' ' + str(
diff --git a/yuthon_hr_attendance/views/yuthon_vacation_reports_views.xml b/yuthon_hr_attendance/views/yuthon_vacation_reports_views.xml
index 748bdab2e..5fb48122e 100644
--- a/yuthon_hr_attendance/views/yuthon_vacation_reports_views.xml
+++ b/yuthon_hr_attendance/views/yuthon_vacation_reports_views.xml
@@ -159,8 +159,8 @@
-
-
+
+
@@ -182,8 +182,8 @@
-
-
+
+
@@ -207,8 +207,8 @@
-
-
+
+
@@ -229,8 +229,8 @@
-
-
+
+
@@ -247,8 +247,8 @@
-
-
+
+
diff --git a/yuthon_hr_employee_approval/__manifest__.py b/yuthon_hr_employee_approval/__manifest__.py
index 69f824875..3c4cda353 100644
--- a/yuthon_hr_employee_approval/__manifest__.py
+++ b/yuthon_hr_employee_approval/__manifest__.py
@@ -15,6 +15,7 @@
'room', 'yuthon_issue', 'mail', 'web', 'yuthon_trade'],
'data': [
'security/ir.model.access.csv',
+ 'security/company_rule.xml',
'data/process_code_data.xml',
'data/stage_approval_data.xml',
'data/tage_approval_data.xml',
diff --git a/yuthon_hr_employee_approval/security/company_rule.xml b/yuthon_hr_employee_approval/security/company_rule.xml
new file mode 100644
index 000000000..008fdf066
--- /dev/null
+++ b/yuthon_hr_employee_approval/security/company_rule.xml
@@ -0,0 +1,8 @@
+
+
+
+ 入职多公司
+
+ [('company_id', 'in', company_ids)]
+
+
\ No newline at end of file
diff --git a/yuthon_official/models/officical_type.py b/yuthon_official/models/officical_type.py
index fa1df2e51..dd6994d8d 100644
--- a/yuthon_official/models/officical_type.py
+++ b/yuthon_official/models/officical_type.py
@@ -13,9 +13,9 @@ class OfficialType(models.Model):
class MainFlats(models.Model):
_name = 'main.flats'
- _description = '主送单位'
+ _description = '主送/抄送单位'
- name = fields.Char(string="主送单位")
+ name = fields.Char(string="主送/抄送单位")
class CopyFlats(models.Model):
diff --git a/yuthon_official/models/yuthon_file_processing.py b/yuthon_official/models/yuthon_file_processing.py
index e104edcd6..6ca1830e7 100644
--- a/yuthon_official/models/yuthon_file_processing.py
+++ b/yuthon_official/models/yuthon_file_processing.py
@@ -21,7 +21,7 @@ class YuthonFileProcessing(models.Model):
come_file_id = fields.Char(string="来文编号")
incoming_file_id = fields.Char(string="收文编号")
main_flats_id = fields.Many2one('main.flats', string="主送单位")
- copy_flats_id = fields.Many2one('copy.flats', string="抄送单位")
+ copy_flats_id = fields.Many2one('main.flats', string="抄送单位")
department_ids = fields.Many2many('hr.department', string='部门范围')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
diff --git a/yuthon_official/models/yuthon_official.py b/yuthon_official/models/yuthon_official.py
index 7db887917..a3ce672a7 100644
--- a/yuthon_official/models/yuthon_official.py
+++ b/yuthon_official/models/yuthon_official.py
@@ -23,7 +23,7 @@ class YuthonOfficial(models.Model):
come_file_id = fields.Char(string="来文编号")
incoming_file_id = fields.Char(string="收文编号")
main_flats_id = fields.Many2one('main.flats', string="主送单位")
- copy_flats_id = fields.Many2one('copy.flats', string="抄送单位")
+ copy_flats_id = fields.Many2one('main.flats', string="抄送单位")
department_ids = fields.Many2many('hr.department', string='部门范围')
employee_ids = fields.Many2many('hr.employee', string='人员范围')
users_role_ids = fields.Many2many('soong.user.role', string='角色范围')
diff --git a/yuthon_official/views/official_menus.xml b/yuthon_official/views/official_menus.xml
index 8875d6879..fcd007522 100644
--- a/yuthon_official/views/official_menus.xml
+++ b/yuthon_official/views/official_menus.xml
@@ -117,14 +117,9 @@
sequence="20"/>
-