from mods.db import db, Settings, Diag, DiagCategory, diag_db, Diagnosis, DiagnosisCategory, DiagnosisIndex # Имена ключей параметров S_KEY_RECEPTION_LIST = 'reception_list' S_RECEPTION_LIST_DAY_START = 'day_start' S_RECEPTION_LIST_DAY_END = 'day_end' S_RECEPTION_LIST_INTERVAL = 'interval' # Получение параметров def s_get_reception_list(): class RLSettings: day_start = None day_end = None interval = None s = Settings.get(Settings.key == S_KEY_RECEPTION_LIST).val o = RLSettings() o.day_start = s[S_RECEPTION_LIST_DAY_START] o.day_end = s[S_RECEPTION_LIST_DAY_END] o.interval = s[S_RECEPTION_LIST_INTERVAL] return o # Установка параметров def s_set_reception_list(dstart, dend, interval): v = { S_RECEPTION_LIST_DAY_START: dstart, S_RECEPTION_LIST_DAY_END: dend, S_RECEPTION_LIST_INTERVAL: interval } with db.atomic(): q = Settings.select().where(Settings.key == S_KEY_RECEPTION_LIST) if not len(q): Settings.create(key=S_KEY_RECEPTION_LIST, val=v) else: Settings.update(val=v).where(Settings.key == S_KEY_RECEPTION_LIST).execute() ### Инициализация начальных значений параметров # Начальный график приёмов with db.atomic(): q = Settings.select().where(Settings.key == S_KEY_RECEPTION_LIST) if not len(q): s_set_reception_list([8,0], [17,0], 30) ########################## # Загрузка диагнозов МКБ 10 q = Diagnosis.select() if not len(q): diag_db.connect() __root_cat_map_ = {} __subcat_map_ = {} for root_cat in DiagCategory.select().where(DiagCategory.parent == None): __root_cat_ = DiagnosisCategory.create(title=root_cat.title) __root_cat_map_[root_cat] = __root_cat_ for root_cat in __root_cat_map_.keys(): for sc in DiagCategory.select().where(DiagCategory.parent == root_cat): __subcat_ = DiagnosisCategory.create(parent=__root_cat_map_[root_cat], title=sc.title) __subcat_map_[sc] = __subcat_ for diag in Diag.select().where(Diag.category == sc): new_diag = Diagnosis.create(category=__subcat_map_[sc], code=diag.code, title=diag.title) DiagnosisIndex.insert({ DiagnosisIndex.rowid: new_diag.id, DiagnosisIndex.code: new_diag.code, DiagnosisIndex.title: new_diag.title }).execute() del __subcat_map_ del __root_cat_map_ diag_db.close() ###########################