You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
#!/usr/bin/env python
|
|
# -*- encoding: utf-8 -*-
|
|
'''
|
|
@Date:2022/07/19 13:54:49
|
|
'''
|
|
from sqlalchemy import or_, desc
|
|
from db_logic.db_base import Repository
|
|
from models.warning_models import EntityWarning
|
|
#预警信息业务逻辑类
|
|
class BllWarning(Repository):
|
|
def __init__(self, entityType=EntityWarning):
|
|
return super().__init__(entityType)
|
|
|
|
#获取预警列表
|
|
def getWarningList(self,customerId,pageParam,keyWord=''):
|
|
keyWord='%'+keyWord+'%'
|
|
orm_query= self.findList().filter(
|
|
EntityWarning.customer_id==customerId
|
|
).filter(
|
|
or_(EntityWarning.object_name.like(keyWord),
|
|
EntityWarning.warning_user_name.like(keyWord))
|
|
).order_by(desc(EntityWarning.warning_date))
|
|
return self.queryPage(orm_query,pageParam)
|
|
|
|
#获取预警类型数量
|
|
def getWarningCount(self):
|
|
recordList=self.findList().all()
|
|
# 过期预警列表
|
|
gqList = [record for record in recordList if record.object_type == '2']
|
|
# 余量预警列表
|
|
ylList = [record for record in recordList if record.object_type == '3']
|
|
return (len(recordList),len(gqList),len(ylList))
|