Пример #1
0
 def __init__(self, parent):
     CHierarchicalItemsListDialog.__init__(self, parent, [
         CDesignationCol(u'Класс', [
             'id'
         ], ('Select id, getMKBClassID(DiagID) as ClassID from MKB_Tree as MKB2',
             'ClassID'), 10),
         CDesignationCol(u'Блок', [
             'id'
         ], ('Select id, getMKBBlockID(DiagID) as BlockID from MKB_Tree as MKB2',
             'BlockID'), 10),
         CTextCol(u'Код', ['DiagID'], 10),
         CTextCol(u'Прим', ['Prim'], 3),
         CTextCol(u'Наименование', ['DiagName'], 40),
         CEnumCol(u'Характер', ['characters'], MKBCharacters, 10),
         CEnumCol(u'Пол', ['sex'], SexList, 10),
         CTextCol(u'Возраст', ['age'], 10),
         CTextCol(u'Длительность', ['duration'], 4),
         CRefBookCol(u'Субклассификация', ['MKBSubclass_id'],
                     'rbMKBSubclass', 10),
         CRefBookCol(u'Базовая услуга', ['service_id'], rbService, 30),
     ], 'MKB_Tree', ['DiagID'])
     self.expandedItemsState = {}
     self.setWindowTitleEx(u'Коды МКБ X')
     self.props = {}
     self.tblItems.addPopupDelRow()
Пример #2
0
 def __init__(self, parent):
     CTableModel.__init__(self, parent, [
         CBookkeeperCodeCol(u'Код ОМС',        ['event_id'], [('Event', 'execPerson_id'),
                                                              ('vrbPersonWithSpeciality', 'orgStructure_id')], 20),
         CTextCol(    u'Описание ошибки',      [ 'errorCode' ], 100),
         CDesignationCol(u'ФИО пациента',      [ 'event_id' ], [('Event', 'client_id'),
                                                                ('Client', 'CONCAT_WS(" ", lastName, firstName, patrName)')], 35),
         CDesignationCol(u'Дата рождения',     [ 'event_id' ], [('Event', 'client_id'),
                                                                ('Client', 'birthDate')],   20),
         CDateTimeCol(u'Дата/время',           [ 'dateTime' ],   20),
         CRecNumCol(  u'Серия и номер рецепта',[ 'number' ],     20),
         CTextCol(    u'Код льготы',           [ 'socCode' ], 20),
         CIntCol(     u'№ карты беременной',   [ 'pregCard' ], 50),
         CRefBookCol( u'Источник финансирования',[ 'finance_id' ], 'rbFinance', 50, CRBComboBox.showCodeAndName),
         CIntCol(     u'Процент оплаты',       [ 'percentage' ], 20),
         CTextCol(    u'МКБ',                  [ 'mkb' ], 50),
         CRefBookCol( u'Препарат',             [ 'formularyItem_id' ], 'DloDrugFormulary_Item', 50, CRBComboBox.showCodeAndName),
         CTextCol(    u'Дозировка',            [ 'dosage' ],      50),
         CIntCol(     u'Количество',           [ 'qnt' ],        20),
         CValueCol(   u'Продолжительность',    [ 'duration' ],   50, u'дней'),
         CIntCol(     u'Приёмов в день',       [ 'numPerDay'],     50),
         CTextCol(    u'Порядок приёма',       [ 'signa' ],      50),
         CBoolCol(    u'Наличие протокола ВК', [ 'isVk' ],       15),
         CEnumCol(    u'Срок действия',        [ 'term' ],   [ u'5 дней', u'10 дней', u'1 месяц', u'3 месяца' ], 12),
         CEnumCol(    u'Статус',               [ 'status' ], [u'Действителен', u'Недействителен', u'Испорчен'], 20),
         CDesignationCol(u'Врач',              [ 'event_id'], [('Event', 'execPerson_id'),
                                                               ('vrbPersonWithSpeciality', 'name')], 35),
     ],
      'DrugRecipe')
Пример #3
0
 def __init__(self, parent):
     CTableModel.__init__(self, parent, [
         CDesignationCol(u'Код', ['jobType_id'], ('rbJobType', 'code'), 6),
         CDesignationCol(u'Наименование', ['jobType_id'],
                         ('rbJobType', 'name'), 20),
         CTimeCol(u'С', ['begTime'], 6),
         CTimeCol(u'По', ['endTime'], 6),
         CNumCol(u'Количеcтво', ['quantity'], 6),
         CDesignationCol(u'Подразделение', ['master_id'],
                         ('OrgStructure', 'code'), 5),
         CDateCol(u'Расписание видимо до', ['lastAccessibleDate'], 6)
     ], 'OrgStructure_Job')
     self.parentWidget = parent
Пример #4
0
    def __init__(self, parent, actionsMap=None):
        """

        :param parent: владелец создаваемого объекта
        :param actionsMap: словарь {actionId : CAction} для актуализации вывода ассистентов
        """
        if not actionsMap:
            actionsMap = {}
        self._parent = parent
        self._actionsMap = actionsMap

        fields = [
            CDesignationCol(u'Мероприятие', ['actionType_id'], ('ActionType', 'name'), 20),
            CPayStatusColumn(u'Оплата', ['payStatus', 'contract_id'], 20, 'l'),
            CEnumCol(u'Статус', ['status'], CActionType.retranslateClass(False).statusNames, 6),
            CDateTimeCol(u'Назначено', ['directionDate'], 20),
            CDesignationCol(u'Назначил', ['setPerson_id'], ('vrbPersonWithSpeciality', 'name'), 20),
            CDesignationCol(u'Ответственный', ['person_id'], ('vrbPersonWithSpeciality', 'name'), 20)
        ]

        # Добавление столбцов с ассистентами
        # FIXME: atronah: не обновляется значение после изменения его через F2 (диалоговый редактор),
        # так как здесь чтение из базы, в которую изменения еще не попали
        for assistantSuffix in [u'', u'2', u'3']:
            if self._actionsMap:
                valuesGetter = self.CAssistantIdGetter(self._actionsMap, u'assistant' + assistantSuffix)
            else:
                valuesGetter = None
            assistantTypeId = forceRef(QtGui.qApp.db.translate('rbActionAssistantType',
                                                               'code',
                                                               u'assistant' + assistantSuffix,
                                                               'id'))
            fields.append(CBackRelationCol(interfaceCol=CDesignationCol(title=u'Ассистент' + assistantSuffix,
                                                                        fields=['person_id'],
                                                                        designationChain=(
                                                                            'vrbPersonWithSpeciality', 'name'),
                                                                        defaultWidth=20),
                                           primaryKey='id',
                                           subTableName='Action_Assistant',
                                           subTableForeignKey='action_id',
                                           subTableCond='assistantType_id = %s' % assistantTypeId,
                                           alternativeValuesGetter=valuesGetter))

        if QtGui.qApp.defaultMorphologyMKBIsVisible():
            fields.insert(2, CTextCol(u'МКБ', ['MKB'], 8))
            fields.insert(3, CTextCol(u'Морфология МКБ', ['morphologyMKB'], 14))
        CTableModel.__init__(self, parent, fields)
        self.loadField('*')
        self.setTable('Action', recordCacheCapacity=None)
Пример #5
0
 def __init__(self, parent):
     CHierarchicalItemsListDialog.__init__(self, parent, [
         CDesignationCol(u'ЛПУ', ['organisation_id'],
                         ('Organisation', 'infisCode'), 5),
         CTextCol(u'Код', ['code'], 40),
         CTextCol(u'Наименование', ['name'], 40),
     ], 'OrgStructure', ['organisation_id', 'parent_id', 'code', 'name'])
     self.setWindowTitleEx(u'Структура ЛПУ')
     self.expandedItemsState = {}
Пример #6
0
 def __init__(self, parent):
     super(CRBEQueueType, self).__init__(parent, [
         CTextCol(u'Код', [rbCode], 20),
         CTextCol(u'Наименование', [rbName], 40),
         CTextCol(u'Префикс номерка', ['ticketPrefix'], 40),
         CDesignationCol(u'Подразделение', ['orgStructure_id'],
                         ('OrgStructure', 'name'), 5),
         CBoolCol(u'Сразу готов к вызову', ['isImmediatelyReady'], 40),
     ], 'rbEQueueType', [rbCode, rbName])
     self.setWindowTitleEx(u'Типы электронной очереди')
Пример #7
0
 def __init__(self, parent):
     CItemsListDialog.__init__(self, parent, [
         CTextCol(u'Код', [rbCode], 20),
         CRefBookCol(u'Организационная форма', ['OKPF_id'], rbOKPF, 20),
         CDesignationCol(u'Организация', ['org_id'],
                         ('Organisation', 'shortName'), 12),
         CTextCol(u'Номер договора', ['contractNumber'], 20),
         CDateCol(u'Дата заключения договора', ['contractDate'], 10),
         CDateCol(u'Дата окончания договора', ['contractEndDate'], 10),
         CTextCol(u'Сумма договора', ['contractSum'], 10)
     ], rbAssignedContracts, [rbCode])
Пример #8
0
 def __init__(self, parent):
     CItemsSplitListDialogEx.__init__(self, parent, 'rcTable', [
         CTextCol(u'Наименование', ['name'], 50),
         CTextCol(u'Таблица', ['table'], 50),
     ], ['name'], 'rcField', [
         CTextCol(u'Наименование', ['name'], 50),
         CTextCol(u'Поле', ['field'], 50),
         CBoolCol(u'Видимость', ['visible'], 10),
         CDesignationCol(u'Ссылка', [
             'ref_id'
         ], (u"Select rcField.id as id, Concat_WS('.', rcTable.name, rcField.name) as name From rcField inner join rcTable on rcField.rcTable_id = rcTable.id",
             'name'), 10),
     ], 'rcTable_id', 'rcTable_id')
     self.setWindowTitleEx(u'Услуги')
Пример #9
0
 def __init__(self, parent = None):
     #atronah: Для возможности отвязать в дальнейшем классы от QtGui.qApp.db 
     #(пока что эта связь есть в CTableModel и поэтому я ее сохраняю)
     self._db = QtGui.qApp.db
     
     cols = [CTextCol(u'Код', ['code'], 10),
             CTextCol(u'Наименование', ['name'], 64),
             CDesignationCol(u'Подразделение', ['orgStructure_id'], ('OrgStructure', 'code'), 10),
             CTextCol(u'Шлюз', ['host'], 16),
             CIntCol(u'Порт', ['port'], 8)]
     CTableModel.__init__(self, 
                          parent,
                          cols,
                          CGatewayConfigModel.eqGatewayConfigTableName
                          )
     self.setIdList(self._db.getIdList(CGatewayConfigModel.eqGatewayConfigTableName))
Пример #10
0
    def __init__(self, parent):
        self._attachedCache = {}
        self._attachCountCol = CAttachedCountCol(
            u'Кол-во прикрепленного населения', ['id'],
            10,
            colIndex=0,
            cache=self._attachedCache)
        self._territorialCountCol = CAttachedCountCol(
            u'Кол-во пациентов по территориальному типу', ['id'],
            10,
            colIndex=1,
            cache=self._attachedCache)
        self._attachedCountCol = CAttachedCountCol(
            u'Кол-во пациентов по заявлению', ['id'],
            10,
            colIndex=2,
            cache=self._attachedCache)
        self._notSyncedCol = CAttachedCountCol(
            u'Кол-во несинхронизированного населения', ['id'],
            10,
            colIndex=3,
            cache=self._attachedCache,
            enabled=QtGui.qApp.isKrasnodarRegion())

        super(COrgStructureAttachModel,
              self).__init__(parent,
                             cols=[
                                 CDesignationCol(u'ЛПУ', ['organisation_id'],
                                                 ('Organisation', 'infisCode'),
                                                 5),
                                 CTextCol(u'Код', ['code'], 40),
                                 CTextCol(u'Наименование', ['name'], 40),
                                 self._attachCountCol,
                                 self._notSyncedCol,
                                 self._territorialCountCol,
                                 self._attachedCountCol,
                             ],
                             tableName='OrgStructure')