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.orm import Session
|
||||
from Models.DailyModel import Daily
|
||||
from Schemas.DailySchemas import DailyQuery
|
||||
from Schemas.DailySchemas import DailyQuery, DailyTypeEnum
|
||||
|
||||
|
||||
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
|
||||
if auth:
|
||||
auth_list = auth.split(',')
|
||||
# 有日报管理权限的可以查看所有
|
||||
if '10' not in auth_list:
|
||||
# 有日报管理权限的可以查看所有 10
|
||||
# 所有部门动态查看 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']]
|
||||
# query = query.filter(or_(*[func.find_in_set(str(item), Daily.required_auth) for item in has_auth],
|
||||
# Daily.required_auth._in['', None]))
|
||||
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))))
|
||||
for key, value in params_dict.items():
|
||||
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 datetime import datetime, date
|
||||
|
||||
test_email = ["wuchunquan@fecr.com.cn", "wangsichuan@fecr.com.cn"]
|
||||
|
||||
comment_notice_send = """您的日报有新的反馈:
|
||||
|
||||
日报内容:
|
||||
|
@ -42,6 +44,10 @@ daily_fill_send = """您好
|
|||
若在使用过程中出现问题,请联系小程序管理员王思川(wangsichuan@fecr.com.cn)帮助您处理。
|
||||
祝你工作顺利。"""
|
||||
|
||||
daily_pdf_upload_notice = """您好
|
||||
今日的运行日报已上传,请于微信小程序【FECR业务助手】->【运行日报】查看
|
||||
"""
|
||||
|
||||
# 2023年的节假日,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,
|
||||
|
@ -118,11 +124,14 @@ class DailyNotice:
|
|||
*[func.find_in_set(str(d_id), User.department) for d_id in
|
||||
can_watch_departments])):
|
||||
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:
|
||||
# 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 emails]
|
||||
|
||||
# 测试
|
||||
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):
|
||||
|
||||
|
|
|
@ -289,12 +289,11 @@ def daily_export_to_pdf(req: DailySchemas.DailyExportToPdfReq, db: Session = Dep
|
|||
subject[k4] = first + '\n' + subject[k4]
|
||||
else:
|
||||
subject[k4] = '未报送'
|
||||
|
||||
current_date = datetime.datetime.now()
|
||||
merged_dict = {
|
||||
"年": current_date.year,
|
||||
"月": current_date.month,
|
||||
"日": current_date.day
|
||||
"年": req.day.year,
|
||||
"月": req.day.month,
|
||||
"日": req.day.day
|
||||
}
|
||||
merged_dict.update(department)
|
||||
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:
|
||||
for item in token_data.manage_departments.split(","):
|
||||
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)}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue