riku
2024-01-10 a9e8e27e0503552b7b2a99c821da732175d4f071
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
U
¢‘Iefã@s`ddlmZddlmZddlmZddlmZddlmZddl    m
Z
eGdd„de ƒƒZ d    S)
é)Ú    singleton)Údb_conn)ÚSiteLatestTime)Ú    DateUtils)Údatetime)ÚEnumSiteStatusc@sTeZdZdZddœdd„Zedœdd„Zdd    „Zeed
œd d „Z    e
ed œdd„Z dS)ÚSiteLatestTimeRepositoryu-站点数据最新时刻相关数据库操作N)ÚreturncCsdS©N©©Úselfr r úMe:\PycharmProject\fugitive_dust_new\src\db\repository\site_latest_time_rep.pyÚ__init__ sz!SiteLatestTimeRepository.__init__cCstjdd„ddS)u 查询全部cSs| t¡ ¡Sr
)ÚqueryrÚall©Úsessionr r rÚ<lambda>óz4SiteLatestTimeRepository.query_all.<locals>.<lambda>T©Ú new_session©rÚ    query_sqlr r r rÚ    query_allsz"SiteLatestTimeRepository.query_allcs‡fdd„}tj|ddS)u?根据当前数据表中的数据最新时刻刷新运行状态cs2| t¡ ¡}|D]}ˆ ||j¡q| ¡dSr
)rrrÚupdate_site_statusÚ latest_timeÚcommit)rZdatasÚdr r rÚfsz7SiteLatestTimeRepository.refresh_site_status.<locals>.fTrr)r rr r rÚrefresh_site_statuss z,SiteLatestTimeRepository.refresh_site_status)Úobjr    cCs^t |t ¡¡}|dkr|S|dkr.tjj}n|dkr@tjj}ntjj}t     |¡|_
||_ |S)uf
        æ›´æ–°ç«™ç‚¹æœ€æ–°æ—¶åˆ»åŠçŠ¶æ€
        çŠ¶æ€ï¼šä¸Šçº¿(0)、停运(1)和下线(2)
        réé) rÚ time_distancerÚnowrÚOnlineÚvalueÚStopZOfflineÚ
time_checkrÚ device_status)r r!ÚtimeZ    diff_daysÚstatusr r rrs
 
 z+SiteLatestTimeRepository.update_site_status)r,r    cs‡fdd„}tj|ddS)u'根据站点状态获取最新时刻表cs| t¡jˆd ¡S)N)r*)rrÚ    filter_byrr©r,r rr4sz8SiteLatestTimeRepository.query_by_site_status.<locals>.fTrr)r r,rr r.rÚquery_by_site_status1s z-SiteLatestTimeRepository.query_by_site_status) Ú__name__Ú
__module__Ú __qualname__Ú__doc__rÚlistrr rrÚintr/r r r rr    s 
rN) Údecorator.singletonrÚ
db.db_connrÚdb.models.tablesrÚutils.date_utilsrrÚenumeration.enum_site_statusrÚobjectrr r r rÚ<module>s