Пример #1
0
 def getClientIdentificatorRecord(self, clientId, accountingSystemCode,
                                  identifier):
     accountingSystemCode = forceString(accountingSystemCode)
     db = QtGui.qApp.db
     tableClientIdentification = db.table('ClientIdentification')
     tableAccountingSystem = db.table('rbAccountingSystem')
     cond = [
         tableClientIdentification['client_id'].eq(clientId),
         tableAccountingSystem['code'].eq(accountingSystemCode),
         tableClientIdentification['deleted'].eq(0)
     ]
     record = db.getRecordEx(
         tableClientIdentification.leftJoin(
             tableAccountingSystem, tableAccountingSystem['id'].eq(
                 tableClientIdentification['accountingSystem_id'])),
         'ClientIdentification.*', cond)
     if record is None:
         record = db.record('ClientIdentification')
         record.setValue('client_id', toVariant(clientId))
         record.setValue(
             'accountingSystem_id',
             toVariant(
                 forceRef(
                     db.translate('rbAccountingSystem', 'code',
                                  accountingSystemCode, 'id'))))
     record.setValue('identifier', toVariant(identifier))
     return record
Пример #2
0
 def getRecord(self):
     record = CItemEditorBaseDialog.getRecord(self)
     getLineEditValue(self.edtSerial, record, 'serial')
     getLineEditValue(self.edtNumber, record, 'number')
     getDateEditValue(self.edtDate, record, 'date')
     getRBComboBoxValue(self.cmbPerson, record, 'person_id')
     getRBComboBoxValue(self.cmbExpert, record, 'expert_id')
     getLineEditValue(self.edtDestination, record, 'destination')
     getRBComboBoxValue(self.cmbReason, record, 'reason_id')
     getTextEditValue(self.edtNote, record, 'note')
     getCheckBoxValue(self.chkInsuranceOfficeMark, record,
                      'insuranceOfficeMark')
     record.setValue('tempInvalid_id', toVariant(self.tempInvalidId))
     getLineEditValue(self.edtPlaceWork, record, 'placeWork')
     if not self.defaultBlankMovingId:
         blankMovingId = self.edtSerial.value()
     else:
         blankMovingId = self.defaultBlankMovingId
     if blankMovingId:
         db = QtGui.qApp.db
         tableBlankTempInvalidMoving = db.table('BlankTempInvalid_Moving')
         recordMoving = db.getRecordEx(tableBlankTempInvalidMoving, u'*', [
             tableBlankTempInvalidMoving['deleted'].eq(0),
             tableBlankTempInvalidMoving['id'].eq(blankMovingId)
         ])
         if recordMoving:
             used = forceInt(recordMoving.value('used'))
             recordMoving.setValue('used', toVariant(used + 1))
             db.updateRecord(tableBlankTempInvalidMoving, recordMoving)
     return record
Пример #3
0
 def getRecord(self):
     record = CItemEditorBaseDialog.getRecord(self)
     record.setValue(rbCode, toVariant(forceStringEx(self.edtCode.text())))
     record.setValue('regionalCode',
                     toVariant(forceStringEx(self.edtRegionalCode.text())))
     record.setValue(rbName, toVariant(forceStringEx(self.edtName.text())))
     return record
Пример #4
0
    def getRecord(self):
        record = CItemEditorBaseDialog.getRecord(self)
        record.setValue(rbCode, toVariant(forceStringEx(self.edtCode.text())))
        record.setValue(rbName, toVariant(forceStringEx(self.edtName.text())))
        modifier = u''

        if self.chkReplaceService.isChecked():
            action = 1
            text = forceStringEx(self.edtReplaceService.text())
            modifier = createModifier(action, text)

        # Этот модификатор может выставляться/сохраняться/применяться вместе с ModifyTailService
        if self.chkModifyHeadService.isChecked():
            action = 2
            text = forceStringEx(self.edtModifyHeadService.text())
            n = forceInt(self.edtModifyHeadService_N.text())
            modifier = createModifier(action, text, n)

        # Этот модификатор может выставляться/сохраняться/применяться вместе с ModifyHeadService
        if self.chkModifyTailService.isChecked():
            action = 3
            text = forceStringEx(self.edtModifyTailService.text())
            n = forceInt(self.edtModifyTailService_N.text())
            if modifier:
                modifier = modifier + u'/' + createModifier(action, text, n)
            else:
                modifier = createModifier(action, text, n)

        # Если было кликнуто ничего или chkNoModifyService, то modifier должен быть равен u''

        record.setValue('serviceModifier', toVariant(modifier))
        return record
Пример #5
0
 def changeParent(self, id, parentId, parentClass):
     if not (parentId in self.getItemIdList(self.findItemId(id))):
         db = QtGui.qApp.db
         table = db.table(self.tableName)
         parentCode = forceString(
             db.translate(table, 'id', parentId, 'code'))
         oldCode = forceString(db.translate(table, 'id', id, 'code'))
         newCode = self.getNewCode(oldCode, parentCode)
         record = db.getRecord(
             table,
             [self.idColName, self.groupColName, self.classColName, 'code'],
             id)
         if record:
             self.emit(QtCore.SIGNAL('saveExpandedState()'))
             childIdList = db.getIdList(table, 'id',
                                        table['group_code'].eq(oldCode))
             variantParentCode = toVariant(
                 parentCode) if parentCode else QtCore.QVariant()
             record.setValue(self.groupColName, variantParentCode)
             record.setValue(self.classColName, toVariant(parentClass))
             record.setValue('code', toVariant(newCode))
             db.updateRecord(table, record)
             for childId in childIdList:
                 self.changeChildren(childId, id, parentClass)
             self.reset()
             self.update()
             self.emit(QtCore.SIGNAL('restoreExpandedState()'))
Пример #6
0
    def updateEvents(self, eventIdList, updateContracts=False):
        tableClient = self.db.table('Client')
        tableEvent = self.db.table('Event')

        for eventRec in self.db.iterRecordList(
                tableEvent, where=tableEvent['id'].inlist(eventIdList)):
            updateRecord = False

            oldPolicy = forceRef(eventRec.value('clientPolicy_id'))
            newPolicy = self.getPolicy(eventRec)
            if newPolicy and newPolicy != oldPolicy:
                eventRec.setValue('clientPolicy_id', toVariant(newPolicy))
                updateRecord = True

            if updateContracts:
                clientId = forceRef(eventRec.value('client_id'))
                clientRec = self.db.getRecord(tableClient, 'birthDate',
                                              clientId)
                oldContract = forceRef(eventRec.value('contract_id'))
                newContract = self.getContract(eventRec, clientRec)
                if newContract and newContract != oldContract:
                    eventRec.setValue('contract_id', toVariant(newContract))
                    updateRecord = True

            if updateRecord:
                self.db.updateRecord(tableEvent, eventRec)
Пример #7
0
 def getRecord(self):
     record = CItemEditorBaseDialog.getRecord(self)
     record.setValue('finance_id', toVariant(self.cmbFinance.value()))
     record.setValue(rbCode, toVariant(forceStringEx(self.edtCode.text())))
     record.setValue(rbName, toVariant(forceStringEx(self.edtName.text())))
     record.setValue('rerun', toVariant(self.chkCanRerun.isChecked()))
     return record
Пример #8
0
 def data(self, index, role=QtCore.Qt.DisplayRole):
     if not index.isValid():
         return QtCore.QVariant()
     if not self._isExistsDentitionAction:
         return QtCore.QVariant()
     if not self._action:
         return QtCore.QVariant()
     row = index.row()
     column = index.column()
     if role == QtCore.Qt.DisplayRole:
         property = self._getProperty(row, column)
         return toVariant(property.getText())
     elif role == QtCore.Qt.BackgroundRole:
         if row == 0 or row == 7:
             property = self._getProperty(row, column)
             propertyValue = property.getValue()
             fSmb = propertyValue[0] if propertyValue else None
             if fSmb in [
                     '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10',
                     '11', '12', '13', '14', '15'
             ]:
                 return QtCore.QVariant(
                     QtGui.QColor(
                         CDentitionModel.colorStatus[forceInt(fSmb)]))
     elif role == QtCore.Qt.EditRole:
         property = self._getProperty(row, column)
         return toVariant(property.getValue())
     return QtCore.QVariant()
Пример #9
0
 def saveData(self):
     preferences = {}
     setPref(preferences, 'address', toVariant(self.edtAddress.text()))
     setPref(preferences, 'name', toVariant(self.edtName.text()))
     setPref(preferences, 'password', toVariant(self.edtPassword.text()))
     setPref(QtGui.qApp.preferences.appPrefs, 'EMSRNExchange', preferences)
     return True
Пример #10
0
 def saveData(self):
     self.tableItems.ticketIsDirty = [False]*len(self.tableItems.tickets)
     for i, ticket in enumerate(self.tableItems.tickets):
         datetime = QtCore.QDateTime(self.items[i][4], self.items[i][0]) if i < len(self.items) else None
         ticket.setValue('datetime', toVariant(datetime))
         ticket.setValue('idx', toVariant(i))
         self.tableItems.ticketIsDirty[i] = True
Пример #11
0
    def saveDiagnostic(self, eventId):
        db = QtGui.qApp.db
        table = db.table('Diagnostic')

        if not self.diagnosticRecord:
            self.diagnosticRecord = table.newRecord()
            self.diagnosticRecord.setValue('event_id', toVariant(eventId))

        record = self.diagnosticRecord
        diagnosisTypeId = self.getDiagnosisTypeId()
        characterId = self.getCharacterId()
        dispanserId = None
        traumaTypeId = self.cmbTraumaType.value()
        resultId = self.cmbResult.value()

        MKB = forceString(self.edtMKB.text())
        MKBEx = forceString(self.edtMKBEx.text())

        diagnosisId, characterId = getDiagnosisId2(
            self.eventDate, self.personId, self.clientId, diagnosisTypeId, MKB,
            MKBEx, characterId, dispanserId, traumaTypeId,
            forceRef(record.value('diagnosis_id')),
            forceRef(record.value('id')))

        record.setValue('diagnosisType_id', toVariant(diagnosisTypeId))
        record.setValue('speciality_id', toVariant(self.personSpecialityId))
        record.setValue('person_id', toVariant(self.personId))
        record.setValue('setDate', toVariant(self.eventDate))
        record.setValue('endDate', toVariant(self.eventDate))
        record.setValue('diagnosis_id', toVariant(diagnosisId))
        record.setValue('character_id', toVariant(characterId))
        record.setValue('traumaType_id', toVariant(traumaTypeId))
        record.setValue('result_id', toVariant(resultId))
        db.insertOrUpdate(table, record)
        self.modifyDiagnosises([(MKB, diagnosisId)])
Пример #12
0
 def getRecord(self):
     record = CItemEditorBaseDialog.getRecord(self)
     record.setValue(rbCode,       toVariant(forceStringEx(self.edtCode.text())))
     record.setValue(rbName,       toVariant(forceStringEx(self.edtName.text())))
     record.setValue('amount',     toVariant(forceStringEx(self.edtAmount.text())))
     record.setValue('unit',       toVariant(forceStringEx(self.edtUnit.text())))
     return record
Пример #13
0
 def addActionType(self, actionTypeId):
     model = self.modelActions
     item = model.getEmptyRecord()
     item.setValue('actionType_id', toVariant(actionTypeId))
     item.setValue('selectionGroup', toVariant(0))
     item.setValue('include', QtCore.QVariant(1))
     if self.showPrice:
         item.setValue(
             'cash',
             QtCore.QVariant(self.wholeEventForCash
                             or bool(self.contractId)))
         item.setValue(
             'payable',
             2 if self.wholeEventForCash else 1 if self.contractId else 0)
         serviceIdList = CMapActionTypeIdToServiceIdList.getActionTypeServiceIdList(
             actionTypeId, self.financeId)
         visitTariffMap, actionTariffMap = self.getTariffMap()
         price = self.contractTariffCache.getPrice(actionTariffMap,
                                                   serviceIdList,
                                                   self.tariffCategoryId)
         item.setValue('price', QtCore.QVariant(price))
         item.setValue('amount', QtCore.QVariant(1.0))
         item.setValue('sum', QtCore.QVariant(price))
     model.items().append(item)
     count = len(model.items())
     model.beginInsertRows(QtCore.QModelIndex(), count, count)
     model.insertRows(count, 1)
     model.endInsertRows()
Пример #14
0
 def saveWorkItems(self, master_id, items, table, field):
     if items:
         masterId = toVariant(master_id)
         idList = []
         for value in items:
             if not len(value):
                 continue
             value = value.strip()
             if not value:
                 continue
             record = QtGui.qApp.db.record(table)
             valueId = self.rbTypeId(value, table)
             if not valueId:
                 self.error[table][master_id] = (
                     value, u'такого значения нет в справочнике %s' %
                     (u'Типы вредности' if table == 'ClientWork_Hurt' else
                      u'Факторы вредности'))
                 continue
             record.setValue('master_id', masterId)
             record.setValue(field, toVariant(valueId))
             itemId = self.db.insertOrUpdate(table, record)
             record.setValue('id', itemId)
             idList.append(itemId)
         table = self.db.table(table)
         cond = [
             table['master_id'].eq(masterId),
             'not(' + table['id'].inlist(idList) + ')'
         ]
         self.db.deleteRecord(table, cond)
         return idList
Пример #15
0
    def startImport(self):
        self.btnImport.setEnabled(False)
        fileName = str(self.edtFileName.text())
        address = str(self.edtAddress.text())
        port = str(self.edtPort.text())

        QtGui.qApp.preferences.appPrefs['ImportPACSFileName'] = toVariant(fileName)
        QtGui.qApp.preferences.appPrefs['ImportPACSAddress'] = toVariant(address)
        QtGui.qApp.preferences.appPrefs['ImportPACSPort'] = toVariant(port)

        # self.txtLog.append(subprocess.check_output(self.command + [address, port, fileName]))
        p = Popen(self.command + [address, port, fileName], stdin=PIPE, stdout=PIPE, stderr=STDOUT, bufsize=1, close_fds=self.ON_POSIX, shell=True)
        q = Queue()
        t = Thread(target=self.enqueue_output, args=(p.stdout, q))
        t.daemon = True
        t.start()

        while t.isAlive():
            QtGui.qApp.processEvents()
            try:
                line = q.get_nowait()
            except Empty:
                pass
            else:
                self.txtLog.append(line)

        self.btnImport.setEnabled(True)
Пример #16
0
 def fillSPR69Record(self,
                     db,
                     table,
                     record,
                     begDate=None,
                     endDate=None,
                     ksgCode=None,
                     mkbx=None,
                     mkbx2=None,
                     kusl=None,
                     sex=None,
                     age=None,
                     duration=None,
                     ksgKoeff=None):
     if begDate is not None: record.setValue('begDate', toVariant(begDate))
     if endDate is not None: record.setValue('endDate', toVariant(endDate))
     if ksgCode is not None: record.setValue('KSG', toVariant(ksgCode))
     if mkbx is not None: record.setValue('MKBX', toVariant(mkbx))
     if mkbx2 is not None: record.setValue('MKBX2', toVariant(mkbx2))
     if kusl is not None: record.setValue('KUSL', toVariant(kusl))
     if sex is not None: record.setValue('sex', toVariant(sex))
     if age is not None: record.setValue('age', toVariant(age))
     if duration is not None:
         record.setValue('duration', toVariant(duration))
     if ksgKoeff is not None:
         record.setValue('KSGKoeff', toVariant(ksgKoeff))
     self.cacheRecords.append(record)
     if len(self.cacheRecords) >= 1000:
         db.insertMultipleRecords(table, self.cacheRecords)
         self.cacheRecords = []
Пример #17
0
 def getEmptyRecord(self, sceneId=None, personId=None):
     eventEditor = QtCore.QObject.parent(self)
     eventEditor.getPersonServiceId(personId)
     if not personId:
         if QtGui.qApp.userSpecialityId:
             personId = QtGui.qApp.userId
             if not eventEditor.getPersonServiceId(personId):
                 personId = None
     if not personId:
         execPersonId = eventEditor.getExecPersonId()
         if execPersonId:
             personId = execPersonId
     assistantId = eventEditor.getAssistantId(
     ) if self.hasAssistant and personId and personId == eventEditor.personId else None
     result = CInDocTableModel.getEmptyRecord(self)
     result.setValue('person_id', toVariant(personId))
     result.setValue('assistant_id', toVariant(assistantId))
     result.setValue(
         'scene_id',
         toVariant(sceneId if sceneId else self.getDefaultSceneId()))
     result.setValue('visitType_id',
                     toVariant(self.getDefaultVisitTypeId()))
     result.setValue('service_id', toVariant(self.getServiceId(result)))
     result.setValue('finance_id', self.getFinanceId())
     return result
Пример #18
0
 def updateActionsBlankParty(self):
     received = 0
     used = 0
     returnAmount = 0
     for item in self.modelBlankActionsMoving.items():
         received += forceInt(item.value('received'))
         used += forceInt(item.value('used'))
         returnAmount += forceInt(item.value('returnAmount'))
     currentIndex = self.tblBlankActionsParty.currentIndex()
     if currentIndex.isValid():
         currentRow = currentIndex.row()
         blankPartyId = self.getBlankPartyId(self.tblBlankActionsParty,
                                             self.modelBlankActionsParty)
         itemsParty = self.modelBlankActionsParty.items()
         record = itemsParty[currentRow]
         amountBlank = forceInt(record.value('amount'))
         writingBlank = forceInt(record.value('writing'))
         record.setValue('extradited', toVariant(received))
         record.setValue('used', toVariant(used))
         record.setValue('returnBlank', toVariant(returnAmount))
         record.setValue(
             'balance',
             toVariant(amountBlank - received - writingBlank +
                       returnAmount))
         itemsParty[currentRow] = record
         self.modelBlankActionsParty.setItems(itemsParty)
         self.modelBlankActionsParty.emitRowChanged(currentRow)
Пример #19
0
    def getRecord(self):
        record = CItemEditorBaseDialog.getRecord(self)
        pType = '%.2d' % (self.cmbPaymentType.currentIndex() + 1)
        codePart = '%.2d' % (self.cmbCodePart.currentIndex() + 1)

        if (pType, codePart) in self.codes.keys():
            code = '%s.%s.%.3d' % (pType, codePart, self.codes[(pType,
                                                                codePart)])
        else:
            code = '%s.%s.%.3d' % (pType, codePart, 1)

        record.setValue(rbCode, toVariant(code))
        record.setValue('type', toVariant(self.type))
        getRBComboBoxValue(self.cmbOKPF, record, 'OKPF_id')
        getRBComboBoxValue(self.cmbOrgId, record, 'org_id')
        getLineEditValue(self.edtContractNumber, record, 'contractNumber')
        getDateEditValue(self.edtDate, record, 'contractDate')
        getDateEditValue(self.edtEndDate, record, 'contractEndDate')
        getLineEditValue(self.edtContractSum, record, 'contractSum')
        if QtGui.qApp.checkGlobalPreference('68', u'нет') and type == 2:
            getLineEditValue(self.edtContragent, record, 'contragent')
            getLineEditValue(self.edtProtocolNum, record, 'protocolNumber')
            getLineEditValue(self.edtProtocolPhase, record, 'protocolPhase')
            getLineEditValue(self.edtProtocolName, record, 'protocolName')
            getComboBoxValue(self.cmbRecPatients, record, 'protocolRecruit')
        elif QtGui.qApp.checkGlobalPreference('68', u'нет') and type == 1:
            getLineEditValue(self.edtContragent, record, 'contragent')
            getLineEditValue(self.edtContractItem, record, 'contractItem')
            getLineEditValue(self.edtAddress, record, 'address')
        return record
Пример #20
0
 def saveItems(self, masterId):
     if self._items is not None:
         db = QtGui.qApp.db
         table = self._table
         masterId = toVariant(masterId)
         masterIdFieldName = self._masterIdFieldName
         idFieldName = self._idFieldName
         for idx, record in enumerate(self._items):
             record.setValue(masterIdFieldName, masterId)
             if self._idxFieldName:
                 record.setValue(self._idxFieldName, toVariant(idx))
             if self._extColsPresent:
                 outRecord = self.removeExtCols(record)
             else:
                 outRecord = record
             id = db.insertOrUpdate(table, outRecord)
             record.setValue(idFieldName, toVariant(id))
         if self.deletedIdList:
             filter = [
                 table[masterIdFieldName].eq(masterId),
                 table[idFieldName].inlist(self.deletedIdList)
             ]
             if self._filter:
                 filter.append(self._filter)
             if table.hasField('deleted'):
                 db.markRecordsDeleted(table, filter)
Пример #21
0
 def getRecord(self):
     record = CItemEditorBaseDialog.getRecord(self)
     getLineEditValue(self.edtCode, record, 'code')
     getLineEditValue(self.edtName, record, 'name')
     getLineEditValue(self.edtShortName, record, 'shortName')
     getLineEditValue(self.edtOKSOName, record, 'OKSOName')
     getLineEditValue(self.edtOKSOCode, record, 'OKSOCode')
     getLineEditValue(self.edtFederalCode, record, 'federalCode')
     getLineEditValue(self.edtRegionalCode, record, 'regionalCode')
     getLineEditValue(self.edtSyncGUID, record, 'syncGUID')
     getRBComboBoxValue(self.cmbLocalService, record, 'service_id')
     getRBComboBoxValue(self.cmbProvinceService, record,
                        'provinceService_id')
     getRBComboBoxValue(self.cmbOtherService, record, 'otherService_id')
     getRBComboBoxValue(self.cmbFundingService, record, 'fundingService_id')
     getComboBoxValue(self.cmbSex, record, 'sex')
     record.setValue(
         'age',
         toVariant(
             composeAgeSelector(self.cmbBegAgeUnit.currentIndex(),
                                forceStringEx(self.edtBegAgeCount.text()),
                                self.cmbEndAgeUnit.currentIndex(),
                                forceStringEx(self.edtEndAgeCount.text()))))
     record.setValue(
         'versSpec',
         toVariant({
             0: '',
             1: 'V004',
             2: 'V015'
         }.get(self.cmbVersSpec.currentIndex(), '')))
     getLineEditValue(self.edtMKBFilter, record, 'mkbFilter')
     return record
Пример #22
0
    def fillActionTypeRecord(db,
                             table,
                             record,
                             code=None,
                             name=None,
                             nom_id=None,
                             classProp=None,
                             insert=None):
        if code is not None:
            record.setValue('code', toVariant(code))
        if name is not None:
            record.setValue('name', toVariant(name))
        if classProp is not None:
            record.setValue('class', QtCore.QVariant(classProp))
        record.setValue('nomenclativeService_id', toVariant(nom_id))
        record.setValue('propertyNormVisible', QtCore.QVariant(name))
        record.setValue('title', QtCore.QVariant(name))
        if insert:
            record.setValue('sex', QtCore.QVariant(0))
            record.setValue('amountEvaluation', QtCore.QVariant(0))
            record.setValue('isPreferable', QtCore.QVariant(1))
            record.setValue('isPrinted', QtCore.QVariant(0))
            record.setValue('showInForm', QtCore.QVariant(1))
            record.setValue('propertyAssignedVisible', QtCore.QVariant(0))
            record.setValue('propertyUnitVisible', QtCore.QVariant(0))
            record.setValue('propertyEvaluationVisible', QtCore.QVariant(0))
            record.setValue('amount', QtCore.QVariant(1))

        db.insertOrUpdate(table, record)
Пример #23
0
 def getEmptyRecord(self):
     isFirst = not bool(self.items())
     result = CInDocTableModel.getEmptyRecord(self)
     result.append(QtSql.QSqlField('diagnosis_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('diagnosisType_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('speciality_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('person_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('dispanser_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('hospital', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('healthGroup_id', QtCore.QVariant.Int))
     result.append(QtSql.QSqlField('setDate', QtCore.QVariant.DateTime))
     result.append(QtSql.QSqlField('endDate', QtCore.QVariant.DateTime))
     result.append(QtSql.QSqlField('payStatus', QtCore.QVariant.Int))
     result.setValue('diagnosisType_id',
                     QtCore.QVariant(self.getDiagnosisTypeId(isFirst)))
     if isFirst:
         if self._parent.inheritResult == True:
             result.setValue(
                 'result_id',
                 toVariant(
                     CEventEditDialog.defaultDiagnosticResultId.get(
                         self._parent.eventPurposeId)))
         else:
             result.setValue('result_id', toVariant(None))
     return result
Пример #24
0
 def on_btnAddEvent_clicked(self):
     tableSmpEvents = self.db.table('SmpEvents')
     item = self.tblEvents.model().items()[
         self.tblEvents.currentIndex().row()]
     if forceInt(self.cmbResult.currentIndex()):
         responce = self.exchange.addEvent(
             forceString(item.value('callNumberId')),
             forceInt(self.cmbResult.currentIndex()), self.edtNote.text())
     else:
         QtGui.QMessageBox.warning(self, u'Ошибка',
                                   u'Не выбран результат события')
         return
     if responce:
         recEvent = self.db.getRecordEx(
             tableSmpEvents, '*', tableSmpEvents['callNumberId'].eq(
                 forceString(item.value('callNumberId'))))
         if recEvent:
             recEvent.setValue('result',
                               toVariant(self.cmbResult.currentText()))
             recEvent.setValue('isDone', toVariant(1))
             self.db.updateRecord(tableSmpEvents, recEvent)
             QtGui.QMessageBox.information(self, u'Успешно',
                                           u'Событие успешно добавлено')
             self.loadData()
     else:
         QtGui.QMessageBox.warning(
             self, u'Ошибка', u'При регистрации события возникла ошибка')
Пример #25
0
 def data(self, index, role=QtCore.Qt.DisplayRole):
     column = self.cols()[index.column()]
     columnFieldNames = column.fields()
     row = index.row()
     if role == QtCore.Qt.BackgroundColorRole:
         if self.items[row].get('isVIP', None):
             return QtCore.QVariant(self.items[row].get(
                 'vipColor', self.vipClientColor))
         elif self.items[row].get('isUnconscious', None):
             return toVariant(QtGui.QColor(self.unconsciousPatientRowColor))
         if 'statusObservationCode' in columnFieldNames and self.items[
                 row].get('statusObservationCode', None):
             return toVariant(
                 QtGui.QColor(self.items[row].get('statusObservationColor',
                                                  None)))
         elif len(self.items[row].get('MKB', '')) <= 0:
             return toVariant(QtGui.QColor(200, 230, 240))
     if role == QtCore.Qt.DisplayRole:
         if 'feed' in columnFieldNames:
             return QtCore.QVariant()
     elif role == QtCore.Qt.CheckStateRole:
         if 'feed' in columnFieldNames:
             item = self.items[row]
             return toVariant(QtCore.Qt.Checked if item.
                              get('feed', None) else QtCore.Qt.Unchecked)
     return CMonitoringModel.data(self, index, role)
Пример #26
0
    def duplicateCurrentRow(self):
        db = QtGui.qApp.db
        reportRecord = db.getRecordEx(
            'rcReport', '*', 'id = %s and deleted = 0' %
            forceString(self.tblItems.currentItemId()))
        translateQuery, translateField = self.duplicateQuery(
            forceString(reportRecord.value('query_id')))
        for id in translateQuery.values():
            self.updateNewQuery(id, translateQuery, translateField)
        reportRecord.setValue(
            'query_id',
            toVariant(translateQuery[forceString(
                reportRecord.value('query_id'))]))
        reportRecord.setValue(
            'name',
            toVariant(forceString(reportRecord.value('name')) + u' копия'))
        curId = self.tblItems.currentItemId()
        newId = self.insertRecord('rcReport', reportRecord)
        self.duplicateRb('rcReport_Group', curId, newId, translateQuery, [])
        self.duplicateRb('rcReport_Params', curId, newId, translateQuery, [])
        self.duplicateRb('rcReport_TableCapCells', curId, newId,
                         translateQuery, ['name'])

        self.model.setIdList(self.select())
        return newId
Пример #27
0
 def data(self, index, role=QtCore.Qt.DisplayRole):
     column = self.cols()[index.column()]
     columnFieldNames = column.fields()
     # Получение данных о пользовательских ролях данных
     columnOtherRolesInfo = column.otherRolesInfo()
     row = index.row()
     if role == QtCore.Qt.DisplayRole:
         item = self.items[row]
         displayFieldNumber = column.displayFieldNumber()
         return toVariant(item.get(columnFieldNames[displayFieldNumber], QtCore.QVariant()))
     elif role == QtCore.Qt.ToolTipRole:
         result = []
         item = self.items[row]
         for fieldName in columnFieldNames:
             value = item.get(fieldName, '')
             if isinstance(value, basestring):
                 result.append(value)
         return toVariant(' '.join(result))
     # если роль совпадает с одной из настроенных пользвовательских ролей для столбца
     elif columnOtherRolesInfo.has_key(role):
         # получение имени поля, данные из которого необходимо вернуть для данной роли
         userRoleFieldName = columnOtherRolesInfo[role]
         item = self.items[row]
         return toVariant(item.get(userRoleFieldName, QtCore.QVariant()))
     return QtCore.QVariant()
Пример #28
0
 def duplicateRb(self,
                 tableName,
                 curId,
                 newId,
                 translateQuery,
                 fieldListToTranslate,
                 translateField={}):
     db = QtGui.qApp.db
     table = db.table(tableName)
     translate = {}
     for record in db.getRecordList(
             table, '*', 'master_id = %s' % forceString(curId) +
         (' and deleted = 0' if table.hasField('deleted') else u'')):
         for fieldName in fieldListToTranslate:
             value = forceString(record.value(fieldName))
             for curQueryId, newQueryId in translateQuery.items():
                 value = value.replace(u'q%s' % forceString(curQueryId),
                                       u'q%s' % forceString(newQueryId))
             for curFieldId, newFieldId in translateField.items():
                 value = value.replace(u'f%s' % forceString(curFieldId),
                                       u'f%s' % forceString(newFieldId))
             record.setValue(fieldName, toVariant(value))
         record.setValue('master_id', toVariant(newId))
         curRbId = forceString(record.value('id'))
         newRbId = forceString(self.insertRecord(tableName, record))
         translate[forceString(curRbId)] = forceString(newRbId)
     return translate
Пример #29
0
def DoSchemaSync():
    serverName = forceString(
        getVal(QtGui.qApp.preferences.appPrefs, 'SchemaSyncServerName', ''))
    serverPort = forceInt(
        getVal(QtGui.qApp.preferences.appPrefs, 'SchemaSyncServerPort', 0))
    dbName = forceString(
        getVal(QtGui.qApp.preferences.appPrefs, 'SchemaSyncDbName', ''))
    userName = forceString(
        getVal(QtGui.qApp.preferences.appPrefs, 'SchemaSyncUserName', ''))

    dlg = CSchemaSyncDialog()
    dlg.edtServerName.setText(serverName)
    dlg.edtServerPort.setValue(serverPort)
    dlg.edtDatabaseName.setText(dbName)
    dlg.edtUserName.setText(userName)
    dlg.exec_()

    QtGui.qApp.preferences.appPrefs['SchemaSyncServerName'] = toVariant(
        dlg.edtServerName.text())
    QtGui.qApp.preferences.appPrefs['SchemaSyncServerPort'] = toVariant(
        dlg.edtServerPort.value())
    QtGui.qApp.preferences.appPrefs['SchemaSyncDbName'] = toVariant(
        dlg.edtDatabaseName.text())
    QtGui.qApp.preferences.appPrefs['SchemaSyncUserName'] = toVariant(
        dlg.edtUserName.text())
Пример #30
0
 def addIfNotExistEvent(self, record):
     db = QtGui.qApp.db
     id = forceRef(
         db.translateEx('Event', 'externalId', record['externalId'], 'id'))
     if id:
         self.clientId = forceRef(
             db.translateEx('Event', 'id', id, 'client_id'))
         return id
     else:
         event = db.table('Event').newRecord()
         event.setValue('externalId', record['externalId'])
         event.setValue('eventType_id', self.eventTypeId)
         event.setValue('org_id', self.getOrganisationId(record))
         self.clientId = self.addIfNotExistClient(record)
         event.setValue('client_id', self.clientId)
         # event.setValue('contract_id', ) #Нет
         event.setValue('setDate', toVariant(forceDate(record['begDate'])))
         event.setValue('execDate', toVariant(forceDate(record['endDate'])))
         event.setValue('execPerson_id', forceRef(record['personId']))
         event.setValue('createPerson_id', forceRef(record['personId']))
         event.setValue('result_id', self.getEventResultId(record))
         event.setValue('littleStranger_id',
                        self.addEventLittleStranger(record))
         event.setValue('goal_id', self.getGoalId(record))
         self.events += 1
         return forceRef(db.insertRecord(db.table('Event'), event))