This commit is contained in:
parent
e6ac126785
commit
0d6e8d96ae
|
@ -3,7 +3,7 @@ from datetime import datetime
|
||||||
from sqlalchemy import func, or_, and_
|
from sqlalchemy import func, or_, and_
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from Models.DailyModel import Daily
|
from Models.DailyModel import Daily
|
||||||
from Schemas.DailySchemas import DailyQuery
|
from Schemas.DailySchemas import DailyQuery, DailyTypeEnum
|
||||||
|
|
||||||
|
|
||||||
def daily_get(db: Session, item_id):
|
def daily_get(db: Session, item_id):
|
||||||
|
@ -37,13 +37,18 @@ def daily_query(db: Session, params: DailyQuery, department: str, auth: str = No
|
||||||
db_model = Daily
|
db_model = Daily
|
||||||
if auth:
|
if auth:
|
||||||
auth_list = auth.split(',')
|
auth_list = auth.split(',')
|
||||||
# 有日报管理权限的可以查看所有
|
# 有日报管理权限的可以查看所有 10
|
||||||
if '10' not in auth_list:
|
# 所有部门动态查看 2
|
||||||
|
#
|
||||||
|
if '10' not in auth_list and '2' not in auth_list and params.type == DailyTypeEnum.动态:
|
||||||
has_auth = [int(item) for item in auth_list if item in ['17', '18']]
|
has_auth = [int(item) for item in auth_list if item in ['17', '18']]
|
||||||
# query = query.filter(or_(*[func.find_in_set(str(item), Daily.required_auth) for item in has_auth],
|
# query = query.filter(or_(*[func.find_in_set(str(item), Daily.required_auth) for item in has_auth],
|
||||||
# Daily.required_auth._in['', None]))
|
# Daily.required_auth._in['', None]))
|
||||||
departments = [int(item) for item in department.split(",")]
|
departments = [int(item) for item in department.split(",")]
|
||||||
query.filter(or_(Daily.department.in_(departments),and_(Daily.department.not_in(departments),or_(*[func.find_in_set(str(item), Daily.required_auth) for item in has_auth],
|
query = query.filter(or_(Daily.department.in_(departments), and_(Daily.department.not_in(departments),
|
||||||
|
or_(*[func.find_in_set(str(item),
|
||||||
|
Daily.required_auth)
|
||||||
|
for item in has_auth],
|
||||||
not Daily.required_auth))))
|
not Daily.required_auth))))
|
||||||
for key, value in params_dict.items():
|
for key, value in params_dict.items():
|
||||||
if key == 'department' and type(value) == list:
|
if key == 'department' and type(value) == list:
|
||||||
|
|
|
@ -12,6 +12,8 @@ from Utils.EmailUtils import send_email
|
||||||
from Utils.SqlAlchemyUtils import get_db, get_db_i
|
from Utils.SqlAlchemyUtils import get_db, get_db_i
|
||||||
from datetime import datetime, date
|
from datetime import datetime, date
|
||||||
|
|
||||||
|
test_email = ["wuchunquan@fecr.com.cn", "wangsichuan@fecr.com.cn"]
|
||||||
|
|
||||||
comment_notice_send = """您的日报有新的反馈:
|
comment_notice_send = """您的日报有新的反馈:
|
||||||
|
|
||||||
日报内容:
|
日报内容:
|
||||||
|
@ -42,6 +44,10 @@ daily_fill_send = """您好
|
||||||
若在使用过程中出现问题,请联系小程序管理员王思川(wangsichuan@fecr.com.cn)帮助您处理。
|
若在使用过程中出现问题,请联系小程序管理员王思川(wangsichuan@fecr.com.cn)帮助您处理。
|
||||||
祝你工作顺利。"""
|
祝你工作顺利。"""
|
||||||
|
|
||||||
|
daily_pdf_upload_notice = """您好
|
||||||
|
今日的运行日报已上传,请于微信小程序【FECR业务助手】->【运行日报】查看
|
||||||
|
"""
|
||||||
|
|
||||||
# 2023年的节假日,true的是放假的
|
# 2023年的节假日,true的是放假的
|
||||||
holiday = {'01-01': True, '01-02': True, '01-21': True, '01-22': True, '01-23': True, '01-24': True, '01-25': True,
|
holiday = {'01-01': True, '01-02': True, '01-21': True, '01-22': True, '01-23': True, '01-24': True, '01-25': True,
|
||||||
'01-26': True, '01-27': True, '01-28': False, '01-29': False, '04-05': True, '04-23': False, '04-29': True,
|
'01-26': True, '01-27': True, '01-28': False, '01-29': False, '04-05': True, '04-23': False, '04-29': True,
|
||||||
|
@ -118,11 +124,14 @@ class DailyNotice:
|
||||||
*[func.find_in_set(str(d_id), User.department) for d_id in
|
*[func.find_in_set(str(d_id), User.department) for d_id in
|
||||||
can_watch_departments])):
|
can_watch_departments])):
|
||||||
emails.append(user.email)
|
emails.append(user.email)
|
||||||
|
数字化部emails = [item.email for item in db.query(User).filter(func.find_in_set('17', User.department))]
|
||||||
|
|
||||||
with ThreadPoolExecutor(max_workers=5) as executor:
|
# task_args = [["", email, daily_pdf_upload_notice] for email in emails]
|
||||||
# for email in emails:
|
|
||||||
# executor.submit(self.send_email, "每日运行日报已上传", email, '每日运行日报已上传')
|
# 测试
|
||||||
executor.submit(self.send_email, "每日运行日报已上传", 'wangsichuan@fecr.com.cn', '每日运行日报已上传')
|
task_args = [["每日运行日报已上传", email, daily_pdf_upload_notice] for email in test_email]
|
||||||
|
print(task_args)
|
||||||
|
self.email_send_thread(task_args)
|
||||||
|
|
||||||
def start_timer_to_notice_daily_fill(self):
|
def start_timer_to_notice_daily_fill(self):
|
||||||
|
|
||||||
|
|
|
@ -289,12 +289,11 @@ def daily_export_to_pdf(req: DailySchemas.DailyExportToPdfReq, db: Session = Dep
|
||||||
subject[k4] = first + '\n' + subject[k4]
|
subject[k4] = first + '\n' + subject[k4]
|
||||||
else:
|
else:
|
||||||
subject[k4] = '未报送'
|
subject[k4] = '未报送'
|
||||||
|
|
||||||
current_date = datetime.datetime.now()
|
current_date = datetime.datetime.now()
|
||||||
merged_dict = {
|
merged_dict = {
|
||||||
"年": current_date.year,
|
"年": req.day.year,
|
||||||
"月": current_date.month,
|
"月": req.day.month,
|
||||||
"日": current_date.day
|
"日": req.day.day
|
||||||
}
|
}
|
||||||
merged_dict.update(department)
|
merged_dict.update(department)
|
||||||
merged_dict.update(lead)
|
merged_dict.update(lead)
|
||||||
|
|
|
@ -260,7 +260,7 @@ def get_user_can_watch_department(token_data: TokenData = Depends(token_data_dep
|
||||||
if token_data.manage_departments:
|
if token_data.manage_departments:
|
||||||
for item in token_data.manage_departments.split(","):
|
for item in token_data.manage_departments.split(","):
|
||||||
can_watch_department.add(int(item))
|
can_watch_department.add(int(item))
|
||||||
can_watch_department_list = [department_dict[item] for item in can_watch_department]
|
can_watch_department_list = [department_dict[item] for item in can_watch_department if item not in [1,2,3]]
|
||||||
return {'item_list': can_watch_department_list, "count": len(can_watch_department_list)}
|
return {'item_list': can_watch_department_list, "count": len(can_watch_department_list)}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue