def setData(self, index, value, role=QtCore.Qt.EditRole): column = index.column() row = index.row() if not variantEq(self.data(index, role), value): if column == 2: # специальность specialityId = forceRef(value) if not specialityId: self.cols()[3].setFilter(u'') else: self.cols()[3].setFilter(u'speciality_id = %s' % (specialityId)) result = CInDocTableModel.setData(self, index, value, role) return result if column == 3: # сотрудник personId = forceRef(value) if not personId: self.cols()[2].setFilter(u'') else: self.cols()[2].setFilter( u'id IN (SELECT DISTINCT speciality_id FROM vrbPersonWithSpeciality WHERE id = %s)' % (personId)) result = CInDocTableModel.setData(self, index, value, role) return result return CInDocTableModel.setData(self, index, value, role) else: return True
def __init__(self, parent): CInDocTableModel.__init__(self, 'DloDrugFormulary_Item', 'id', 'master_id', parent) self.addCol(CInDocTableCol(u'Код', 'code', 50)).setValueType(QVariant.Int) self.addCol(CRBInDocTableCol( u'МНН', 'mnn_id', 200, 'dlo_rbMNN')).setValueType(QVariant.String) self.addCol(CInDocTableCol(u'Наименование', 'name', 500)).setValueType(QVariant.String) self.addCol( CRBInDocTableCol(u'Форма выпуска', 'issueForm_id', 400, 'dlo_rbIssueForm')).setValueType(QVariant.String) self.addCol( CRBInDocTableCol(u'Торговое наименование', 'tradeName_id', 400, 'dlo_rbTradeName')).setValueType(QVariant.String) self.addCol(CInDocTableCol(u'Дозировка кол.', 'dosageQnt', 50)).setValueType(QVariant.Int) self.addCol( CRBInDocTableCol(u'Дозировка (ед.)', 'dosage_id', 200, 'dlo_rbDosage')).setValueType(QVariant.String) self.addCol(CInDocTableCol(u'Кол.ед.', 'qnt', 50)).setValueType(QVariant.Int) self.addCol(CBoolInDocTableCol(u'Наркотик?', 'isDrugs', 400)).setValueType(QVariant.Bool) self.addCol( CRBInDocTableCol(u'Единица измерения (базовая)', 'baseUnit_id', 100, 'rbUnit')).setValueType(QVariant.Int) self._idxFieldName = 'name'
def __init__(self, parent): CInDocTableModel.__init__(self, 'OrgStructure_HospitalBed', 'id', 'master_id', parent) self.addCol(CInDocTableCol(u'Код койки', 'code', 10)) self.addCol(CInDocTableCol(u'Код палаты', 'ward', 10)) self.addCol(CInDocTableCol(u'Наименование', 'name', 20)) self.addCol(CBoolInDocTableCol(u'Штат', 'isPermanent', 10)) self.addCol( CRBInDocTableCol(u'Тип', 'type_id', 10, 'rbHospitalBedType', prefferedWidth=150)) self.addCol( CRBInDocTableCol(u'Профиль', 'profile_id', 10, 'rbHospitalBedProfile', prefferedWidth=150)) self.addCol(CIntInDocTableCol(u'Смены', 'relief', 20, low=0, high=9)) self.addCol( CRBInDocTableCol(u'Режим', 'schedule_id', 10, 'rbHospitalBedShedule', prefferedWidth=150)) self.addCol(CEnumInDocTableCol(u'Пол', 'sex', 5, ['', u'М', u'Ж'])) self.addCol(CInDocTableCol(u'Возраст', 'age', 12)) self.addCol( CDateInDocTableCol(u'Начало', 'begDate', 15, canBeEmpty=True)) self.addCol( CDateInDocTableCol(u'Окончание', 'endDate', 15, canBeEmpty=True)) self.__involuteBeds = [] self.__involuteBedsModel = None
def __init__(self, clientId, actionPropertyList, parent): CInDocTableModel.__init__(self, 'ActionProperty', 'id', '', parent) self.clientId = clientId self.actionPropertyList = actionPropertyList self.addCol( CDateInDocTableCol(u'Начато', 'begDate', 10, canBeEmpty=True)) self.addCol( CDateInDocTableCol(u'Окончено', 'endDate', 10, canBeEmpty=True)) self.addCol( CEnumInDocTableCol( u'Состояние', 'status', 10, CActionType.retranslateClass(False).statusNames)) for i, (actionProperty, showUnit, showNorm) in enumerate(self.actionPropertyList): seq = '_' + str(i + 1) self.addCol( CActionPropertyValueTableCol(actionProperty.type().name, 'value' + seq, 30, actionProperty)) if showUnit: self.addCol( CRBInDocTableCol(u'Ед.изм.', 'unit_id' + seq, 10, 'rbUnit', isRTF=True)) if showNorm: self.addCol(CInDocTableCol(u'Норма', 'norm' + seq, 30)) self.setEnableAppendLine(False)
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbService_MKB', 'id', 'master_id', parent) self.addCol(CICDExInDocTableCol( u'МКБ', 'mkb', 10, ))
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbService_Goal', 'id', 'master_id', parent) self.addCol( CRBInDocTableCol(u'Цель', 'goal_id', 20, 'rbEventGoal', showFields=CRBComboBox.showName))
def __init__(self, parent): CInDocTableModel.__init__(self, 'StockMotion_Item', 'id', 'master_id', parent) self.addCol(CNomenclatureInDocTableCol(u'ЛСиИМН', 'nomenclature_id', 50, showFields = CRBComboBox.showName)) self.addCol(CInDocTableCol( u'Партия', 'batch', 16)) self.addCol(CDateInDocTableCol( u'Годен до', 'shelfTime', 12, canBeEmpty=True)) self.addCol(CRBInDocTableCol( u'Прежний тип финансирования', 'oldFinance_id', 15, 'rbFinance')) self.addCol(CRBInDocTableCol( u'Новый тип финансирования', 'finance_id', 15, 'rbFinance')) self.addCol(CFloatInDocTableCol( u'Кол-во', 'qnt', 12)) self.addCol(CFloatInDocTableCol( u'Сумма', 'sum', 12))
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbTest_AnalogTest', 'id', 'master_id', parent) self.addCol( CRBTestAnalogCol(u'Тест аналог', 'analogTest_id', 15, 'rbTest', parent, showFields=2))
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbService_Contents', 'id', 'master_id', parent) self.addCol( CCodeNameInDocTableCol(u'Услуга', 'service_id', 40, rbService, prefferedWidth=100)) self.addCol(CBoolInDocTableCol(u'Обязательно', 'required', 10))
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbSocStatusClassTypeAssoc', 'id', 'class_id', parent) self.addCol( CRBInDocTableCol(u'Наименование', 'type_id', 20, 'rbSocStatusType', showFields=CRBComboBox.showNameAndCode)) self.addCol(CBoolInDocTableCol(u'По умолчанию', 'isDefault', 20))
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbJobType_Quota', 'id', 'master_id', parent) self.addCol(CIntInDocTableCol(u'Количество', 'count', 12)) self.addCol( COrgStructureInDocTableCol(u'Отделение', 'orgStructure_id', 12)) self.addCol( CRBInDocTableCol(u'Специальность', 'speciality_id', 12, 'rbSpeciality')) self.addCol(CRBInDocTableCol(u'Должность', 'post_id', 12, 'rbPost')) self.addCol(CPersonFindInDocTableCol(u'Врач', 'person_id', 12))
def __init__(self, parent): CInDocTableModel.__init__(self, 'DrugFormulary_Item', 'id', 'master_id', parent) self.addCol( CFormularyItemInDocTableCol(u'Препарат', 'drug_id', 400, order='name ASC')).setValueType( QVariant.Int) self.addCol(CInDocTableCol(u'Кол.ед.', 'limit', 50)).setValueType(QVariant.Int)
def saveItems(self, masterId): CInDocTableModel.saveItems(self, masterId) saveItems = self.__involuteBedsModel.items() if self.__involuteBedsModel: try: for row, item in enumerate(self.items()): itemId = forceInt(item.value('id')) self.__involuteBedsModel.setItems(self.involuteBeds(row)) self.__involuteBedsModel.saveItems(itemId) self.__involuteBedsModel.setItems(saveItems) finally: self.__involuteBedsModel.blockSignals(False)
def __init__(self, parent): CInDocTableModel.__init__(self, 'rbEquipment_Test', 'id', 'test_id', parent) self.addCol( CRBEquipmentCol(u'Оборудование', 'equipment_id', 15, 'rbEquipment')) self.addCol(CInDocTableCol(u'Код теста', 'hardwareTestCode', 15)) self.addCol( CInDocTableCol(u'Наименование теста', 'hardwareTestName', 15)) self.addCol(CInDocTableCol(u'Код образца', 'hardwareSpecimenCode', 15)) self.addCol( CInDocTableCol(u'Наименование образца', 'hardwareSpecimenName', 15))