Ejemplo n.º 1
0
class BloodHistory(db.Model):
    __tablename__ = u'BloodHistory'

    id = db.Column(db.Integer, primary_key=True)
    bloodDate = db.Column(db.Date, nullable=False)
    client_id = db.Column(db.Integer,
                          db.ForeignKey('Client.id'),
                          nullable=False)
    bloodType_id = db.Column(db.Integer,
                             db.ForeignKey('rbBloodType.id'),
                             nullable=False)
    person_id = db.Column(db.Integer,
                          db.ForeignKey('Person.id'),
                          nullable=False)

    bloodType = db.relationship("rbBloodType")
    person = db.relationship('Person')

    def __init__(self, blood_type, date, person, client):
        self.bloodType_id = int(blood_type) if blood_type else None
        self.bloodDate = date
        self.person_id = int(person) if person else None
        self.client = client

    def __int__(self):
        return self.id

    def __json__(self):
        return {
            'id': self.id,
            'blood_type': self.bloodType,
            'date': self.bloodDate,
            'person': self.person
        }
Ejemplo n.º 2
0
class TakenTissueJournal(db.Model):
    __tablename__ = u'TakenTissueJournal'
    __table_args__ = (db.Index(u'period_barcode', u'period', u'barcode'), )

    id = db.Column(db.Integer, primary_key=True)
    client_id = db.Column(db.ForeignKey('Client.id'),
                          nullable=False,
                          index=True)
    tissueType_id = db.Column(db.ForeignKey('rbTissueType.id'),
                              nullable=False,
                              index=True)
    externalId = db.Column(db.String(30), nullable=False)
    amount = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    unit_id = db.Column(db.ForeignKey('rbUnit.id'), index=True)
    datetimeTaken = db.Column(db.DateTime, nullable=False)
    execPerson_id = db.Column(db.ForeignKey('Person.id'), index=True)
    note = db.Column(db.String(128), nullable=False, default='')
    barcode = db.Column(db.Integer, nullable=False)  # set with trigger
    period = db.Column(db.Integer, nullable=False)  # set with trigger

    client = db.relationship(u'Client')
    execPerson = db.relationship(u'Person')
    tissueType = db.relationship(u'rbTissueType')
    unit = db.relationship(u'rbUnit')

    @property
    def barcode_s(self):
        return code128C(self.barcode).decode('windows-1252')
Ejemplo n.º 3
0
class ClientWork(db.Model):
    __tablename__ = u'ClientWork'

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime, nullable=False)
    createPerson_id = db.Column(db.Integer, index=True)
    modifyDatetime = db.Column(db.DateTime, nullable=False)
    modifyPerson_id = db.Column(db.Integer, index=True)
    deleted = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    client_id = db.Column(db.ForeignKey('Client.id'),
                          nullable=False,
                          index=True)
    org_id = db.Column(db.ForeignKey('Organisation.id'), index=True)
    shortName = db.Column('freeInput', db.String(200), nullable=False)
    post = db.Column(db.String(200), nullable=False)
    stage = db.Column(db.Integer, nullable=False)
    OKVED = db.Column(db.String(10), nullable=False)
    version = db.Column(db.Integer, nullable=False)
    rank_id = db.Column(db.Integer, nullable=False)
    arm_id = db.Column(db.Integer, nullable=False)

    client = db.relationship(u'Client')
    organisation = db.relationship(u'Organisation')

    # hurts = db.relationship(u'ClientworkHurt')

    def __unicode__(self):
        parts = []
        if self.shortName:
            parts.append(self.shortName)
        if self.post:
            parts.append(self.post)
        if self.OKVED:
            parts.append(u'ОКВЭД: ' + self._OKVED)
        return ', '.join(parts)
Ejemplo n.º 4
0
class Schedule(db.Model):
    __tablename__ = 'Schedule'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    person_id = db.Column(db.Integer, db.ForeignKey('Person.id'))
    date = db.Column(db.Date, nullable=False)
    begTime = db.Column(db.Time, nullable=False)
    endTime = db.Column(db.Time, nullable=False)
    numTickets = db.Column(db.Integer, doc=u'Запланированное количество талонов на данный день')
    office_id = db.Column(db.ForeignKey('Office.id'))
    reasonOfAbsence_id = db.Column(db.Integer, db.ForeignKey('rbReasonOfAbsence.id'))
    receptionType_id = db.Column(db.Integer, db.ForeignKey('rbReceptionType.id'))
    createDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now, onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id, onupdate=safe_current_user_id)
    deleted = db.Column(db.SmallInteger, nullable=False, server_default='0', default=0)

    person = db.relationship('Person', foreign_keys=person_id)
    reasonOfAbsence = db.relationship('rbReasonOfAbsence', lazy='joined')
    receptionType = db.relationship('rbReceptionType', lazy='joined')
    tickets = db.relationship(
        'ScheduleTicket', lazy=False, primaryjoin=
        "and_(ScheduleTicket.schedule_id == Schedule.id, ScheduleTicket.deleted == 0)",
        backref=db.backref('schedule'),
        order_by='ScheduleTicket.begTime'
    )
    office = db.relationship('Office', lazy='joined')
Ejemplo n.º 5
0
class OrgStructure_HospitalBed(db.Model):
    __tablename__ = u'OrgStructure_HospitalBed'

    id = db.Column(db.Integer, primary_key=True)
    master_id = db.Column(db.Integer,
                          db.ForeignKey('OrgStructure.id'),
                          nullable=False,
                          index=True)
    idx = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    code = db.Column(db.String(16), nullable=False, server_default=u"''")
    name = db.Column(db.String(64), nullable=False, server_default=u"''")
    isPermanentCode = db.Column("isPermanent",
                                db.Integer,
                                nullable=False,
                                server_default=u"'0'")
    type_id = db.Column(db.Integer,
                        db.ForeignKey('rbHospitalBedType.id'),
                        index=True)
    profile_id = db.Column(db.Integer,
                           db.ForeignKey('rbHospitalBedProfile.id'),
                           index=True)
    relief = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    schedule_id = db.Column(db.Integer,
                            db.ForeignKey('rbHospitalBedSchedule.id'),
                            index=True)
    begDate = db.Column(db.Date)
    endDate = db.Column(db.Date)
    sex = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    age = db.Column(db.String(9), nullable=False)
    age_bu = db.Column(db.Integer)
    age_bc = db.Column(db.SmallInteger)
    age_eu = db.Column(db.Integer)
    age_ec = db.Column(db.SmallInteger)
    involution = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    begDateInvolute = db.Column(db.Date)
    endDateInvolute = db.Column(db.Date)

    orgStructure = db.relationship(u'OrgStructure')
    type = db.relationship(u'rbHospitalBedType')
    profile = db.relationship(u'rbHospitalBedProfile')
    schedule = db.relationship(u'rbHospitalBedSchedule')

    def __json__(self):
        return {
            'id': self.id,
            'org_structure_id': self.master_id,
            'code': self.code,
            'name': self.name,
            'type': self.type,
            'profile': self.profile,
            'schedule': self.schedule
        }

    @property
    def isPermanent(self):
        return self.isPermanentCode == 1
Ejemplo n.º 6
0
class ActionProperty_Person(ActionProperty__ValueType):
    __tablename__ = u'ActionProperty_Person'

    id = db.Column(db.ForeignKey('ActionProperty.id'),
                   primary_key=True,
                   nullable=False)
    index = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    value_ = db.Column('value', db.ForeignKey('Person.id'), index=True)

    value = db.relationship(u'Person')
    property_object = db.relationship('ActionProperty',
                                      backref='_value_Person')
Ejemplo n.º 7
0
class Event_Persons(db.Model):
    __tablename__ = u'Event_Persons'

    id = db.Column(db.Integer, primary_key=True)
    event_id = db.Column(db.ForeignKey('Event.id'), nullable=False, index=True)
    person_id = db.Column(db.ForeignKey('Person.id'),
                          nullable=False,
                          index=True)
    begDate = db.Column(db.DateTime, nullable=False)
    endDate = db.Column(db.DateTime)

    event = db.relationship('Event')
    person = db.relationship('Person')
Ejemplo n.º 8
0
class ActionProperty_rbBloodComponentType(ActionProperty__ValueType):
    __tablename__ = u'ActionProperty_rbBloodComponentType'

    id = db.Column(db.ForeignKey('ActionProperty.id'),
                   primary_key=True,
                   nullable=False)
    index = db.Column(db.Integer, primary_key=True, nullable=False)
    value_ = db.Column('value',
                       db.ForeignKey('rbTrfuBloodComponentType.id'),
                       nullable=False)

    value = db.relationship('rbBloodComponentType')
    property_object = db.relationship('ActionProperty',
                                      backref='_value_rbBloodComponentType')
Ejemplo n.º 9
0
class ActionType_TissueType(db.Model):
    __tablename__ = u'ActionType_TissueType'

    id = db.Column(db.Integer, primary_key=True)
    master_id = db.Column(db.ForeignKey('ActionType.id'),
                          nullable=False,
                          index=True)
    idx = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    tissueType_id = db.Column(db.ForeignKey('rbTissueType.id'), index=True)
    amount = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    unit_id = db.Column(db.ForeignKey('rbUnit.id'), index=True)

    master = db.relationship(u'ActionType')
    tissueType = db.relationship(u'rbTissueType')
    unit = db.relationship(u'rbUnit')
Ejemplo n.º 10
0
class ActionType_User(db.Model):
    __tablename__ = u'ActionType_User'
    __table_args__ = (db.Index(u'person_id_profile_id', u'person_id',
                               u'profile_id'), )

    id = db.Column(db.Integer, primary_key=True)
    actionType_id = db.Column(db.ForeignKey('ActionType.id'),
                              nullable=False,
                              index=True)
    person_id = db.Column(db.ForeignKey('Person.id'))
    profile_id = db.Column(db.ForeignKey('rbUserProfile.id'), index=True)

    actionType = db.relationship(u'ActionType')
    person = db.relationship(u'Person')
    profile = db.relationship(u'rbUserProfile')
Ejemplo n.º 11
0
class rbTissueType(db.Model):
    __tablename__ = u'rbTissueType'

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(64), nullable=False)
    name = db.Column(db.String(128), nullable=False)
    group_id = db.Column(db.ForeignKey('rbTissueType.id'), index=True)
    sexCode = db.Column("sex",
                        db.Integer,
                        nullable=False,
                        server_default=u"'0'")

    group = db.relationship(u'rbTissueType', remote_side=[id])

    @property
    def sex(self):
        return {0: u'Любой', 1: u'М', 2: u'Ж'}[self.sexCode]

    def __json__(self):
        return {
            'id': self.id,
            'code': self.code,
            'name': self.name,
            'sex': self.sex,
        }
Ejemplo n.º 12
0
class ClientContact(db.Model):
    __tablename__ = 'ClientContact'

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now,
                               onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id,
                                onupdate=safe_current_user_id)
    deleted = db.Column(db.Integer,
                        nullable=False,
                        server_default=u"'0'",
                        default=0)
    client_id = db.Column(db.ForeignKey('Client.id'),
                          nullable=False,
                          index=True)
    contactType_id = db.Column(db.Integer,
                               db.ForeignKey('rbContactType.id'),
                               nullable=False,
                               index=True)
    contact = db.Column(db.String(32), nullable=False)
    notes = db.Column(db.Unicode(64), nullable=False, default=u'')
    version = db.Column(db.Integer, nullable=False, default=0)

    contactType = db.relationship(u'rbContactType', lazy=False)

    def __init__(self, cont_type, text, notes, client):
        self.contactType_id = int(cont_type) if cont_type else None
        self.contact = text
        self.notes = notes
        self.client = client

    @property
    def name(self):
        return self.contactType.name if self.contactType else None

    def __json__(self):
        return {
            'id': self.id,
            'deleted': self.deleted,
            'contact_type': self.contactType,
            'contact_text': self.contact,
            'notes': self.notes
        }

    def __int__(self):
        return self.id
Ejemplo n.º 13
0
class ActionProperty_FDRecord(ActionProperty__ValueType):
    __tablename__ = u'ActionProperty_FDRecord'

    id = db.Column(db.Integer,
                   db.ForeignKey('ActionProperty.id'),
                   primary_key=True)
    index = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    value_ = db.Column('value',
                       db.ForeignKey('FDRecord.id'),
                       nullable=False,
                       index=True)

    value = db.relationship(u'FDRecord')
    property_object = db.relationship('ActionProperty',
                                      backref='_value_FDRecord')

    def get_value(self):
        return FDRecord.query.filter(
            FDRecord.id == self.value).first().get_value(u'Наименование')
Ejemplo n.º 14
0
class ActionProperty_Integer(ActionProperty_Integer_Base):
    property_object = db.relationship('ActionProperty',
                                      backref='_value_Integer')

    @property
    def value(self):
        return self.value_

    @value.setter
    def value(self, val):
        self.value_ = val
Ejemplo n.º 15
0
class ActionProperty_OperationType(ActionProperty_Integer_Base):
    property_object = db.relationship('ActionProperty',
                                      backref='_value_OperationType')

    @property
    def value(self):
        return rbOperationType.query.get(self.value_)

    @value.setter
    def value(self, val):
        self.value_ = val.id if val is not None else None
Ejemplo n.º 16
0
class QuotingByTime(db.Model):
    __tablename__ = u'QuotingByTime'

    id = db.Column(db.Integer, primary_key=True)
    doctor_id = db.Column(db.Integer)
    quoting_date = db.Column(db.Date, nullable=False)
    QuotingTimeStart = db.Column(db.Time, nullable=False)
    QuotingTimeEnd = db.Column(db.Time, nullable=False)
    quotingType_id = db.Column("QuotingType", db.Integer, db.ForeignKey('rbTimeQuotingType.code'))

    quotingType = db.relationship('rbTimeQuotingType', lazy='joined')
Ejemplo n.º 17
0
class ActionProperty_AnalysisStatus(ActionProperty_Integer_Base):
    property_object = db.relationship('ActionProperty',
                                      backref='_value_AnalysisStatus')

    @property
    def value(self):
        return rbAnalysisStatus.query.get(self.value_)

    @value.setter
    def value(self, val):
        self.value_ = val.id if val is not None else None
Ejemplo n.º 18
0
class Job(db.Model):
    __tablename__ = u'Job'

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now,
                               onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id,
                                onupdate=safe_current_user_id)
    deleted = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    jobType_id = db.Column(db.Integer,
                           db.ForeignKey('rbJobType.id'),
                           nullable=False,
                           index=True)
    orgStructure_id = db.Column(db.Integer,
                                db.ForeignKey('OrgStructure.id'),
                                nullable=False,
                                index=True)
    date = db.Column(db.Date, nullable=False)
    begTime = db.Column(db.Time, nullable=False)
    endTime = db.Column(db.Time, nullable=False)
    quantity = db.Column(db.Integer, nullable=False)

    job_type = db.relationship(u'rbJobType')
    org_structure = db.relationship(u'OrgStructure')

    def __json__(self):
        return {
            'id': self.id,
            'jobType_id': self.jobType_id,
            'org_structure': self.org_structure,
        }
Ejemplo n.º 19
0
class ScheduleClientTicket(db.Model):
    __tablename__ = 'ScheduleClientTicket'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    client_id = db.Column(db.Integer, db.ForeignKey('Client.id'), nullable=False)
    ticket_id = db.Column(db.Integer, db.ForeignKey('ScheduleTicket.id'), nullable=False)
    isUrgent = db.Column(db.Boolean)
    note = db.Column(db.Unicode(256), default=u'')
    appointmentType_id = db.Column(db.Integer, db.ForeignKey('rbAppointmentType.id'))
    infisFrom = db.Column(db.Unicode(20))
    createDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now, onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id, onupdate=safe_current_user_id)
    deleted = db.Column(db.SmallInteger, nullable=False, server_default='0', default=0)
    event_id = db.Column(db.ForeignKey('Event.id'))
    
    client = db.relationship('Client', lazy='joined', uselist=False)
    appointmentType = db.relationship('rbAppointmentType', lazy=False, innerjoin=True)
    createPerson = db.relationship('Person', foreign_keys=[createPerson_id])
    event = db.relationship('Event')

    ticket = db.relationship(
        'ScheduleTicket', lazy=True, innerjoin=True, uselist=False,
        primaryjoin='and_('
                    'ScheduleClientTicket.deleted == 0, '
                    'ScheduleTicket.deleted == 0, '
                    'ScheduleClientTicket.ticket_id == ScheduleTicket.id)'
    )

    @property
    def org_from(self):
        if not self.infisFrom:
            return
        from .exists import Organisation
        org = Organisation.query.filter(Organisation.infisCode == self.infisFrom).first()
        if not org:
            return self.infisFrom
        return org.title
Ejemplo n.º 20
0
class ActionProperty_Time(ActionProperty__ValueType):
    __tablename__ = u'ActionProperty_Time'

    id = db.Column(db.Integer,
                   db.ForeignKey('ActionProperty.id'),
                   primary_key=True,
                   nullable=False)
    index = db.Column(db.Integer,
                      primary_key=True,
                      nullable=False,
                      server_default=u"'0'")
    value = db.Column(db.Time, nullable=False)
    property_object = db.relationship('ActionProperty', backref='_value_Time')
Ejemplo n.º 21
0
class ScheduleTicket(db.Model):
    __tablename__ = 'ScheduleTicket'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    schedule_id = db.Column(db.Integer, db.ForeignKey('Schedule.id'), nullable=False)
    begTime = db.Column(db.Time)
    endTime = db.Column(db.Time)
    attendanceType_id = db.Column(db.Integer, db.ForeignKey('rbAttendanceType.id'), nullable=False)
    createDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime, nullable=False, default=datetime.datetime.now, onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer, db.ForeignKey('Person.id'), index=True, default=safe_current_user_id, onupdate=safe_current_user_id)
    deleted = db.Column(db.SmallInteger, nullable=False, server_default='0', default=0)

    attendanceType = db.relationship('rbAttendanceType', lazy=False)
    client_ticket = db.relationship(
        'ScheduleClientTicket', lazy=False, primaryjoin=
        "and_(ScheduleClientTicket.ticket_id == ScheduleTicket.id, ScheduleClientTicket.deleted == 0)",
        uselist=False)

    # schedule = db.relationship(
    #     'Schedule', lazy=True, innerjoin=True, uselist=False,
    #     primaryjoin='and_('
    #                 'Schedule.deleted == 0, ScheduleTicket.deleted == 0, ScheduleTicket.schedule_id == Schedule.id)'
    # )

    @property
    def client(self):
        ct = self.client_ticket
        return ct.client if ct else None

    @property
    def begDateTime(self):
        return datetime.datetime.combine(self.schedule.date, self.begTime) if self.begTime is not None else None

    @property
    def endDateTime(self):
        return datetime.datetime.combine(self.schedule.date, self.endTime) if self.endTime is not None else None
Ejemplo n.º 22
0
class ActionType_EventType_check(db.Model):
    __tablename__ = u'ActionType_EventType_check'

    id = db.Column(db.Integer, primary_key=True)
    actionType_id = db.Column(db.ForeignKey('ActionType.id'),
                              nullable=False,
                              index=True)
    eventType_id = db.Column(db.ForeignKey('EventType.id'),
                             nullable=False,
                             index=True)
    related_actionType_id = db.Column(db.ForeignKey('ActionType.id'),
                                      index=True)
    relationType = db.Column(db.Integer)

    actionType = db.relationship(
        u'ActionType',
        primaryjoin='ActionType_EventType_check.actionType_id == ActionType.id'
    )
    eventType = db.relationship(u'EventType')
    related_actionType = db.relationship(
        u'ActionType',
        primaryjoin=
        'ActionType_EventType_check.related_actionType_id == ActionType.id')
Ejemplo n.º 23
0
class ActionProperty_Double(ActionProperty__ValueType):
    __tablename__ = u'ActionProperty_Double'

    id = db.Column(db.Integer,
                   db.ForeignKey('ActionProperty.id'),
                   primary_key=True,
                   nullable=False)
    index = db.Column(db.Integer,
                      primary_key=True,
                      nullable=False,
                      server_default=u"'0'")
    value = db.Column(db.Float(asdecimal=True, decimal_return_scale=2),
                      nullable=False)
    property_object = db.relationship('ActionProperty',
                                      backref='_value_Double')
Ejemplo n.º 24
0
class ActionProperty_ReferenceRb(ActionProperty_Integer_Base):
    @property
    def value(self):
        if not hasattr(self, 'table_name'):
            domain = ActionProperty.query.get(self.id).type.valueDomain
            self.table_name = domain.split(';')[0]
        model = get_model_by_name(self.table_name)
        return model.query.get(self.value_)

    @value.setter
    def value(self, val):
        self.value_ = val.id if val is not None else None

    property_object = db.relationship('ActionProperty',
                                      backref='_value_ReferenceRb')
Ejemplo n.º 25
0
class EventPayment(db.Model):
    __tablename__ = 'Event_Payment'

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now)
    createPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.now,
                               onupdate=datetime.datetime.now)
    modifyPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id,
                                onupdate=safe_current_user_id)
    deleted = db.Column(db.Integer, nullable=False, default=0)
    master_id = db.Column(db.Integer, db.ForeignKey('Event.id'))
    date = db.Column(db.Date, nullable=False)
    cashOperation_id = db.Column(db.ForeignKey('rbCashOperation.id'),
                                 index=True)
    sum = db.Column(db.Float(asdecimal=True), nullable=False)
    typePayment = db.Column(db.Integer, nullable=False)
    settlementAccount = db.Column(db.String(64))
    bank_id = db.Column(db.Integer, index=True)
    numberCreditCard = db.Column(db.String(64))
    cashBox = db.Column(db.String(32), nullable=False)
    sumDiscount = db.Column(db.Float(asdecimal=True), nullable=False)
    action_id = db.Column(db.Integer, db.ForeignKey('Action.id'))
    service_id = db.Column(db.Integer, db.ForeignKey('rbService.id'))
    localContract_id = db.Column(db.Integer,
                                 db.ForeignKey('Event_LocalContract.id'))

    cashOperation = db.relationship(u'rbCashOperation')

    def __json__(self):
        return {
            'id': self.id,
            'date': self.date,
            'sum': self.sum,
            'sum_discount': self.sumDiscount,
            'action_id': self.action_id,
            'service_id': self.service_id,
            'localContract_id': self.localContract_id,
        }
Ejemplo n.º 26
0
class JobTicket(db.Model):
    __tablename__ = u'Job_Ticket'

    id = db.Column(db.Integer, primary_key=True)
    master_id = db.Column(db.Integer,
                          db.ForeignKey('Job.id'),
                          nullable=False,
                          index=True)
    idx = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    datetime = db.Column(db.DateTime, nullable=False)
    resTimestamp = db.Column(db.DateTime)
    resConnectionId = db.Column(db.Integer)
    status = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    begDateTime = db.Column(db.DateTime)
    endDateTime = db.Column(db.DateTime)
    label = db.Column(db.String(64), nullable=False, server_default=u"''")
    note = db.Column(db.String(128), nullable=False, server_default=u"''")

    job = db.relationship(u'Job')

    @property
    def jobType(self):
        return self.job.job_type

    @property
    def orgStructure(self):
        return self.job.org_structure

    def __unicode__(self):
        return u'%s, %s, %s' % (unicode(self.jobType), unicode(
            self.datetime), unicode(self.orgStructure))

    def __json__(self):
        return {
            'id': self.id,
            'job': self.job,
            'datetime': self.datetime,
            'status': self.status,
            'beg_datetime': self.begDateTime,
            'end_datetime': self.endDateTime,
            'label': self.label,
            'note': self.note,
        }
Ejemplo n.º 27
0
class Office(db.Model):
    __tablename__ = 'Office'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    code = db.Column(db.Unicode(32), nullable=False)
    name = db.Column(db.Unicode(64), nullable=False)
    orgStructure_id = db.Column(db.ForeignKey('OrgStructure.id'))

    orgStructure = db.relationship('OrgStructure')

    def __unicode__(self):
        return self.code

    def __json__(self):
        return {
            'id': self.id,
            'code': self.code,
            'name': self.name,
            'org_structure': self.orgStructure
        }
Ejemplo n.º 28
0
class ClientIdentification(db.Model):
    __tablename__ = u'ClientIdentification'
    __table_args__ = (db.Index(u'accountingSystem_id', u'accountingSystem_id',
                               u'identifier'), )

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime, nullable=False)
    createPerson_id = db.Column(db.Integer, index=True)
    modifyDatetime = db.Column(db.DateTime, nullable=False)
    modifyPerson_id = db.Column(db.Integer, index=True)
    deleted = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    client_id = db.Column(db.ForeignKey('Client.id'),
                          nullable=False,
                          index=True)
    accountingSystem_id = db.Column(db.Integer,
                                    db.ForeignKey('rbAccountingSystem.id'),
                                    nullable=False)
    identifier = db.Column(db.String(16), nullable=False)
    checkDate = db.Column(db.Date)
    version = db.Column(db.Integer, nullable=False)

    accountingSystems = db.relationship(u'rbAccountingSystem', lazy=False)

    @property
    def code(self):
        return self.attachType.code

    @property
    def name(self):
        return self.attachType.name

    def __json__(self):
        return {
            'id': self.id,
            'accounting_system': self.accountingSystems,
            'identifier': self.identifier,
            'chechDate': self.checkDate,
        }

    def __int__(self):
        return self.id
Ejemplo n.º 29
0
class EventType_Action(db.Model):
    __tablename__ = u'EventType_Action'

    id = db.Column(db.Integer, primary_key=True)
    eventType_id = db.Column(db.Integer,
                             db.ForeignKey('EventType.id'),
                             nullable=False,
                             index=True)
    idx = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    actionType_id = db.Column(db.Integer,
                              db.ForeignKey('ActionType.id'),
                              nullable=False,
                              index=True)
    speciality_id = db.Column(db.Integer, index=True)
    tissueType_id = db.Column(db.Integer,
                              db.ForeignKey('rbTissueType.id'),
                              index=True)
    sex = db.Column(db.Integer, nullable=False)
    age = db.Column(db.String(9), nullable=False)
    age_bu = db.Column(db.Integer)
    age_bc = db.Column(db.SmallInteger)
    age_eu = db.Column(db.Integer)
    age_ec = db.Column(db.SmallInteger)
    selectionGroup = db.Column(db.Integer,
                               nullable=False,
                               server_default=u"'0'")
    actuality = db.Column(db.Integer, nullable=False)
    expose = db.Column(db.Integer, nullable=False, server_default=u"'1'")
    payable = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    academicDegree_id = db.Column(db.Integer,
                                  db.ForeignKey('rbAcademicDegree.id'))

    actionType = db.relationship('ActionType')

    def __json__(self):
        return {'id': self.id}

    def __int__(self):
        return self.id
Ejemplo n.º 30
0
class Visit(db.Model):
    __tablename__ = u'Visit'

    id = db.Column(db.Integer, primary_key=True)
    createDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.utcnow)
    createPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id)
    modifyDatetime = db.Column(db.DateTime,
                               nullable=False,
                               default=datetime.datetime.utcnow)
    modifyPerson_id = db.Column(db.Integer,
                                index=True,
                                default=safe_current_user_id)
    deleted = db.Column(db.Integer, nullable=False, server_default=u"'0'")
    event_id = db.Column(db.ForeignKey('Event.id'), nullable=False, index=True)
    scene_id = db.Column(db.ForeignKey('rbScene.id'),
                         nullable=False,
                         index=True)
    date = db.Column(db.DateTime, nullable=False)
    visitType_id = db.Column(db.ForeignKey('rbVisitType.id'),
                             nullable=False,
                             index=True)
    person_id = db.Column(db.ForeignKey('Person.id'),
                          nullable=False,
                          index=True)
    isPrimary = db.Column(db.Integer, nullable=False)
    finance_id = db.Column(db.ForeignKey('rbFinance.id'),
                           nullable=False,
                           index=True)
    service_id = db.Column(db.ForeignKey('rbService.id'), index=True)
    payStatus = db.Column(db.Integer, nullable=False)

    service = db.relationship(u'rbService')
    person = db.relationship(u'Person')
    finance = db.relationship(u'rbFinance')
    scene = db.relationship(u'rbScene')
    visitType = db.relationship(u'rbVisitType')
    event = db.relationship(u'Event')

    @classmethod
    def make_default(cls, event):
        from application.lib.utils import safe_traverse_attrs
        visit = cls()
        visit.date = event.setDate
        visit.event = event
        visit.person = event.execPerson
        visit.scene = event.eventType.scene or rbScene.query.filter(
            rbScene.code == '1').first()
        visit.visitType = rbVisitType.query.filter(
            rbVisitType.code == '').first()
        if event.eventType.visitFinance:
            visit.finance = event.execPerson.finance
        else:
            visit.finance = event.eventType.finance
        base_service = event.eventType.service or safe_traverse_attrs(
            event.execPerson, 'speciality', 'service')
        if base_service:
            bsc = modify_service_code(base_service.code,
                                      event.eventType.visitServiceModifier,
                                      visit.visitType.serviceModifier,
                                      visit.scene.serviceModifier)
            visit.service = rbService.query.filter(
                rbService.code == bsc).first()
        visit.payStatus = 0
        visit.isPrimary = 0
        return visit