Ejemplo n.º 1
0
    def __init__(self, patient_id):
        #:
        self.patient_id = patient_id
        #:
        self.record_list = []
        self._orig_record_list = []

        query = '''select tooth, surfaces, material, comment
        from %s where patient_id=?''' % TABLENAME

        q_query = QtSql.QSqlQuery(SETTINGS.psql_conn)
        q_query.prepare(query)
        q_query.addBindValue(patient_id)
        q_query.exec_()
        while q_query.next():
            record = q_query.record()

            new = FillRecord()
            QtSql.QSqlQuery.__init__(new, record)

            ## make a copy (a marker of database state)
            orig = QtSql.QSqlRecord()
            QtSql.QSqlQuery.__init__(orig, record)

            #self.record_list.append(record)
            self.record_list.append(new)
            self._orig_record_list.append(orig)
Ejemplo n.º 2
0
    def get_records(self):
        '''
        poll the database to get all address records associated with the
        patient_id given at init
        '''
        self.record_list, self.orig_record_list = [], []

        # this query LOOKS simple.. but the underlying view is VERY complex.
        query = '''
    select * from view_addresses where patient_id=? order by mailing_pref'''
        q_query = QtSql.QSqlQuery(SETTINGS.psql_conn)
        q_query.prepare(query)
        q_query.addBindValue(self.patient_id)
        q_query.exec_()
        while q_query.next():
            record = q_query.record()

            #make a copy
            orig = QtSql.QSqlRecord(record)
            new = AddressRecord(record)

            if self.record_list == []:
                SETTINGS.set_last_used_address(new)

            self.record_list.append(new)
            self.orig_record_list.append(orig)
Ejemplo n.º 3
0
    def get(self, itemId):
        if type(itemId) == QVariant:
            itemId = itemId.toInt()[0]
        res = CRecordCache.get(self, itemId)

        # atronah: Чтобы избежать ситуации с постоянным обращением к базе, если в кеше есть запись, но она пустая
        # было принято решение разделить понятия
        # None - отсутствие в кэше, используется в CRecordCache.get как результат отстутствия в словаре
        #  и
        # QtSql.QSqlRecord() - есть в кэше, но имеет пустое значение.
        if res is None:
            cond = [self.idCol.eq(itemId)]
            if self.deletedCol:
                cond.append(self.database.mainTable(self.table)['deleted'].eq(0))
            if self.filter:
                tblPerson = self.database.table('Person')
                tblOrgStructJob = self.database.table('OrgStructure_Job')
                tblorgStruct = self.database.table('OrgStructure')
                queryTbl = tblPerson.innerJoin(tblorgStruct, tblPerson['orgStructure_id'].eq(tblorgStruct['id']))
                queryTbl = queryTbl.innerJoin(tblOrgStructJob, tblOrgStructJob['master_id'].eq(tblorgStruct['id']))
                orgStructJobId = self.database.translate(queryTbl, tblPerson['id'], QtGui.qApp.userId,
                                                         tblOrgStructJob['id'])
                if orgStructJobId:
                    cond.append(self.database.mainTable(self.table)['orgStructureJob_id'].eq(orgStructJobId))
            res = self.database.getRecordEx(self.table, self.cols, cond, order=self._order)

            self.put(itemId, res if res else QtSql.QSqlRecord())

        # atronah: для совместимости со старым кодом решено не возвращать QtSql.QSqlRecord(), а как и раньше - None для пустой записи
        return res if res and not res.isEmpty() else None
Ejemplo n.º 4
0
 def copyItems(self, items=None):
     if not items:
         items = []
     newItems = []
     for item in items:
         newItems.append(QtSql.QSqlRecord(item))
     return newItems
Ejemplo n.º 5
0
 def on_actDuplicate_triggered(self):
     index = self.tblItems.currentIndex()
     row = index.row()
     items = self.modelItems.items()
     if 0 <= row < len(items):
         newItem = QtSql.QSqlRecord(items[row])
         newItem.setValue('id', QtCore.QVariant())
         self.modelItems.insertRecord(row + 1, newItem)
Ejemplo n.º 6
0
    def __init__(self, parent, equipmentId, tripodCount):
        CRecordListModel.__init__(self, parent)
        self.addCol(CLoadingProbeModel.CLocInDocProbeCol(self))

        self._parent = parent
        self._equipmentId = equipmentId
        self._tripodCapacity = forceInt(QtGui.qApp.db.translate('rbEquipment', 'id', equipmentId, 'tripodCapacity'))
        self._tripodCount = tripodCount
        self._tripodNumber = 0

        self._probeIdList = []
        self._existsProbeIdList = []
        self._mapProbeId2Record = {None: QtSql.QSqlRecord()}
        self._mapCurrentProbeId2Record = {None: QtSql.QSqlRecord()}
        self._mapTripodNumberToItems = {}

        self.buildItemsCache()
Ejemplo n.º 7
0
 def newRecord(self, fields=None, otherRecord=None):
     record = QtSql.QSqlRecord()
     for field in self.fields:
         if fields and field.field.name() not in fields:
             continue
         record.append(QtSql.QSqlField(field.field))
         if otherRecord and otherRecord.contains(field.field.name()) and field != self._idField:
             record.setValue(field.field.name(), otherRecord.value(field.field.name()))
     return record
Ejemplo n.º 8
0
 def empty_record():
     rec = QtSql.QSqlRecord()
     rec.append(QtSql.QSqlField('id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('formula_id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('number', QtCore.QVariant.String))
     rec.append(QtSql.QSqlField('is_deciduous', QtCore.QVariant.Bool))
     rec.append(QtSql.QSqlField('status_id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('mobility', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('deleted', QtCore.QVariant.Bool))
     return rec
Ejemplo n.º 9
0
 def get_record(tooth_id, section, state_id):
     rec = QtSql.QSqlRecord()
     rec.append(QtSql.QSqlField('id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('tooth_id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('section', QtCore.QVariant.String))
     rec.append(QtSql.QSqlField('state_id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('deleted', QtCore.QVariant.Bool))
     rec.setValue('tooth_id', tooth_id)
     rec.setValue('section', section)
     rec.setValue('state_id', state_id)
     return rec
Ejemplo n.º 10
0
    def handle_rcvd_record(self, r):
        # Create QSqlRecord object
        record = QtSql.QSqlRecord()
        record.append(QtSql.QSqlField("timestamp"))
        record.append(QtSql.QSqlField("component"))
        record.append(QtSql.QSqlField("verbosity"))
        record.append(QtSql.QSqlField("message"))
        record.setValue(0, r['asctime'])
        record.setValue(1, r['module'])
        record.setValue(2, r['levelname'])
        record.setValue(3, r['message'])

        # Insert record
        self.insert_record(record)
Ejemplo n.º 11
0
 def _getSubRecord(self, masterId):
     subRecord = self._subRecordCache.setdefault(masterId, None)
     if subRecord is None:
         subRecord = QtGui.qApp.db.getRecordEx(
             table=self._subTable,
             cols='*',
             where=[self._subTable[self._subTableForeignKey].eq(masterId)] +
             self._subTableCond,
             order=u'%s DESC' % self._subTable.idField())
         if subRecord is None:
             subRecord = QtSql.QSqlRecord(self._subTableNewRecord)
             subRecord.setValue(self._subTableForeignKey,
                                QtCore.QVariant(masterId))
         self._subRecordCache[masterId] = subRecord
     return subRecord
Ejemplo n.º 12
0
 def create_person(self, person, person_id=None):
     rec = QtSql.QSqlRecord()
     rec.append(QtSql.QSqlField('code', QtCore.QVariant.String))
     rec.setValue('code', QtCore.QVariant(person['TabNumber']))
     rec.append(QtSql.QSqlField('federalCode', QtCore.QVariant.String))
     rec.setValue('federalCode', QtCore.QVariant(person['TabNumber']))
     rec.append(QtSql.QSqlField('regionalCode', QtCore.QVariant.String))
     rec.setValue('regionalCode', QtCore.QVariant(person['TabNumber']))
     rec.append(QtSql.QSqlField('firstName', QtCore.QVariant.String))
     rec.setValue('firstName', QtCore.QVariant(person['Name']))
     rec.append(QtSql.QSqlField('lastName', QtCore.QVariant.String))
     rec.setValue('lastName', QtCore.QVariant(person['Surname']))
     rec.append(QtSql.QSqlField('patrName', QtCore.QVariant.String))
     rec.setValue('patrName', QtCore.QVariant(person['Patroname']))
     rec.append(QtSql.QSqlField('sex', QtCore.QVariant.Int))
     rec.setValue('sex', QtCore.QVariant(person['Sex']))
     rec.append(QtSql.QSqlField('post_id', QtCore.QVariant.Int))
     if person['PostGUID'] in self.posts:
         rec.setValue('post_id',
                      QtCore.QVariant(self.posts[person['PostGUID']]))
     rec.append(QtSql.QSqlField('speciality_id', QtCore.QVariant.Int))
     if person['SpecialityGUID'] in self.specialities:
         rec.setValue(
             'speciality_id',
             QtCore.QVariant(self.specialities[person['SpecialityGUID']]))
     rec.append(QtSql.QSqlField('orgStructure_id', QtCore.QVariant.Int))
     if person['SubdivisionGUID'] in self.org_structures:
         rec.setValue(
             'orgStructure_id',
             QtCore.QVariant(
                 self.org_structures[person['SubdivisionGUID']]))
     rec.append(QtSql.QSqlField('SNILS', QtCore.QVariant.String))
     rec.setValue('SNILS', QtCore.QVariant(person['SNILS']))
     rec.append(QtSql.QSqlField('birthDate', QtCore.QVariant.Date))
     rec.setValue('birthDate', QtCore.QVariant(person['DateBirth']))
     rec.append(QtSql.QSqlField('syncGUID', QtCore.QVariant.String))
     rec.setValue('syncGUID', QtCore.QVariant(person['GUID']))
     if person['DateEnd']:
         rec.append(QtSql.QSqlField('retired', QtCore.QVariant.Int))
         rec.append(QtSql.QSqlField('retireDate', QtCore.QVariant.Date))
         rec.setValue('retired', QtCore.QVariant(1))
         rec.setValue('retireDate', QtCore.QVariant(person['DateEnd']))
     if person_id:
         rec.append(QtSql.QSqlField('id', QtCore.QVariant.Int))
         rec.setValue('id', QtCore.QVariant(person_id))
     rec.append(QtSql.QSqlField('org_id', QtCore.QVariant.Int))
     rec.setValue('org_id', QtCore.QVariant(QtGui.qApp.currentOrgId()))
     return rec
Ejemplo n.º 13
0
    def run(self):
        # Parse log message
        ts, verb, comp, msg = self.parse_logmsg()

        # Create record
        record = QtSql.QSqlRecord()
        record.append(QtSql.QSqlField("timestamp"))
        record.append(QtSql.QSqlField("component"))
        record.append(QtSql.QSqlField("verbosity"))
        record.append(QtSql.QSqlField("message"))
        record.setValue(0, ts)
        record.setValue(1, comp)
        record.setValue(2, verb)
        record.setValue(3, msg)

        # Insert record
        self.parent.insertRecordSignal.emit(record)
Ejemplo n.º 14
0
    def getNewRecord():
        rec = QtSql.QSqlRecord()

        id_field = QtSql.QSqlField('id', QtCore.QVariant.ULongLong)
        id_field.setAutoValue(True)
        rec.append(id_field)

        rec.append(QtSql.QSqlField('client_id', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('amount', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('note', QtCore.QVariant.String))
        rec.append(QtSql.QSqlField('tissueType_id', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('unit_id', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('number', QtCore.QVariant.String))
        rec.append(QtSql.QSqlField('status', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('datetimeTaken', QtCore.QVariant.DateTime))
        rec.append(QtSql.QSqlField('execPerson_id', QtCore.QVariant.ULongLong))
        rec.append(QtSql.QSqlField('externalId', QtCore.QVariant.String))
        return rec
Ejemplo n.º 15
0
    def record(self):
        """This method return in a QSqlRecord the fields (rows) of the last query"""
        if DEBUG_MODE:
            print "$$ -> LlampexResult.record() (crear QSqlRecord())"
        info = QtSql.QSqlRecord()
        if not self.isActive() or not self.isSelect():
            return info

        global pg2qttype
        for field in self.fields:
            f = QtSql.QSqlField(field[0], pg2qttype[field[1]])
            info.append(f)
            #if DEBUG_MODE:
            #    print "$$ -> field:", field

        #if DEBUG_MODE:
        #    print "$$ <<< LlampexResult.record()"
        return info
Ejemplo n.º 16
0
    def __init__(self, patient_id):

        #:
        self.patient_id = patient_id

        query = 'SELECT * from %s WHERE ix = ?'% TABLENAME
        q_query = QtSql.QSqlQuery(SETTINGS.psql_conn)
        q_query.prepare(query)
        q_query.addBindValue(patient_id)
        q_query.exec_()
        if not q_query.next():
            raise PatientNotFoundError
        else:
            record = q_query.record()
            QtSql.QSqlQuery.__init__(self, record)

            ## make a copy (a marker of database state)
            self.orig = QtSql.QSqlRecord()
            QtSql.QSqlQuery.__init__(self.orig, record)
Ejemplo n.º 17
0
    def __init__(self, patient_id):
        InsertableRecord.__init__(self, SETTINGS.psql_conn,
            TABLENAME)

        #:
        self.patient_id = patient_id
        query = '''SELECT * from %s WHERE patient_id = ?
        order by ix desc limit 1'''% TABLENAME
        q_query = QtSql.QSqlQuery(SETTINGS.psql_conn)
        q_query.prepare(query)
        q_query.addBindValue(patient_id)
        q_query.exec_()
        q_query.next()
        record = q_query.record()
        QtSql.QSqlQuery.__init__(self, record)

        ## make a copy (a marker of database state)
        self.orig = QtSql.QSqlRecord()
        QtSql.QSqlQuery.__init__(self.orig, record)
Ejemplo n.º 18
0
    def __init__(self, patient_id):
        self.tablename = TABLENAME
        #:
        self.patient_id = patient_id

        #:
        self.exists_in_db = True

        query = 'SELECT * from %s WHERE patient_id = ? limit 1'% TABLENAME
        q_query = QtSql.QSqlQuery(SETTINGS.psql_conn)
        q_query.prepare(query)
        q_query.addBindValue(patient_id)
        q_query.exec_()

        if not q_query.next(): # no memos exist.
            self.exists_in_db = False
        record = q_query.record()
        QtSql.QSqlQuery.__init__(self, record)

        ## make a copy (a marker of database state)
        self.orig = QtSql.QSqlRecord()
        QtSql.QSqlQuery.__init__(self.orig, record)
Ejemplo n.º 19
0
    def on_openInRedactor(self):
        index = self.currentIndex()
        if index.isValid():
            row = index.row()
            items = self.model().items()
            if 0 <= row < len(items):
                oldRecord, oldAction = items[row]
                oldRecord.setValue('event_id',
                                   toVariant(self._parent.eventEditor.itemId())
                                   )  # Необходимо для шаблонов печати.

                dialog = CActionEditDialog(self)
                dialog.save = lambda: True
                dialog.setForceClientId(self._parent.clientId())
                dialog.setRecord(QtSql.QSqlRecord(oldRecord))
                dialog.setReduced(True)

                CAction.copyAction(oldAction, dialog.action)

                if dialog.exec_():
                    record = dialog.getRecord()
                    items[row] = (record, dialog.action)
                    self._parent.onActionCurrentChanged()
Ejemplo n.º 20
0
Archivo: Orgs.py Proyecto: dio4/vista_1
    def updateInfoByHead(self, orgId):
        if orgId or self.cmbHead.value():
            db = QtGui.qApp.db
            record = db.getRecord(db.table('Organisation'), '*', orgId)
            if not record:
                record = QtSql.QSqlRecord()
            setLineEditValue(self.edtINN, record, 'INN')
            setLineEditValue(self.edtKPP, record, 'KPP')
            setLineEditValue(self.edtOGRN, record, 'OGRN')
            setLineEditValue(self.edtFSS, record, 'FSS')
            setLineEditValue(self.edtOKATO, record, 'OKATO')
            setLineEditValue(self.edtOKPO, record, 'OKPO')
            setRBComboBoxValue(self.cmbOKPF, record, 'OKPF_id')
            setRBComboBoxValue(self.cmbOKFS, record, 'OKFS_id')

        headIsEmpty = not orgId
        self.edtINN.setEnabled(headIsEmpty)
        self.edtKPP.setEnabled(headIsEmpty)
        self.edtOGRN.setEnabled(headIsEmpty)
        self.edtFSS.setEnabled(headIsEmpty)
        self.edtOKATO.setEnabled(headIsEmpty)
        self.edtOKPO.setEnabled(headIsEmpty)
        self.cmbOKPF.setEnabled(headIsEmpty)
        self.cmbOKFS.setEnabled(headIsEmpty)
Ejemplo n.º 21
0
 def empty_record():
     rec = QtSql.QSqlRecord()
     rec.append(QtSql.QSqlField('id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('event_id', QtCore.QVariant.ULongLong))
     rec.append(QtSql.QSqlField('is_deciduous', QtCore.QVariant.Bool))
     return rec
Ejemplo n.º 22
0
 def getNewRecord(cls):
     record = QtSql.QSqlRecord()
     for fieldName, fieldType in cls.fields:
         record.append(QtSql.QSqlField(fieldName, fieldType))
     return record
Ejemplo n.º 23
0
 def enterUsernameLogin(self,index):
     rec=QtSql.QSqlRecord()
     rec=self.tmUser.record(index.row())
     self.user_login=rec.value("username")
     self.ui.lineEditPassword.clear()
Ejemplo n.º 24
0
    def build(self, params):
        begDate = params.get('begDate', QtCore.QDate())
        endDate = params.get('endDate', QtCore.QDate())
        byPeriod = params.get('byPeriod', False)
        doctype = params.get('doctype', 0)
        tempInvalidReason = params.get('tempInvalidReason', None)
        onlyClosed = params.get('onlyClosed', True)
        orgStructureId = params.get('orgStructureId', None)
        personId = params.get('personId', None)
        durationFrom = params.get('durationFrom', 0)
        durationTo = params.get('durationTo', 0)
        sex = params.get('sex', 0)
        ageFrom = params.get('ageFrom', 0)
        ageTo = params.get('ageTo', 150)
        socStatusClassId = params.get('socStatusClassId', None)
        socStatusTypeId = params.get('socStatusTypeId', None)
        MKBFilter = params.get('MKBFilter', 0)
        MKBFrom = params.get('MKBFrom', '')
        MKBTo = params.get('MKBTo', '')
        insuranceOfficeMark = params.get('insuranceOfficeMark', 0)

        query = selectData(begDate, endDate, byPeriod, doctype,
                           tempInvalidReason, onlyClosed, orgStructureId,
                           personId, durationFrom, durationTo, sex, ageFrom,
                           ageTo, socStatusClassId, socStatusTypeId, MKBFilter,
                           MKBFrom, MKBTo, insuranceOfficeMark)
        self.setQueryText(forceString(query.lastQuery()))
        if query.next():
            record = query.record()
        else:
            record = QtSql.QSqlRecord()

        # now text
        doc = QtGui.QTextDocument()
        cursor = QtGui.QTextCursor(doc)

        cursor.setCharFormat(CReportBase.ReportTitle)
        cursor.insertText(self.name)
        cursor.insertBlock()
        self.dumpParams(cursor, params)
        cursor.insertBlock()

        tableColumns = [
            ('10%', [
                u'Количество лиц, у которых установлена временная нетрудоспособность',
                u'всего', u'1'
            ], CReportBase.AlignRight),
            ('10%', [
                u'',
                u'в т.ч. в результате несчастных случаев на производстве и профессиональных заболеваний',
                u'2'
            ], CReportBase.AlignRight),
            ('10%', [
                u'Количество лиц, у которых временная нетрудоспособность установлена врачебной комиссией (сроком свыше 30 дней)',
                u'всего', u'3'
            ], CReportBase.AlignRight),
            ('10%', [
                u'',
                u'в т.ч. в результате несчастных случаев на производстве и профессиональных заболеваний',
                u'4'
            ], CReportBase.AlignRight),
            ('10%', [
                u'Количество лиц направленных на госпитализацию', u'всего',
                u'5'
            ], CReportBase.AlignRight),
            ('10%', [
                u'',
                u'в т.ч. в результате несчастных случаев на производстве и профессиональных заболеваний',
                u'6'
            ], CReportBase.AlignRight),
            ('10%', [
                u'Количество лиц направленных на медико-социальную экспертную комиссию',
                u'всего', u'7'
            ], CReportBase.AlignRight),
            ('10%', [
                u'',
                u'в т.ч. в результате несчастных случаев на производстве и профессиональных заболеваний',
                u'8'
            ], CReportBase.AlignRight),
            ('10%', [
                u'Количество лиц вернувшихся в трудоспособное состояние', u'',
                u'9'
            ], CReportBase.AlignRight),
            ('10%', [
                u'Количество выданных заключений независимой экспертизы', u'',
                u'10'
            ], CReportBase.AlignRight),
        ]
        table = createTable(cursor, tableColumns)
        table.mergeCells(0, 0, 1, 2)
        table.mergeCells(0, 2, 1, 2)
        table.mergeCells(0, 4, 1, 2)
        table.mergeCells(0, 6, 1, 2)
        table.mergeCells(0, 8, 2, 1)
        table.mergeCells(0, 9, 2, 1)

        i = table.addRow()
        for j in range(10):
            table.setText(i, j, forceInt(record.value(j)))

        return doc
Ejemplo n.º 25
0
 def buildItemsCache(self):
     emptyValue = QtSql.QSqlRecord()
     rowCount   = self.rowCount()
     for tripodNumber in xrange(self._tripodCount):
         self._mapTripodNumberToItems[tripodNumber] = [emptyValue]*rowCount