Ejemplo n.º 1
0
class StateOfLand(Base):
    __tablename__ = "state_of_land"
    _edit_groups = [NOW_APPLICATION_EDIT_GROUP]

    now_application_id = db.Column(
        db.Integer, db.ForeignKey('now_application.now_application_id'), primary_key=True)
    now_application = db.relationship('NOWApplication')

    has_community_water_shed = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())
    has_archaeology_sites_affected = db.Column(
        db.Boolean, nullable=False, server_default=FetchedValue())

    present_land_condition_description = db.Column(db.String)
    means_of_access_description = db.Column(db.String)
    physiography_description = db.Column(db.String)
    old_equipment_description = db.Column(db.String)
    type_of_vegetation_description = db.Column(db.String)
    recreational_trail_use_description = db.Column(db.String)
    arch_site_protection_plan = db.Column(db.String)
    fn_engagement_activities = db.Column(db.String)
    cultural_heritage_description = db.Column(db.String)

    has_shared_info_with_fn = db.Column(db.Boolean, nullable=True)
    has_fn_cultural_heritage_sites_in_area = db.Column(db.Boolean, nullable=True)
    has_activity_in_park = db.Column(db.Boolean, nullable=True)
    is_on_private_land = db.Column(db.Boolean, nullable=True)
    has_auth_lieutenant_gov_council = db.Column(db.Boolean, nullable=True)

    def __repr__(self):
        return '<StateOfLand %r>' % self.now_application_id
Ejemplo n.º 2
0
class HzManage(Base):
    __tablename__ = 'hz_manage'

    id = Column(Integer, primary_key=True)
    user_name = Column(String(20), nullable=False, server_default=FetchedValue())
    psd = Column(String(40), nullable=False, server_default=FetchedValue())
    status = Column(Integer, nullable=False, server_default=FetchedValue())
Ejemplo n.º 3
0
class MineIncidentDocumentXref(Base):
    __tablename__ = "mine_incident_document_xref"
    mine_incident_document_xref_guid = db.Column(UUID(as_uuid=True),
                                                 primary_key=True,
                                                 server_default=FetchedValue())
    mine_document_guid = db.Column(
        UUID(as_uuid=True), db.ForeignKey('mine_document.mine_document_guid'))
    mine_incident_id = db.Column(
        db.Integer,
        db.ForeignKey('mine_incident.mine_incident_id'),
        server_default=FetchedValue())
    mine_incident_document_type_code = db.Column(
        db.String,
        db.ForeignKey(
            'mine_incident_document_type_code.mine_incident_document_type_code'
        ),
        nullable=False)
    mine_document = db.relationship('MineDocument', lazy='joined')

    mine_guid = association_proxy('mine_document', 'mine_guid')
    document_manager_guid = association_proxy('mine_document',
                                              'document_manager_guid')
    document_name = association_proxy('mine_document', 'document_name')

    def __repr__(self):
        return '<MineIncidentDocumentXref %r>' % self.mine_incident_document_xref_guid
Ejemplo n.º 4
0
class ApplicationStatusCode(AuditMixin, Base):
    __tablename__ = 'application_status_code'
    application_status_code = db.Column(db.String(3),
                                        primary_key=True,
                                        server_default=FetchedValue())
    description = db.Column(db.String(100), nullable=False)
    display_order = db.Column(db.Integer, nullable=False)
    active_ind = db.Column(db.Boolean,
                           nullable=False,
                           server_default=FetchedValue())

    def __repr__(self):
        return '<ApplicationStatusCode %r>' % self.application_status_code

    def json(self):
        return {
            'application_status_code': self.application_status_code,
            'description': self.description,
        }

    @classmethod
    def find_by_application_status_code(cls, code):
        return cls.query.filter_by(application_status_code=code).first()

    @classmethod
    def find_all_active_application_status_code(cls):
        try:
            return cls.query.filter_by(active_ind=True).all()
        except ValueError:
            return None
Ejemplo n.º 5
0
class MineComment(Base, AuditMixin):
    __tablename__ = "mine_comment"
    mine_comment_id = db.Column(db.Integer, primary_key=True, server_default=FetchedValue())
    mine_comment_guid = db.Column(UUID(as_uuid=True), nullable=False, server_default=FetchedValue())
    mine_guid = db.Column(db.Integer, db.ForeignKey('mine.mine_guid'), nullable=False)
    mine_comment = db.Column(db.String, nullable=False)
    deleted_ind = db.Column(db.Boolean, nullable=False, default=False)

    comment_user = db.Column(nullable=False, default=User().get_user_username)
    comment_datetime = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)

    def __repr__(self):
        return '<MineComment %r>' % self.mine_comment_guid

    @classmethod
    def create(cls, mine, mine_comment, add_to_session=True):
        new_comment = cls(mine_comment=mine_comment)
        mine.comments.append(new_comment)

        if add_to_session:
            new_comment.save(commit=False)
        return new_comment

    @classmethod
    def find_by_guid(cls, _id):
        return cls.query.filter_by(mine_comment_guid=_id).filter_by(deleted_ind=False).first()

    @classmethod
    def find_by_mine_guid(cls, _id):
        return cls.query.filter_by(mine_guid=_id).filter_by(deleted_ind=False).all()
Ejemplo n.º 6
0
class ArticleSchool(db.Model):
    __tablename__ = 'article_school'

    articleID = db.Column(db.Integer, primary_key=True)
    communityID = db.Column(db.ForeignKey('community_school.communityID',
                                          ondelete='CASCADE'),
                            index=True)
    schoolID = db.Column(db.ForeignKey('school_info.schoolID',
                                       ondelete='CASCADE'),
                         nullable=False,
                         index=True)
    userID = db.Column(db.ForeignKey('user_info.userID', ondelete='CASCADE'),
                       index=True)
    nickName = db.Column(db.String(20, 'utf8_unicode_ci'), nullable=False)
    title = db.Column(db.String(50, 'utf8_unicode_ci'))
    content = db.Column(db.String(5000, 'utf8_unicode_ci'))
    viewNumber = db.Column(db.Integer, server_default=FetchedValue())
    reply = db.Column(db.Integer, server_default=FetchedValue())
    heart = db.Column(db.Integer, server_default=FetchedValue())
    writtenTime = db.Column(db.DateTime)

    community = db.relationship(
        'CommunitySchool',
        primaryjoin='ArticleSchool.communityID == CommunitySchool.communityID',
        backref=backref('articles', cascade="all,delete"))
    user_info = db.relationship(
        'UserInfo',
        primaryjoin='ArticleSchool.userID == UserInfo.userID',
        backref=backref('article_schools', cascade="all,delete"))
    school_info = db.relationship(
        'SchoolInfo',
        primaryjoin='ArticleSchool.schoolID == SchoolInfo.schoolID',
        backref=backref('user_info_schools', cascade="all,delete"))
Ejemplo n.º 7
0
class Camp(ActivitySummaryBase):
    __tablename__ = "camp"
    __mapper_args__ = {
        'polymorphic_identity': 'camp',  ## type code
    }
    activity_summary_id = db.Column(
        db.Integer,
        db.ForeignKey('activity_summary.activity_summary_id'),
        primary_key=True)

    camp_name = db.Column(db.String)
    camp_number_people = db.Column(db.String)
    camp_number_structures = db.Column(db.String)
    has_fuel_stored = db.Column(db.Boolean,
                                nullable=False,
                                server_default=FetchedValue())
    has_fuel_stored_in_bulk = db.Column(db.Boolean,
                                        nullable=False,
                                        server_default=FetchedValue())
    has_fuel_stored_in_barrels = db.Column(db.Boolean,
                                           nullable=False,
                                           server_default=FetchedValue())
    volume_fuel_stored = db.Column(db.Integer)

    details = db.relationship('CampDetail',
                              secondary='activity_summary_detail_xref',
                              load_on_pending=True)

    def __repr__(self):
        return '<Camp %r>' % self.activity_summary_id
Ejemplo n.º 8
0
class Power(Base):
    __tablename__ = 'power'
    __table_args__ = {'mysql_collate': 'utf8_general_ci'}

    id = Column(Integer, primary_key=True)
    year = Column(Integer, nullable=False)
    month = Column(Integer, nullable=False)
    day = Column(Integer, nullable=False)
    hour = Column(Integer, nullable=False)
    minute = Column(Integer, nullable=False)
    value = Column(Float, nullable=False)
    pre_value = Column(Float)
    createdAt = Column(DateTime, nullable=False, server_default=FetchedValue())
    updatedAt = Column(DateTime, nullable=False, server_default=FetchedValue())
    buildingId = Column(ForeignKey('building.id'), index=True)

    building = relationship('Building',
                            primaryjoin='Power.buildingId == Building.id',
                            backref='powers')

    def __repr__(self):
        return f'<Power id:{self.id}>'

    def as_dict(self):
        return {x.name: getattr(self, x.name) for x in self.__table__.columns}
Ejemplo n.º 9
0
class Model(Base):
    __tablename__ = 'model'
    __table_args__ = {'mysql_collate': 'utf8_general_ci'}

    id = Column(Integer, primary_key=True)
    api_key = Column(String(100), nullable=False)
    filename = Column(String(100), nullable=False)
    filepath = Column(String(200), nullable=False)
    learning_percent = Column(Float)
    learning_log = Column(String(200))
    learning_status = Column(Enum('STOP', 'LEARNING', 'COMPLETE', 'FAILURE'),
                             nullable=False,
                             server_default=FetchedValue())
    target = Column(Enum('BROKEN', 'POWER'), nullable=False)
    createdAt = Column(DateTime, nullable=False, server_default=FetchedValue())
    updatedAt = Column(DateTime, nullable=False, server_default=FetchedValue())
    buildingId = Column(ForeignKey('building.id'), index=True)

    building = relationship('Building',
                            primaryjoin='Model.buildingId == Building.id',
                            backref='models')

    def __repr__(self):
        return f'<Model id:{self.id}>'

    def as_dict(self):
        return {x.name: getattr(self, x.name) for x in self.__table__.columns}
Ejemplo n.º 10
0
class ReclamationInvoice(Base, AuditMixin):
    __tablename__ = "reclamation_invoice"

    class _ModelSchema(Base._ModelSchema):
        reclamation_invoice_id = fields.Integer(dump_only=True)
        reclamation_invoice_guid = fields.String(dump_only=True)

    reclamation_invoice_id = db.Column(db.Integer,
                                       primary_key=True,
                                       server_default=FetchedValue())
    reclamation_invoice_guid = db.Column(UUID(as_uuid=True),
                                         nullable=False,
                                         unique=True,
                                         server_default=FetchedValue())
    permit_id = db.Column(db.Integer, db.ForeignKey('permit.permit_id'))
    project_id = db.Column(db.String, nullable=False)
    amount = db.Column(db.Numeric(14, 2), nullable=False)
    vendor = db.Column(db.String, nullable=False)

    permit = db.relationship('Permit', lazy='joined')
    documents = db.relationship('ReclamationInvoiceDocument', lazy='select')

    def __repr__(self):
        return '<ReclamationInvoice %r>' % self.reclamation_invoice_guid

    @classmethod
    def find_by_reclamation_invoice_guid(cls, reclamation_invoice_guid):
        return cls.query.filter_by(
            reclamation_invoice_guid=reclamation_invoice_guid).first()
Ejemplo n.º 11
0
class PermitAmendmentDocument(AuditMixin, Base):
    __tablename__ = "permit_amendment_document"
    _edit_groups = [PERMIT_EDIT_GROUP, PERMIT_AMENDMENT_EDIT_GROUP]

    permit_amendment_document_guid = db.Column(UUID(as_uuid=True),
                                               primary_key=True,
                                               server_default=FetchedValue())
    permit_amendment_id = db.Column(
        db.Integer,
        db.ForeignKey('permit_amendment.permit_amendment_id'),
        nullable=True)
    document_name = db.Column(db.String, nullable=False)
    mine_guid = db.Column(UUID(as_uuid=True), nullable=False)
    document_manager_guid = db.Column(UUID(as_uuid=True))
    active_ind = db.Column(db.Boolean,
                           nullable=False,
                           server_default=FetchedValue())
    deleted_ind = db.Column(db.Boolean,
                            nullable=False,
                            server_default=FetchedValue())

    permit_amendment = db.relationship(
        'PermitAmendment',
        backref='related_documents',
        lazy='joined',
        primaryjoin=
        'and_(PermitAmendment.permit_amendment_id == PermitAmendmentDocument.permit_amendment_id, PermitAmendmentDocument.deleted_ind==False)',
    )

    mine_name = association_proxy('permit_amendment', 'permit.mine.mine_name')

    @classmethod
    def find_by_permit_amendment_document_guid(cls, _guid):
        return cls.query.filter_by(permit_amendment_document_guid=_guid,
                                   deleted_ind=False).first()
Ejemplo n.º 12
0
class MineDocument(AuditMixin, Base):
    __tablename__ = 'mine_document'
    mine_document_guid = db.Column(UUID(as_uuid=True),
                                   primary_key=True,
                                   server_default=FetchedValue())
    mine_guid = db.Column(UUID(as_uuid=True), db.ForeignKey('mine.mine_guid'))
    document_manager_guid = db.Column(UUID(as_uuid=True))
    document_name = db.Column(db.String(40), nullable=False)
    active_ind = db.Column(db.Boolean,
                           nullable=False,
                           server_default=FetchedValue())
    upload_date = db.Column(db.Date, nullable=False, default=datetime.utcnow)

    mine_name = association_proxy('mine', 'mine_name')

    @classmethod
    def find_by_mine_guid(cls, mine_guid):
        return cls.query.filter_by(mine_guid=mine_guid).filter_by(
            active_ind=True).all()

    @classmethod
    def find_by_mine_document_guid(cls, mine_document_guid):
        return cls.query.filter_by(
            mine_document_guid=mine_document_guid).filter_by(
                active_ind=True).first()

    # TODO: Remove when mine_party_appt is refactored
    def json(self):
        return {
            'mine_document_guid': str(self.mine_document_guid),
            'mine_guid': str(self.mine_guid),
            'document_manager_guid': str(self.document_manager_guid),
            'document_name': self.document_name
        }
Ejemplo n.º 13
0
Archivo: dbm.py Proyecto: Ghun2/myTd
class Workcondition(Base):
    __tablename__ = 'workcondition'

    wcond_id = Column(Integer, primary_key=True)
    user_id = Column(ForeignKey('user.user_id'), nullable=False, index=True)
    wp_id = Column(ForeignKey('workplace.wp_id'), nullable=False, index=True)
    cont_id = Column(ForeignKey('workcontract.cont_id'), index=True)
    start_work_date = Column(String(8))
    start_work_time = Column(Time)
    end_work_time = Column(Time)
    start_rest_time = Column(Time)
    end_rest_time = Column(Time)
    amount_work_time = Column(Time)
    amount_rest_time = Column(Time)
    hourly_pay = Column(Integer)
    monthly_pay = Column(Integer)
    payday = Column(String(4))
    pay_type = Column(String(45))
    wcond_status = Column(Integer,
                          nullable=False,
                          server_default=FetchedValue())
    created_time = Column(DateTime, server_default=FetchedValue())
    updated_time = Column(DateTime)

    cont = relationship(
        'Workcontract',
        primaryjoin='Workcondition.cont_id == Workcontract.cont_id',
        backref='workconditions')
    user = relationship('User',
                        primaryjoin='Workcondition.user_id == User.user_id',
                        backref='workconditions')
    wp = relationship('Workplace',
                      primaryjoin='Workcondition.wp_id == Workplace.wp_id',
                      backref='workconditions')
Ejemplo n.º 14
0
class VarianceDocumentXref(Base):
    __tablename__ = "variance_document_xref"
    variance_document_xref_guid = db.Column(UUID(as_uuid=True),
                                            primary_key=True,
                                            server_default=FetchedValue())
    mine_document_guid = db.Column(
        UUID(as_uuid=True), db.ForeignKey('mine_document.mine_document_guid'))
    variance_id = db.Column(db.Integer,
                            db.ForeignKey('variance.variance_id'),
                            server_default=FetchedValue())
    variance_document_category_code = db.Column(
        db.String,
        db.ForeignKey(
            'variance_document_category_code.variance_document_category_code'),
        nullable=False)
    created_at = db.Column(db.DateTime, server_default=FetchedValue())

    mine_document = db.relationship('MineDocument', lazy='joined')

    mine_guid = association_proxy('mine_document', 'mine_guid')
    document_manager_guid = association_proxy('mine_document',
                                              'document_manager_guid')
    document_name = association_proxy('mine_document', 'document_name')

    def __repr__(self):
        return '<VarianceDocumentXref %r>' % self.variance_document_xref_guid
Ejemplo n.º 15
0
class PermitAmendmentDocument(AuditMixin, Base):
    __tablename__ = "permit_amendment_document"
    permit_amendment_document_guid = db.Column(
        UUID(as_uuid=True), primary_key=True, server_default=FetchedValue())
    permit_amendment_id = db.Column(
        db.Integer, db.ForeignKey('permit_amendment.permit_amendment_id'), nullable=True)
    document_name = db.Column(db.String, nullable=False)
    mine_guid = db.Column(UUID(as_uuid=True), nullable=False)
    document_manager_guid = db.Column(UUID(as_uuid=True))
    active_ind = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())

    permit_amendment = db.relationship('PermitAmendment', backref='documents', lazy='joined')

    mine_name = association_proxy('permit_amendment', 'permit.mine.mine_name')

    def json(self):
        return {
            'mine_guid':
            str(self.mine_guid),
            'document_guid':
            str(self.permit_amendment_document_guid),
            'document_name':
            self.document_name,
            'document_manager_guid':
            str(self.document_manager_guid) if self.document_manager_guid else None
        }

    @classmethod
    def find_by_permit_amendment_guid(cls, _guid):
        return cls.query.filter_by(permit_amendment_document_guid=_guid).first()
Ejemplo n.º 16
0
class MineReportDefinition(Base):
    __tablename__ = "mine_report_definition"
    mine_report_definition_id = db.Column(db.Integer,
                                          primary_key=True,
                                          server_default=FetchedValue())
    mine_report_definition_guid = db.Column(UUID(as_uuid=True), nullable=False)
    name = db.Column(db.String, nullable=False)
    description = db.Column(db.String, nullable=False)
    compliance_article_id = db.Column(
        db.Integer,
        db.ForeignKey('compliance_article.compliance_article_id'),
        nullable=False)
    due_date_period_months = db.Column(db.Integer, nullable=False)
    mine_report_due_date_type = db.Column(
        db.String,
        db.ForeignKey('mine_report_due_date_type.mine_report_due_date_type'),
        nullable=False)
    active_ind = db.Column(db.Boolean,
                           server_default=FetchedValue(),
                           nullable=False)
    categories = db.relationship('MineReportCategory',
                                 lazy='selectin',
                                 secondary='mine_report_category_xref')
    compliance_articles = db.relationship(
        'ComplianceArticle',
        lazy='selectin',
        secondary='mine_report_definition_compliance_article_xref')

    def __repr__(self):
        return '<MineReportDefinition %r>' % self.mine_report_definition_guid
Ejemplo n.º 17
0
class Product(db.Model):
    id = db.Column(db.Integer, primary_key=True)

    # descriptive fields
    code = db.Column(db.String(255), unique=True)
    name = db.Column(db.String(255), unique=True)
    quantity_per_unit = db.Column(db.Integer)
    list_price = db.Column(db.Float)
    selling_price = db.Column(db.Float)
    description = db.Column(db.Text)
    discontinued = db.Column(db.Boolean())

    # REF: Supplier (brand) table
    supplier_id = db.Column(db.Integer(), db.ForeignKey(Supplier.id))
    supplier = db.relationship(Supplier, backref='suppliers')

    # auto-completed from database trigger (concatentates several fields)
    fullname = db.Column(db.String(1000),
                         server_default=FetchedValue(),
                         server_onupdate=FetchedValue())

    # intial amount; managed in a separate form
    initial_volume = db.Column(db.Integer)

    # REF: tags table
    tags = db.relationship('Tag', secondary=product_tags_table)

    def __str__(self):
        return self.fullname
Ejemplo n.º 18
0
class NOWApplicationDocumentXref(AuditMixin, Base):
    __tablename__ = "now_application_document_xref"

    now_application_document_xref_guid = db.Column(
        UUID(as_uuid=True), primary_key=True, server_default=FetchedValue())
    mine_document_guid = db.Column(
        UUID(as_uuid=True), db.ForeignKey('mine_document.mine_document_guid'))
    now_application_id = db.Column(
        db.Integer,
        db.ForeignKey('now_application.now_application_id'),
        server_default=FetchedValue())
    now_application_document_type_code = db.Column(
        db.String,
        db.ForeignKey(
            'now_application_document_type.now_application_document_type_code')
    )

    mine_document = db.relationship('MineDocument', lazy='joined')
    now_application_document_type = db.relationship(
        'NOWApplicationDocumentType', lazy='joined')

    mine_guid = association_proxy('mine_document', 'mine_guid')
    document_manager_guid = association_proxy('mine_document',
                                              'document_manager_guid')
    document_name = association_proxy('mine_document', 'document_name')

    def __repr__(self):
        return '<ApplicationDocumentXref %r>' % self.application_document_xref_guid
class FoodStockChangeLog(Base):
    __tablename__ = 'food_stock_change_log'
    id = Column(Integer, primary_key=True, autoincrement=True)
    food_id = Column(Integer, nullable=False, index=True)
    unit = Column(Integer, nullable=False, server_default=FetchedValue())
    total_stock = Column(Integer, nullable=False, server_default=FetchedValue())
    note = Column(String(100), nullable=False, server_default=FetchedValue())
Ejemplo n.º 20
0
class Client(Base):
    __tablename__ = 'client'

    id = Column(String(36), primary_key=True, nullable=False)
    dateadded = Column(DateTime, server_default=FetchedValue())
    firstname = Column(String(250), nullable=False)
    lastname = Column(String(250), nullable=False)
    title = Column(String(250))
    company = Column(String(250))
    location = Column(String(250))
    email = Column(String(250))
    campaign_management_email = Column(String(250))
    phone = Column(String(250))
    ulincid = Column(String(36), nullable=False)
    lpass_email = Column(String(250))
    lpass_ulinc = Column(String(250))
    lpass_li = Column(String(250))
    email_server_id = Column(Integer, nullable=False)
    new_connection_wh = Column(String(250))
    new_message_wh = Column(String(250))
    send_message_wh = Column(String(250))
    isactive = Column(Boolean, nullable=False)
    clientmanager = Column(String(36), nullable=False)
    daily_tasks_email_id = Column(String(36))
    client_sheet_id = Column(String(100))
    ulinc_cookie_id = Column(String(100))
    dateupdated = Column(DateTime, server_default=FetchedValue())
Ejemplo n.º 21
0
class MineReportComment(Base):
    __tablename__ = "mine_report_comment"
    mine_report_comment_id = db.Column(db.Integer,
                                       primary_key=True,
                                       server_default=FetchedValue())
    mine_report_comment_guid = db.Column(UUID(as_uuid=True), nullable=False)
    mine_report_id = db.Column(db.Integer,
                               db.ForeignKey('mine_report.mine_report_id'))
    mine_report_submission_id = db.Column(
        db.Integer,
        db.ForeignKey('mine_report_submission.mine_report_submission_id'))
    minespace_user_id = db.Column(db.Integer,
                                  db.ForeignKey('minespace_user.user_id'))
    core_user_id = db.Column(db.Integer,
                             db.ForeignKey('core_user.core_user_id'))
    comment = db.Column(db.String, nullable=False)
    comment_visibility = db.Column(db.Boolean, nullable=False)
    due_date = db.Column(db.DateTime, nullable=False)
    submission_year = db.Column(db.Integer)
    deleted_ind = db.Column(db.Boolean,
                            server_default=FetchedValue(),
                            nullable=False)

    mine_report_submissions = db.relationship('MineReportSubmission',
                                              lazy='joined')

    def __repr__(self):
        return '<MineReportComment %r>' % self.mine_report_comment_guid
Ejemplo n.º 22
0
class MinePartyAppointmentType(AuditMixin, Base):
    __tablename__ = "mine_party_appt_type_code"
    mine_party_appt_type_code = db.Column(db.String(3), primary_key=True)
    description = db.Column(db.String(100), nullable=False)
    display_order = db.Column(db.Integer)
    active_ind = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())
    person = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())
    organization = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())
    grouping_level = db.Column(db.Integer)

    def json(self):
        return {
            'mine_party_appt_type_code': self.mine_party_appt_type_code,
            'description': self.description,
            'display_order': self.display_order,
            'person': self.person,
            'organization': self.organization,
            'grouping_level': self.grouping_level,
            'active_ind': self.active_ind
        }

    @classmethod
    def find_by_mine_party_appt_type_code(cls, code):
        try:
            return cls.query.filter_by(mine_party_appt_type_code=code).first()
        except ValueError:
            return None

    @classmethod
    def find_all_active(cls):
        try:
            return cls.query.filter_by(active_ind=True).all()
        except ValueError:
            return None
Ejemplo n.º 23
0
class MsswUtility(Base):
    __tablename__ = 'mssw_utility'
    __table_args__ = (
        Index('utility_fk_dict_sub_group_id_2_pub_dict_idx',
              'fk_dict_utility_main_group_id', 'fk_dict_utility_sub_group_id'),
    )

    id = Column(Integer, primary_key=True)
    name = Column(String(64), nullable=False)
    display_name = Column(String(128), nullable=False)
    fk_dict_utility_main_group_id = Column(
        ForeignKey('pub_dict.id'), nullable=False, index=True)
    fk_dict_utility_sub_group_id = Column(
        ForeignKey('pub_dict.id'), nullable=False, index=True)
    disabled = Column(Integer, nullable=False, server_default=FetchedValue())
    operator_id = Column(ForeignKey('user.id'), index=True)
    operate_time = Column(DateTime, nullable=False,
                          server_default=FetchedValue())
    description = Column(String(200))

    fk_dict_utility_main_group = relationship(
        'PubDict', primaryjoin='MsswUtility.fk_dict_utility_main_group_id == PubDict.id', backref='pubdict_mssw_utilities')
    fk_dict_utility_sub_group = relationship(
        'PubDict', primaryjoin='MsswUtility.fk_dict_utility_sub_group_id == PubDict.id', backref='pubdict_mssw_utilities_0')
    operator = relationship(
        'User', primaryjoin='MsswUtility.operator_id == User.id', backref='mssw_utilities')
Ejemplo n.º 24
0
class MineDocument(AuditMixin, Base):
    __tablename__ = 'mine_document'
    mine_document_guid = db.Column(
        UUID(as_uuid=True), primary_key=True, server_default=FetchedValue())
    mine_guid = db.Column(
        UUID(as_uuid=True), db.ForeignKey('mine_identity.mine_guid'))
    document_manager_guid = db.Column(UUID(as_uuid=True))
    document_name = db.Column(db.String(40), nullable=False)
    active_ind = db.Column(
        db.Boolean, nullable=False, server_default=FetchedValue())
    mine_expected_document = db.relationship(
        'MineExpectedDocument', secondary='mine_expected_document_xref')

    def json(self):
        return {
            'mine_document_guid': str(self.mine_document_guid),
            'mine_guid': str(self.mine_guid),
            'document_manager_guid': str(self.document_manager_guid),
            'document_name': str(self.document_name),
            'active_ind': str(self.active_ind),
        }

    @classmethod
    def find_by_mine_guid(cls, mine_guid):
        return cls.query.filter_by(mine_guid=mine_guid).filter_by(
            active_ind=True).all()
Ejemplo n.º 25
0
class MinePartyAppointmentType(AuditMixin, Base):
    __tablename__ = "mine_party_appt_type_code"
    mine_party_appt_type_code = db.Column(db.String(3), primary_key=True)
    description = db.Column(db.String(100), nullable=False)
    display_order = db.Column(db.Integer)
    active_ind = db.Column(db.Boolean,
                           nullable=False,
                           server_default=FetchedValue())
    person = db.Column(db.Boolean,
                       nullable=False,
                       server_default=FetchedValue())
    organization = db.Column(db.Boolean,
                             nullable=False,
                             server_default=FetchedValue())
    grouping_level = db.Column(db.Integer)

    @classmethod
    def find_by_mine_party_appt_type_code(cls, code):
        try:
            return cls.query.filter_by(mine_party_appt_type_code=code).first()
        except ValueError:
            return None

    @classmethod
    def get_all(cls):
        try:
            return cls.query.order_by(desc(cls.grouping_level),
                                      cls.display_order).all()
        except ValueError:
            return None
Ejemplo n.º 26
0
class ExpectedDocumentStatus(AuditMixin, Base):
    __tablename__ = 'mine_expected_document_status_code'
    exp_document_status_code = db.Column(db.String(3),
                                         primary_key=True,
                                         server_default=FetchedValue())
    description = db.Column(db.String(100), nullable=False)
    display_order = db.Column(db.Integer, nullable=False)
    active_ind = db.Column(db.Boolean,
                           nullable=False,
                           server_default=FetchedValue())

    def __repr__(self):
        return '<ExpectedDocumentStatus %r>' % self.exp_document_status_code

    def json(self):
        return {
            'exp_document_status_code': self.exp_document_status_code,
            'description': self.description,
        }

    @classmethod
    def find_by_expected_document_status(cls, code):
        return cls.query.filter_by(exp_document_status_code=code).first()

    @classmethod
    def find_all_document_status(cls):
        try:
            return cls.query.filter_by(active_ind=True).all()
        except ValueError:
            return None
Ejemplo n.º 27
0
class Coupon_Info(db.Model):
    __tablename__ = 'coupon_info'

    Id = db.Column(Integer, primary_key=True)
    Coupon_Name = db.Column(String(128),
                            nullable=False,
                            server_default=FetchedValue())
    ShopId = db.Column(Integer, nullable=False, server_default=FetchedValue())
    Coupon_Price = db.Column(DECIMAL,
                             nullable=False,
                             server_default=FetchedValue())
    Member_Id = db.Column(Integer,
                          nullable=False,
                          server_default=FetchedValue())
    Price = db.Column(DECIMAL, nullable=False, server_default=FetchedValue())
    CreateTime = db.Column(DateTime,
                           nullable=False,
                           server_default=FetchedValue())
    UpdateTime = db.Column(DateTime,
                           nullable=False,
                           server_default=FetchedValue())
    Status = db.Column(Integer, nullable=False, server_default=FetchedValue())
    QrCode_Url = db.Column(String(128),
                           nullable=False,
                           server_default=FetchedValue())
    Order_sn = db.Column(String(128),
                         nullable=False,
                         server_default=FetchedValue())
Ejemplo n.º 28
0
class MineIncidentRecommendation(AuditMixin, Base):
    __tablename__ = 'mine_incident_recommendation'
    mine_incident_recommendation_id = db.Column(
        db.Integer, primary_key=True, server_default=FetchedValue())
    mine_incident_id = db.Column(
        db.Integer, db.ForeignKey('mine_incident.mine_incident_id'), nullable=False)
    recommendation = db.Column(db.String, nullable=False)
    mine_incident_recommendation_guid = db.Column(UUID(as_uuid=True), nullable=False, server_default=FetchedValue())
    deleted_ind = db.Column(db.Boolean, nullable=False, server_default=FetchedValue())


    @classmethod
    def create(cls, recommendation, mine_incident_id, add_to_session=True):
        new_recommendation = cls(recommendation=recommendation, mine_incident_id=mine_incident_id)
        if add_to_session:
            new_recommendation.save(commit=False)
        return new_recommendation


    @classmethod
    def find_by_mine_incident_recommendation_guid(cls, _id):
        try:
            uuid.UUID(str(_id), version=4)
            return cls.query.filter_by(mine_incident_recommendation_guid=_id).filter_by(deleted_ind=False).first()
        except ValueError:
            raise AssertionError(INVALID_MINE_INCIDENT_RECOMMENDATION_GUID)
Ejemplo n.º 29
0
class InspectionRecord(LocalModel):
    __tablename__ = "inspection_record"

    id = Column(Integer, primary_key=True)
    location_id = Column(Integer, ForeignKey("location.id"), nullable=False)
    date_created = Column(
        DateTime,
        nullable=False,
        server_default=sql.text("CURRENT_TIMESTAMP"),
        server_onupdate=FetchedValue(),
    )
    inspector_id = Column(Integer, ForeignKey("user.id"), nullable=False)
    inspector_submitted = Column(DateTime)
    contact_id = Column(Integer, ForeignKey("person.id"), nullable=False)
    contact_reviewed = Column(DateTime)
    pharmacist_id = Column(Integer, ForeignKey("user.id"))
    manager_reviewed = Column(DateTime)
    comment = Column(TEXT)
    is_active = Column(TINYINT, nullable=False, server_default="1")
    last_updated = Column(
        DateTime,
        nullable=False,
        server_default=sql.text(
            "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
        server_onupdate=FetchedValue(),
    )
    last_updated_by = Column(Integer, nullable=False)

    # Relationships
    location = relationship("Location")
    inspector = relationship("User", foreign_keys=[inspector_id])
    contact = relationship("Person")
    pharmacist = relationship("User", foreign_keys=[pharmacist_id])
Ejemplo n.º 30
0
class Bond(Base, AuditMixin):
    __tablename__ = "bond"

    class _ModelSchema(Base._ModelSchema):
        bond_id = fields.Integer(dump_only=True)
        bond_guid = fields.UUID(dump_only=True)
        bond_type_code = FieldTemplate(field=fields.String, one_of='BondType')
        bond_status_code = FieldTemplate(field=fields.String,
                                         one_of='BondStatus')

    bond_id = db.Column(db.Integer,
                        primary_key=True,
                        server_default=FetchedValue())
    bond_guid = db.Column(UUID(as_uuid=True),
                          nullable=False,
                          unique=True,
                          server_default=FetchedValue())
    amount = db.Column(db.Numeric(14, 2), nullable=False)
    bond_type_code = db.Column(db.String,
                               db.ForeignKey('bond_type.bond_type_code'))
    issue_date = db.Column(db.DateTime)
    payer_party_guid = db.Column(UUID(as_uuid=True),
                                 db.ForeignKey('party.party_guid'),
                                 nullable=False)
    bond_status_code = db.Column(db.String,
                                 db.ForeignKey('bond_status.bond_status_code'))
    reference_number = db.Column(db.String)
    institution_name = db.Column(db.String)
    institution_street = db.Column(db.String)
    institution_city = db.Column(db.String)
    institution_province = db.Column(
        db.String, db.ForeignKey('sub_division_code.sub_division_code'))
    institution_postal_code = db.Column(db.String)
    note = db.Column(db.String)
    project_id = db.Column(db.String)

    payer = db.relationship('Party', lazy='joined')
    permit = db.relationship('Permit',
                             uselist=False,
                             lazy='joined',
                             secondary='bond_permit_xref')
    documents = db.relationship('BondDocument', lazy='select')

    def __repr__(self):
        return '<Bond %r>' % self.bond_guid

    def save_bond_history(self):
        bond_json = marshal(self, BOND)
        del bond_json['bond_guid']
        del bond_json['documents']

        bond_json['payer_name'] = bond_json['payer']['party_name']
        current_app.logger.info(bond_json)
        bond_hist = BondHistory._schema().load(bond_json)
        bond_hist.save()
        return bond_hist

    @classmethod
    def find_by_bond_guid(cls, bond_guid):
        return cls.query.filter_by(bond_guid=bond_guid).first()