def setData(self, index, value, role=QtCore.Qt.EditRole): column = index.column() row = index.row() self.updateRetiredList() if not variantEq(self.data(index, role), value): personColIndex = self.getColIndex('person_id') sceneColIndex = self.getColIndex('scene_id') visitTypeColIndex = self.getColIndex('visitType_id') if column == personColIndex: # врач eventEditor = QtCore.QObject.parent(self) personId = forceRef(value) if not eventEditor.checkClientAttendaceEE(personId): return False if column in [personColIndex, sceneColIndex, visitTypeColIndex]: # врач, место или тип result = CInDocTableModel.setData(self, index, value, role) if result: item = self.items()[row] item.setValue('service_id', toVariant(self.getExactServiceId(item))) self.emitCellChanged( row, self.getColIndex('service_id')) # услуга return result else: return CInDocTableModel.setData(self, index, value, role) else: return True
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 setData(self, index, value, role=QtCore.Qt.EditRole): result = CInDocTableModel.setData(self, index, value, role) if result: self.needSave = True if index.column() == 1 and bool(self.currentMasterId): self.emit(QtCore.SIGNAL('maintenanceDateChanged(int)'), self.currentMasterId) return result
def setData(self, index, value, role=QtCore.Qt.EditRole): column = index.column() row = index.row() if role == QtCore.Qt.CheckStateRole: column = index.column() if column == 0: group = forceInt(self.items()[row].value('selectionGroup')) newState = 1 if forceInt(value) == QtCore.Qt.Checked else 0 if group > 0: newState = 1 if group == 0: # нулевая группа - всегда переключается result = CInDocTableModel.setData(self, index, value, role) self.emit(QtCore.SIGNAL('sumChanged()')) return result if group == 1: # первая группа - никогда не переключается return False for itemIndex, item in enumerate(self.items()): itemGroup = forceInt(item.value('selectionGroup')) if itemGroup == group: item.setValue( 'include', QtCore.QVariant(newState if itemIndex == row else 0)) self.emitColumnChanged(0) self.emit(QtCore.SIGNAL('sumChanged()')) return True elif column == self.ciCash: payable = forceInt(self.items()[row].value('payable')) if payable == 1: result = CInDocTableModel.setData(self, index, value, role) self.emit(QtCore.SIGNAL('sumChanged()')) return result else: return False result = CInDocTableModel.setData(self, index, value, role) if result and role == QtCore.Qt.EditRole: if column == self.ciPrice or column == self.ciAmount: item = self.items()[row] price = forceDouble(item.value('price')) amount = forceDouble(item.value('amount')) sum = round(price * amount, 2) item.setValue('sum', toVariant(sum)) self.emitCellChanged(row, column) self.emit(QtCore.SIGNAL('sumChanged()')) return result
def setData(self, index, value, role=QtCore.Qt.EditRole): result = CInDocTableModel.setData(self, index, value, role) if result and role == QtCore.Qt.CheckStateRole and index.column( ) == 1 and forceBool(value): for row, record in enumerate(self._items): if row != index.row(): record.setValue('isDefault', toVariant(False)) self.emitCellChanged(row, 1) return result
def setData(self, index, value, role=QtCore.Qt.EditRole): column = index.column() row = index.row() if column == 1: if forceInt(value) == 1: if row < len(self.items()): record = self.items()[row] record.setValue('service_id', QtCore.QVariant()) self.emitCellChanged(row, 2) return CInDocTableModel.setData(self, index, value, role)
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 == 1: QtCore.QObject.parent(self).checkReturnBlank( row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) QtCore.QObject.parent(self).checkDoubleNumber( forceInt(value), row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) return CInDocTableModel.setData(self, index, value, role) elif column == 2: QtCore.QObject.parent(self).checkReturnBlank( row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) QtCore.QObject.parent(self).checkDoubleNumber( forceInt(value), row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) return CInDocTableModel.setData(self, index, value, role) elif column == 3: self._cols[4].orgStructureId = forceRef(value) return CInDocTableModel.setData(self, index, value, role) elif column == 5: QtCore.QObject.parent(self).checkReturnBlank( row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) result = CInDocTableModel.setData(self, index, value, role) if result: QtCore.QObject.parent(self).updateTempInvalidBlankParty() return result elif column == 6: QtCore.QObject.parent(self).checkReturnBlank( row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) result = CInDocTableModel.setData(self, index, value, role) if result: QtCore.QObject.parent(self).updateTempInvalidBlankParty() return result elif column == 8: QtCore.QObject.parent(self).checkReturnBlank( row, column, QtCore.QObject.parent(self).tblBlankTempInvalidMoving, self) result = CInDocTableModel.setData(self, index, value, role) if result: QtCore.QObject.parent(self).updateTempInvalidBlankParty() return result return CInDocTableModel.setData(self, index, value, role) else: return True
def setData(self, index, value, role=QtCore.Qt.EditRole): if role == QtCore.Qt.CheckStateRole: column = index.column() row = index.row() group = forceInt(self.items()[row].value('selectionGroup')) newState = 1 if forceInt(value) == QtCore.Qt.Checked else 0 if group>0: newState = 1 if group == 0: # нулевая группа - всегда переключается return CInDocTableModel.setData(self, index, value, role) if group == 1: # первая группа - никогда не переключается return False for itemIndex, item in enumerate(self.items()): itemGroup = forceInt(item.value('selectionGroup')) if itemGroup == group: item.setValue('include', QtCore.QVariant(newState if itemIndex == row else 0)) self.emitCellChanged(itemIndex, 0) self.emitColumnChanged(0) return True return CInDocTableModel.setData(self, index, value, role)
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 == 0: # код МКБ newMKB = forceString(value) if not newMKB: specifiedMKB = '' specifiedCharacterId = None specifiedTraumaTypeId = None else: acceptable, specifiedMKB, specifiedMKBEx, specifiedCharacterId, specifiedTraumaTypeId = QtCore.QObject.parent( self).specifyDiagnosis(newMKB) if not acceptable: return False value = toVariant(specifiedMKB) result = CInDocTableModel.setData(self, index, value, role) #self.emitResultChanged(item.value('result_id')) self.emitResultChanged(self.items()[row].value('result_id')) if result: self.updateCharacterByMKB(row, specifiedMKB, specifiedCharacterId) self.updateTraumaType(row, specifiedMKB, specifiedTraumaTypeId) return result if column == 1: # доп. код МКБ newMKB = forceString(value) if not newMKB: pass else: acceptable = QtCore.QObject.parent(self).checkDiagnosis( newMKB, True) if not acceptable: return False value = toVariant(newMKB) result = CInDocTableModel.setData(self, index, value, role) return result return CInDocTableModel.setData(self, index, value, role) else: return True
def setData(self, index, value, role=QtCore.Qt.EditRole): result = CInDocTableModel.setData(self, index, value, role) if result and index.column() == 3: self.emitSumChanged() return result
def setData(self, index, value, role=QtCore.Qt.EditRole): if index.column() == 0 and role == QtCore.Qt.EditRole: value = QtCore.QVariant(max(0, forceInt(value)-1)%self.colOffset.high) return CInDocTableModel.setData(self, index, value, role)