Загрузка справочника РЛС из установочной БД
This commit is contained in:
parent
340872a85d
commit
d51402e91b
|
@ -170,17 +170,18 @@ class Rls(BaseModel):
|
||||||
enddate = DateField(null=True, help_text='Дата окончания действия регистрационного удостоверения')
|
enddate = DateField(null=True, help_text='Дата окончания действия регистрационного удостоверения')
|
||||||
cancellationdate = DateField(null=True, help_text='Дата аннулирования регистрационного удостоверения')
|
cancellationdate = DateField(null=True, help_text='Дата аннулирования регистрационного удостоверения')
|
||||||
nameregcertificate = TextField(null=True, help_text='Юридическое лицо, на имя которого выдано регистрационное удостоверение')
|
nameregcertificate = TextField(null=True, help_text='Юридическое лицо, на имя которого выдано регистрационное удостоверение')
|
||||||
country = ForeignKeyField(RlsInitCountry, backref='rlsinit', help_text='Страна производства')
|
country = ForeignKeyField(RlsCountry, backref='rlsinit', help_text='Страна производства')
|
||||||
tradename = TextField(null=True, help_text='Торговое наименование лекарственного средства')
|
tradename = TextField(null=True, help_text='Торговое наименование лекарственного средства')
|
||||||
internationalname = TextField(null=True, help_text='Международное непатентованное или химическое наименование лекарственного средства')
|
internationalname = TextField(null=True, help_text='Международное непатентованное или химическое наименование лекарственного средства')
|
||||||
formrelease = TextField(null=True, help_text='Формы выпуска')
|
formrelease = TextField(null=True, help_text='Формы выпуска')
|
||||||
stages = TextField(null=True, help_text='Сведения о стадиях производства')
|
stages = TextField(null=True, help_text='Сведения о стадиях производства')
|
||||||
barcodes = TextField(null=True, help_text='Штрих-коды потребительской упаковки')
|
barcodes = TextField(null=True, help_text='Штрих-коды потребительской упаковки')
|
||||||
normativedocumentation = TextField(null=True, help_text='Нормативная документация')
|
normativedocumentation = TextField(null=True, help_text='Нормативная документация')
|
||||||
pharmacotherapeuticgroup = ForeignKeyField(RlsInitPharmacoTherapeuticGroup, backref='rlsinit', help_text='Фармако-терапевтическая группа')
|
pharmacotherapeuticgroup = ForeignKeyField(RlsPharmacoTherapeuticGroup, backref='rlsinit', help_text='Фармако-терапевтическая группа')
|
||||||
class RlsIndex(BaseFTSModel):
|
class RlsIndex(BaseFTSModel):
|
||||||
rowid = RowIDField()
|
rowid = RowIDField()
|
||||||
|
tradename = SearchField()
|
||||||
|
internationalname = SearchField()
|
||||||
### Настройки
|
### Настройки
|
||||||
class Settings(BaseModel):
|
class Settings(BaseModel):
|
||||||
key = TextField()
|
key = TextField()
|
||||||
|
@ -215,5 +216,6 @@ db.create_tables([
|
||||||
RlsPharmacoTherapeuticGroup,
|
RlsPharmacoTherapeuticGroup,
|
||||||
RlsCountry,
|
RlsCountry,
|
||||||
Rls,
|
Rls,
|
||||||
|
RlsIndex,
|
||||||
Settings
|
Settings
|
||||||
])
|
])
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from mods.db import db, Settings, Diag, DiagCategory, diag_db, Diagnosis, DiagnosisCategory, DiagnosisIndex, rls_db, RlsInit, RlsInitCountry
|
from mods.db import db, Settings, Diag, DiagCategory, diag_db, Diagnosis, DiagnosisCategory, DiagnosisIndex, rls_db, RlsInit, RlsInitCountry
|
||||||
from mods.db import RlsInitPharmacoTherapeuticGroup, Rls, RlsCountry, RlsPharmacoTherapeuticGroup
|
from mods.db import RlsInitPharmacoTherapeuticGroup, Rls, RlsCountry, RlsPharmacoTherapeuticGroup, RlsIndex
|
||||||
|
|
||||||
# Имена ключей параметров
|
# Имена ключей параметров
|
||||||
S_KEY_RECEPTION_LIST = 'reception_list'
|
S_KEY_RECEPTION_LIST = 'reception_list'
|
||||||
|
@ -68,10 +68,35 @@ q = Rls.select().limit(10)
|
||||||
if not len(q):
|
if not len(q):
|
||||||
rls_db.connect()
|
rls_db.connect()
|
||||||
__rls_ptg_map_ = {}
|
__rls_ptg_map_ = {}
|
||||||
__rls_cnt_map = {}
|
|
||||||
for ptg in RlsInitPharmacoTherapeuticGroup.select():
|
for ptg in RlsInitPharmacoTherapeuticGroup.select():
|
||||||
__rls_ptg_map_[ptg.title] = RlsPharmacoTherapeuticGroup.create(title=ptg.title)
|
__rls_ptg_map_[ptg] = RlsPharmacoTherapeuticGroup.create(title=ptg.title)
|
||||||
for cnt in RlsCountry.select():
|
for ptg in __rls_ptg_map_.keys():
|
||||||
__rls_cnt_map[cnt.title] = RlsCountry.create(title=cnt.title)
|
for ls in RlsInit.select().where(RlsInit.pharmacotherapeuticgroup == ptg):
|
||||||
|
q = RlsCountry.select().where(RlsCountry.title == ls.country.title)
|
||||||
|
if len(q):
|
||||||
|
cnt = q.get()
|
||||||
|
else:
|
||||||
|
cnt = RlsCountry.create(title=ls.country.title)
|
||||||
|
new_rls = Rls.create(
|
||||||
|
regnumber=ls.regnumber,
|
||||||
|
regdate=ls.regdate,
|
||||||
|
enddate=ls.enddate,
|
||||||
|
cancellationdate=ls.cancellationdate,
|
||||||
|
nameregcertificate=ls.nameregcertificate,
|
||||||
|
country=cnt,
|
||||||
|
tradename=ls.tradename,
|
||||||
|
internationalname=ls.internationalname,
|
||||||
|
formrelease=ls.formrelease,
|
||||||
|
stages=ls.stages,
|
||||||
|
barcodes=ls.barcodes,
|
||||||
|
normativedocumentation=ls.normativedocumentation,
|
||||||
|
pharmacotherapeuticgroup=__rls_ptg_map_[ptg]
|
||||||
|
)
|
||||||
|
RlsIndex.insert({
|
||||||
|
RlsIndex.rowid: new_rls.id,
|
||||||
|
RlsIndex.tradename: new_rls.tradename,
|
||||||
|
RlsIndex.internationalname: new_rls.internationalname
|
||||||
|
}).execute()
|
||||||
|
del __rls_ptg_map_
|
||||||
|
rls_db.close()
|
||||||
###########################
|
###########################
|
||||||
|
|
Loading…
Reference in New Issue