from databases.sql_models.core_mixin import CrudCollection from sqlalchemy.orm import mapped_column, Mapped from sqlalchemy import ( String, Integer, ForeignKey, Index, SmallInteger, Boolean, TIMESTAMP, Numeric, UUID, ) class AccountBooks(CrudCollection): __tablename__ = "account_books" __exclude__fields__ = [] country: Mapped[str] = mapped_column(String, nullable=False) branch_type: Mapped[str] = mapped_column(SmallInteger, server_default="0") company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=False) company_uu_id: Mapped[str] = mapped_column(String, nullable=False) branch_id: Mapped[int] = mapped_column(ForeignKey("companies.id")) branch_uu_id: Mapped[str] = mapped_column(String, comment="Branch UU ID") # company: Mapped["Companies"] = relationship( # "Company", back_populates="company_account_books", foreign_keys=[company_id] # ) # branch: Mapped["Companies"] = relationship( # "Company", back_populates="branch_account_books", foreign_keys=[branch_id] # ) # account_master: Mapped[List["AccountMaster"]] = relationship( # "AccountMaster", # back_populates="account_header", # foreign_keys="AccountMaster.account_header_id", # ) # account_detail: Mapped[List["AccountDetail"]] = relationship( # "AccountDetail", # back_populates="account_header", # foreign_keys="AccountDetail.account_header_id", # ) __table_args__ = ( Index("account_companies_book_ndx_00", company_id, "expiry_starts"), {"comment": "Account Book Information"}, ) class AccountCodes(CrudCollection): __tablename__ = "account_codes" __exclude__fields__ = [] account_code: Mapped[str] = mapped_column( String(48), nullable=False, comment="Account Code" ) comment_line: Mapped[str] = mapped_column( String(128), nullable=False, comment="Comment Line" ) is_receive_or_debit: Mapped[bool] = mapped_column(Boolean) product_id: Mapped[int] = mapped_column(Integer, server_default="0") nvi_id: Mapped[str] = mapped_column(String(48), server_default="") status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0") account_code_seperator: Mapped[str] = mapped_column(String(1), server_default=".") system_id: Mapped[int] = mapped_column(SmallInteger, server_default="0") locked: Mapped[bool] = mapped_column(SmallInteger, server_default="0") company_id: Mapped[int] = mapped_column(ForeignKey("companies.id")) company_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Company UU ID" ) customer_id: Mapped[int] = mapped_column(ForeignKey("companies.id")) customer_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Customer UU ID" ) person_id: Mapped[int] = mapped_column(ForeignKey("people.id")) person_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Person UU ID" ) # company: Mapped["Companies"] = relationship( # "Company", back_populates="account_codes", foreign_keys=[company_id] # ) # customer: Mapped["Companies"] = relationship( # "Company", back_populates="account_codes", foreign_keys=[customer_id] # ) # person: Mapped["People"] = relationship( # "People", back_populates="account_codes", foreign_keys=[person_id] # ) # account_detail: Mapped[List["AccountDetail"]] = relationship( # "AccountDetail", # back_populates="account_code", # foreign_keys="AccountDetail.account_code_id", # ) # # account_code_parser: Mapped["AccountCodeParser"] = relationship( # "AccountCodeParser", # back_populates="account_codes", # foreign_keys="AccountCodeParser.account_code_id", # ) class AccountCodeParser(CrudCollection): __tablename__ = "account_code_parser" __exclude__fields__ = [] account_code_1: Mapped[str] = mapped_column(String, nullable=False, comment="Order") account_code_2: Mapped[str] = mapped_column(String, nullable=False, comment="Order") account_code_3: Mapped[str] = mapped_column(String, nullable=False, comment="Order") account_code_4: Mapped[str] = mapped_column(String, server_default="") account_code_5: Mapped[str] = mapped_column(String, server_default="") account_code_6: Mapped[str] = mapped_column(String, server_default="") account_code_id: Mapped[int] = mapped_column( ForeignKey("account_codes.id"), nullable=False ) account_code_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Account Code UU ID" ) # account_codes: Mapped["AccountCodes"] = relationship( # "AccountCodes", # back_populates="account_code_parser", # foreign_keys=[account_code_id], # ) __table_args__ = ( Index("_account_code_parser_ndx_00", account_code_id), {"comment": "Account Code Parser Information"}, ) @property def get_account_code(self): return f"{self.account_codes.account_code_seperator}".join( [ getattr(self, f"account_code_{i}") for i in range(1, 7) if getattr(self, f"account_code_{i}") ] ) class AccountMaster(CrudCollection): """ AccountCodes class based on declarative_base and CrudCollection via session """ __tablename__ = "account_master" __exclude__fields__ = [] doc_date: Mapped[TIMESTAMP] = mapped_column( TIMESTAMP(timezone=True), nullable=False, comment="Document Date" ) plug_type: Mapped[str] = mapped_column(String, nullable=False, comment="Plug Type") plug_number: Mapped[int] = mapped_column( Integer, nullable=False, comment="Plug Number" ) special_code: Mapped[str] = mapped_column(String(12), server_default="") authorization_code: Mapped[str] = mapped_column(String(12), server_default="") doc_code: Mapped[str] = mapped_column(String(12), server_default="") doc_type: Mapped[int] = mapped_column(SmallInteger, server_default="0") comment_line1: Mapped[str] = mapped_column(String, server_default="") comment_line2: Mapped[str] = mapped_column(String, server_default="") comment_line3: Mapped[str] = mapped_column(String, server_default="") comment_line4: Mapped[str] = mapped_column(String, server_default="") comment_line5: Mapped[str] = mapped_column(String, server_default="") comment_line6: Mapped[str] = mapped_column(String, server_default="") project_code: Mapped[str] = mapped_column(String(12), server_default="") module_no: Mapped[str] = mapped_column(String, server_default="") journal_no: Mapped[int] = mapped_column(Integer, server_default="0") status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0") canceled: Mapped[bool] = mapped_column(Boolean, server_default="0") print_count: Mapped[int] = mapped_column(SmallInteger, server_default="0") total_active: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_passive: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_active_1: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_passive_1: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_active_2: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_passive_2: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_active_3: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_passive_3: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_active_4: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") total_passive_4: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") cross_ref: Mapped[int] = mapped_column(Integer, server_default="0") data_center_id: Mapped[str] = mapped_column(String, server_default="") data_center_rec_num: Mapped[int] = mapped_column(Integer, server_default="0") account_header_id: Mapped[int] = mapped_column( ForeignKey("account_books.id"), nullable=False ) account_header_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Account Header UU ID" ) project_item_id: Mapped[int] = mapped_column( ForeignKey("build_decision_book_projects.id") ) project_item_uu_id: Mapped[str] = mapped_column( String, comment="Project Item UU ID" ) department_id: Mapped[int] = mapped_column(ForeignKey("departments.id")) department_uu_id: Mapped[str] = mapped_column(String, comment="Department UU ID") # account_header: Mapped["AccountBooks"] = relationship( # "AccountBooks", # back_populates="account_master", # foreign_keys=[account_header_id], # ) # project_item: Mapped["BuildDecisionBookProjects"] = relationship( # "BuildDecisionBookProjects", # back_populates="account_master", # foreign_keys=[project_item_id], # ) # account_detail: Mapped[List["AccountDetail"]] = relationship( # "AccountDetail", # back_populates="account_master", # foreign_keys="AccountDetail.account_master_id", # ) __table_args__ = ( Index("_account_master_ndx_00", doc_date, account_header_id), {"comment": "Account Master Information"}, ) class AccountDetail(CrudCollection): """ AccountCodes class based on declarative_base and CrudCollection via session """ __tablename__ = "account_detail" __exclude__fields__ = [] __enum_list__ = [("plug_type", "AccountingReceiptTypes", "M")] doc_date: Mapped[TIMESTAMP] = mapped_column( TIMESTAMP(timezone=True), nullable=False, comment="Document Date" ) line_no: Mapped[int] = mapped_column( SmallInteger, nullable=False, comment="Line Number" ) receive_debit: Mapped[str] = mapped_column( String(1), nullable=False, comment="Receive Debit" ) debit: Mapped[float] = mapped_column( Numeric(20, 6), nullable=False, comment="Debit" ) department: Mapped[str] = mapped_column(String(24), server_default="") special_code: Mapped[str] = mapped_column(String(12), server_default="") account_ref: Mapped[int] = mapped_column(Integer, server_default="0") account_fiche_ref: Mapped[int] = mapped_column(Integer, server_default="0") center_ref: Mapped[int] = mapped_column(Integer, server_default="0") general_code: Mapped[str] = mapped_column(String(32), server_default="") credit: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") currency_type: Mapped[str] = mapped_column(String(4), server_default="TL") exchange_rate: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") debit_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") credit_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") discount_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") amount: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") cross_account_code: Mapped[float] = mapped_column(String(32), server_default="") inf_index: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") not_inflated: Mapped[int] = mapped_column(SmallInteger, server_default="0") not_calculated: Mapped[int] = mapped_column(SmallInteger, server_default="0") comment_line1: Mapped[str] = mapped_column(String(64), server_default="") comment_line2: Mapped[str] = mapped_column(String(64), server_default="") comment_line3: Mapped[str] = mapped_column(String(64), server_default="") comment_line4: Mapped[str] = mapped_column(String(64), server_default="") comment_line5: Mapped[str] = mapped_column(String(64), server_default="") comment_line6: Mapped[str] = mapped_column(String(64), server_default="") owner_acc_ref: Mapped[int] = mapped_column(Integer, server_default="0") from_where: Mapped[int] = mapped_column(Integer, server_default="0") orj_eid: Mapped[int] = mapped_column(Integer, server_default="0") canceled: Mapped[int] = mapped_column(SmallInteger, server_default="0") cross_ref: Mapped[int] = mapped_column(Integer, server_default="0") data_center_id: Mapped[str] = mapped_column(String, server_default="") data_center_rec_num: Mapped[str] = mapped_column(Integer, server_default="0") status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0") plug_type_id: Mapped[int] = mapped_column( ForeignKey("api_enum_dropdown.id"), nullable=True ) plug_type_uu_id = mapped_column(String, nullable=False, comment="Plug Type UU ID") account_header_id: Mapped[int] = mapped_column( ForeignKey("account_books.id"), nullable=False ) account_header_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Account Header UU ID" ) account_code_id: Mapped[int] = mapped_column( ForeignKey("account_codes.id"), nullable=False ) account_code_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Account Code UU ID" ) account_master_id: Mapped[int] = mapped_column( ForeignKey("account_master.id"), nullable=False ) account_master_uu_id: Mapped[str] = mapped_column( String, nullable=False, comment="Account Master UU ID" ) project_id: Mapped[int] = mapped_column( ForeignKey("build_decision_book_projects.id") ) project_uu_id: Mapped[str] = mapped_column(String, comment="Project UU ID") # account_header: Mapped["AccountBooks"] = relationship( # "AccountBooks", # back_populates="account_detail", # foreign_keys=[account_header_id], # ) # account_code: Mapped["AccountCodes"] = relationship( # "AccountCodes", # back_populates="account_detail", # foreign_keys=[account_code_id], # ) # account_master: Mapped["AccountMaster"] = relationship( # "AccountMaster", # back_populates="account_detail", # foreign_keys=[account_master_id], # ) # project: Mapped["BuildDecisionBookProjects"] = relationship( # "BuildDecisionBookProjects", # back_populates="account_detail", # foreign_keys=[project_id], # ) # decision_book_payment_detail: Mapped["BuildDecisionBookPaymentsDetail"] = ( # relationship( # "BuildDecisionBookPaymentsDetail", # back_populates="accounting", # foreign_keys="BuildDecisionBookPaymentsDetail.accounting_id", # ) # ) # decision_book_project_payment_detail: Mapped[ # "BuildDecisionBookProjectPaymentsDetail" # ] = relationship( # "BuildDecisionBookProjectPaymentsDetail", # back_populates="accounting", # foreign_keys="BuildDecisionBookProjectPaymentsDetail.accounting_id", # ) # decision_book_budget: Mapped["BuildDecisionBookBudget"] = relationship( # "BuildDecisionBookBudget", # back_populates="accounting", # foreign_keys="BuildDecisionBookBudget.accounting_id", # ) __table_args__ = ( Index( "_account_detail_ndx_00", account_master_id, doc_date, line_no, account_header_id, unique=True, ), {"comment": "Account Detail Information"}, ) class AccountRecords(CrudCollection): """ build_decision_book_id = kaydın sorumlu olduğu karar defteri send_company_id = kaydı gönderen firma, send_person_id = gönderen kişi customer_id = sorumlu kullanıcı bilgisi, company_id = sorumlu firma """ __tablename__ = "account_records" __exclude__fields__ = [] __enum_list__ = [ ("receive_debit", "DebitTypes", "D"), ("budget_type", "BudgetType", "B"), ] iban: Mapped[str] = mapped_column( String(64), nullable=False, comment="IBAN Number of Bank" ) bank_date: Mapped[TIMESTAMP] = mapped_column( TIMESTAMP(timezone=True), nullable=False, comment="Bank Transaction Date" ) currency_value: Mapped[float] = mapped_column( Numeric(20, 6), nullable=False, comment="Currency Value" ) bank_balance: Mapped[float] = mapped_column( Numeric(20, 6), nullable=False, comment="Bank Balance" ) currency: Mapped[str] = mapped_column( String(5), nullable=False, comment="Unit of Currency" ) additional_balance: Mapped[float] = mapped_column( Numeric(20, 6), nullable=False, comment="Additional Balance" ) channel_branch: Mapped[str] = mapped_column( String(120), nullable=False, comment="Branch Bank" ) process_name: Mapped[str] = mapped_column( String, nullable=False, comment="Bank Process Type Name" ) process_type: Mapped[str] = mapped_column( String, nullable=False, comment="Bank Process Type" ) process_comment: Mapped[str] = mapped_column( String, nullable=False, comment="Transaction Record Comment" ) process_garbage: Mapped[str] = mapped_column( String, nullable=True, comment="Transaction Record Garbage" ) bank_reference_code: Mapped[str] = mapped_column( String, nullable=False, comment="Bank Reference Code" ) add_comment_note: Mapped[str] = mapped_column(String, server_default="") is_receipt_mail_send: Mapped[bool] = mapped_column(Boolean, server_default="0") found_from = mapped_column(String, server_default="") similarity: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") remainder_balance: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0") bank_date_y: Mapped[int] = mapped_column(Integer) bank_date_m: Mapped[int] = mapped_column(SmallInteger) bank_date_w: Mapped[int] = mapped_column(SmallInteger) bank_date_d: Mapped[int] = mapped_column(SmallInteger) approving_accounting_record: Mapped[bool] = mapped_column( Boolean, server_default="0" ) accounting_receipt_date: Mapped[TIMESTAMP] = mapped_column( TIMESTAMP(timezone=True), server_default="1900-01-01 00:00:00" ) accounting_receipt_number: Mapped[int] = mapped_column(Integer, server_default="0") status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0") approved_record: Mapped[bool] = mapped_column(Boolean, server_default="0") import_file_name: Mapped[str] = mapped_column( String, nullable=True, comment="XLS Key" ) receive_debit: Mapped[int] = mapped_column( ForeignKey("api_enum_dropdown.id"), nullable=True ) receive_debit_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Debit UU ID" ) budget_type: Mapped[int] = mapped_column( ForeignKey("api_enum_dropdown.id"), nullable=True ) budget_type_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Budget Type UU ID" ) company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=True) company_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Company UU ID" ) send_company_id: Mapped[int] = mapped_column( ForeignKey("companies.id"), nullable=True ) send_company_uu_id = mapped_column( String, nullable=True, comment="Send Company UU ID" ) send_person_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True) send_person_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Send Person UU ID" ) approving_accounting_person: Mapped[int] = mapped_column( ForeignKey("people.id"), nullable=True ) approving_accounting_person_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Approving Accounting Person UU ID" ) living_space_id: Mapped[int] = mapped_column( ForeignKey("build_living_space.id"), nullable=True ) living_space_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Living Space UU ID" ) customer_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True) customer_uu_id = mapped_column(String, nullable=True, comment="Customer UU ID") build_id: Mapped[int] = mapped_column(ForeignKey("build.id"), nullable=True) build_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Build UU ID" ) build_parts_id: Mapped[int] = mapped_column( ForeignKey("build_parts.id"), nullable=True ) build_parts_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Build Parts UU ID" ) build_decision_book_id: Mapped[int] = mapped_column( ForeignKey("build_decision_book.id"), nullable=True ) build_decision_book_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Build Decision Book UU ID" ) # companies: Mapped[List["Company"]] = relationship( # "Company", back_populates="budget_records", foreign_keys=[company_id] # ) # send_companies: Mapped[List["Company"]] = relationship( # "Company", back_populates="send_budget_records", foreign_keys=[send_company_id] # ) # # parts: Mapped[List["BuildParts"]] = relationship( # "BuildParts", back_populates="budget_records", foreign_keys=[build_parts_id] # ) # people: Mapped["People"] = relationship( # "People", back_populates="budget_records", foreign_keys=[customer_id] # ) # send_person: Mapped["People"] = relationship( # "People", back_populates="budget_records", foreign_keys=[send_person_id] # ) # decision_books: Mapped[List["BuildDecisionBook"]] = relationship( # "BuildDecisionBook", # back_populates="budget_records", # foreign_keys=[build_decision_book_id], # ) # # decision_book_payment_detail: Mapped["BuildDecisionBookPaymentsDetail"] = ( # relationship( # "BuildDecisionBookPaymentsDetail", # back_populates="budget_records", # foreign_keys="BuildDecisionBookPaymentsDetail.budget_records_id", # ) # ) # # decision_book_project_payments_detail: Mapped[ # List["BuildDecisionBookProjectPaymentsDetail"] # ] = relationship( # "BuildDecisionBookProjectPaymentsDetail", # back_populates="budget_records", # foreign_keys="BuildDecisionBookProjectPaymentsDetail.budget_records_id", # ) __table_args__ = ( Index("_budget_records_ndx_00", is_receipt_mail_send, bank_date), Index( "_budget_records_ndx_01", iban, bank_date, bank_reference_code, bank_balance, unique=True, ), Index("_budget_records_ndx_02", status_id, bank_date), { "comment": "Bank Records that are related to building and financial transactions" }, ) # def payment_budget_record_close(self): # from database_sql_models import ( # DecisionBookProjectPaymentsMaster, # ApiEnumDropdown, # BuildDecisionBook, # BuildDecisionBookPaymentsMaster, # ) # # budget_record = self # if self.receive_debit == ApiEnumDropdown.uuid_of_enum( # enum_class="DebitTypes", key="R" # ): # print( # "This record is not debit. Debit:", # self.receive_debit, # "DebitTypes.R.name", # # str(DebitTypes.R.name), # ) # return # if abs(budget_record.currency_value + budget_record.remainder_balance) > 0: # payment_dict = { # "budget_records_id": self.id, # "build_decision_book_id": budget_record.build_decision_book_id, # "build_parts_id": budget_record.build_parts_id, # "start_date": budget_record.bank_date, # "paid_value": budget_record.currency_value # - budget_record.remainder_balance, # "is_all": False, # } # (paid_value, start_paid_value, balance) = ( # float(budget_record.currency_value - budget_record.remainder_balance), # float(budget_record.currency_value - budget_record.remainder_balance), # float(budget_record.remainder_balance), # ) # print( # "self.id", # self.id, # "paid_value", # paid_value, # "start_paid_value", # start_paid_value, # "balance", # balance, # self.receive_debit, # ) # # if not BuildDecisionBook.find_one( # id=payment_dict["build_decision_book_id"] # ): # return paid_value # # if budget_record.replication_id == 55: # if paid_value > 0: # payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum( # enum_class="BuildDuesTypes", key="L" # ) # paid_value = ( # DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part( # **payment_dict # ) # ) # print("dues_type", payment_dict["dues_type"], paid_value) # if paid_value > 0: # payment_dict.pop("dues_type", None) # paid_value = BuildDecisionBookPaymentsMaster.pay_dues_of_build_part( # **payment_dict # ) # print("dues_type", None, paid_value) # if paid_value > 0: # payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum( # enum_class="BuildDuesTypes", key="R" # ) # paid_value = ( # DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part( # **payment_dict # ) # ) # print("dues_type", payment_dict["dues_type"], paid_value) # payment_dict["is_all"] = True # if paid_value > 0: # payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum( # enum_class="BuildDuesTypes", key="L" # ) # paid_value = ( # DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part( # **payment_dict # ) # ) # print("is all dues_type", payment_dict["dues_type"], paid_value) # if paid_value > 0: # payment_dict.pop("dues_type", None) # paid_value = BuildDecisionBookPaymentsMaster.pay_dues_of_build_part( # **payment_dict # ) # print("is all dues_type", None, paid_value) # if paid_value > 0: # payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum( # enum_class="BuildDuesTypes", key="R" # ) # paid_value = ( # DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part( # **payment_dict # ) # ) # print("is all dues_type", payment_dict["dues_type"], paid_value) # class AccountRecordDecisionPaymentClosed(CrudCollection): # # __tablename__ = "account_record_decision_payment_closed" # __exclude__fields__ = [] # # arc_currency: Mapped[str] = mapped_column( # String(5), nullable=False, comment="Unit of Currency" # ) # arc_processing_time: Mapped[TIMESTAMP] = mapped_column( # TIMESTAMP(timezone=True), nullable=False, comment="Processing Time" # ) # arc_currency_value: Mapped[float] = mapped_column( # Numeric(20, 6), nullable=False, comment="Currency Value" # ) # # decision_book_budgets_id: Mapped[int] = mapped_column( # ForeignKey("decision_book_budgets.id"), nullable=True # ) # decision_book_budgets_uu_id: Mapped[str] = mapped_column( # String, nullable=True, comment="Budget UUID" # ) # # build_decision_book_payment_id: Mapped[int] = mapped_column( # ForeignKey("build_decision_book_payments.id") # ) # build_decision_book_payment_uu_id: Mapped[str] = mapped_column( # String, nullable=True, comment="Build Decision Book Payment UU ID" # ) # account_records_id: Mapped[int] = mapped_column(ForeignKey("account_records.id")) # account_records_uu_id: Mapped[str] = mapped_column( # String, nullable=True, comment="Account Record UU ID" # ) # # __table_args__ = ( # Index( # "_account_record_decision_payment_closed_ndx_00", # account_records_id, # build_decision_book_payment_id, # arc_processing_time, # ), # Index( # "_account_record_decision_payment_closed_ndx_01", # build_decision_book_payment_id, # account_records_id, # arc_processing_time, # ), # {"comment": "Account Record Decision Payment Closed Information"}, # ) # class AccountRecordExchanges(CrudCollection): __tablename__ = "account_record_exchanges" __exclude__fields__ = [] are_currency: Mapped[str] = mapped_column( String(5), nullable=False, comment="Unit of Currency" ) are_exchange_rate: Mapped[float] = mapped_column( Numeric(18, 6), nullable=False, server_default="1" ) usd_exchange_rate_value: Mapped[float] = mapped_column( Numeric(18, 6), nullable=True, server_default="0", comment="It will be written by multiplying the usd exchange rate with the current value result.", ) eur_exchange_rate_value: Mapped[float] = mapped_column( Numeric(18, 6), nullable=True, server_default="0", comment="It will be written by multiplying the eur exchange rate with the current value result.", ) gbp_exchange_rate_value: Mapped[float] = mapped_column( Numeric(18, 6), nullable=True, server_default="0", comment="It will be written by multiplying the gpd exchange rate with the current value result.", ) cny_exchange_rate_value: Mapped[float] = mapped_column( Numeric(18, 6), nullable=True, server_default="0", comment="It will be written by multiplying the cny exchange rate with the current value result.", ) account_records_id: Mapped[int] = mapped_column(ForeignKey("account_records.id")) account_records_uu_id: Mapped[str] = mapped_column( String, nullable=True, comment="Account Record UU ID" ) __table_args__ = ( Index("_account_record_exchanges_ndx_00", account_records_id), {"comment": "Account Record Exchanges Information"}, )