# Code generated by Lark OpenAPI. from typing import Any, Optional, Union, Dict, List, Set, IO, Callable, Type from lark_oapi.core.construct import init from .extend_field import ExtendField from .vendor_account import VendorAccount from .vendor_address import VendorAddress from .vendor_company_view import VendorCompanyView from .vendor_contact import VendorContact from .appendix import Appendix class Vendor(object): _types = { "id": int, "ad_country": str, "ad_province": str, "ad_city": str, "address": str, "ad_postcode": str, "legal_person": str, "certification_type": str, "certification_id": str, "contact_person": str, "contact_telephone": str, "contact_mobile_phone": str, "fax": str, "e_mail": str, "status": int, "vendor": str, "vendor_text": str, "short_text": str, "vendor_type": str, "vendor_category": str, "vendor_nature": str, "linked_employee": str, "linked_customer": str, "associated_with_legal_entity": bool, "extend_info": List[ExtendField], "vendor_accounts": List[VendorAccount], "vendor_addresses": List[VendorAddress], "vendor_company_views": List[VendorCompanyView], "vendor_contacts": List[VendorContact], "gl_account": str, "down_payment_term": str, "payment_term": str, "vendor_site_code": str, "appendix": List[Appendix], "is_risked": bool, "owner_depts": List[str], } def __init__(self, d=None): self.id: Optional[int] = None self.ad_country: Optional[str] = None self.ad_province: Optional[str] = None self.ad_city: Optional[str] = None self.address: Optional[str] = None self.ad_postcode: Optional[str] = None self.legal_person: Optional[str] = None self.certification_type: Optional[str] = None self.certification_id: Optional[str] = None self.contact_person: Optional[str] = None self.contact_telephone: Optional[str] = None self.contact_mobile_phone: Optional[str] = None self.fax: Optional[str] = None self.e_mail: Optional[str] = None self.status: Optional[int] = None self.vendor: Optional[str] = None self.vendor_text: Optional[str] = None self.short_text: Optional[str] = None self.vendor_type: Optional[str] = None self.vendor_category: Optional[str] = None self.vendor_nature: Optional[str] = None self.linked_employee: Optional[str] = None self.linked_customer: Optional[str] = None self.associated_with_legal_entity: Optional[bool] = None self.extend_info: Optional[List[ExtendField]] = None self.vendor_accounts: Optional[List[VendorAccount]] = None self.vendor_addresses: Optional[List[VendorAddress]] = None self.vendor_company_views: Optional[List[VendorCompanyView]] = None self.vendor_contacts: Optional[List[VendorContact]] = None self.gl_account: Optional[str] = None self.down_payment_term: Optional[str] = None self.payment_term: Optional[str] = None self.vendor_site_code: Optional[str] = None self.appendix: Optional[List[Appendix]] = None self.is_risked: Optional[bool] = None self.owner_depts: Optional[List[str]] = None init(self, d, self._types) @staticmethod def builder() -> "VendorBuilder": return VendorBuilder() class VendorBuilder(object): def __init__(self) -> None: self._vendor = Vendor() def id(self, id: int) -> "VendorBuilder": self._vendor.id = id return self def ad_country(self, ad_country: str) -> "VendorBuilder": self._vendor.ad_country = ad_country return self def ad_province(self, ad_province: str) -> "VendorBuilder": self._vendor.ad_province = ad_province return self def ad_city(self, ad_city: str) -> "VendorBuilder": self._vendor.ad_city = ad_city return self def address(self, address: str) -> "VendorBuilder": self._vendor.address = address return self def ad_postcode(self, ad_postcode: str) -> "VendorBuilder": self._vendor.ad_postcode = ad_postcode return self def legal_person(self, legal_person: str) -> "VendorBuilder": self._vendor.legal_person = legal_person return self def certification_type(self, certification_type: str) -> "VendorBuilder": self._vendor.certification_type = certification_type return self def certification_id(self, certification_id: str) -> "VendorBuilder": self._vendor.certification_id = certification_id return self def contact_person(self, contact_person: str) -> "VendorBuilder": self._vendor.contact_person = contact_person return self def contact_telephone(self, contact_telephone: str) -> "VendorBuilder": self._vendor.contact_telephone = contact_telephone return self def contact_mobile_phone(self, contact_mobile_phone: str) -> "VendorBuilder": self._vendor.contact_mobile_phone = contact_mobile_phone return self def fax(self, fax: str) -> "VendorBuilder": self._vendor.fax = fax return self def e_mail(self, e_mail: str) -> "VendorBuilder": self._vendor.e_mail = e_mail return self def status(self, status: int) -> "VendorBuilder": self._vendor.status = status return self def vendor(self, vendor: str) -> "VendorBuilder": self._vendor.vendor = vendor return self def vendor_text(self, vendor_text: str) -> "VendorBuilder": self._vendor.vendor_text = vendor_text return self def short_text(self, short_text: str) -> "VendorBuilder": self._vendor.short_text = short_text return self def vendor_type(self, vendor_type: str) -> "VendorBuilder": self._vendor.vendor_type = vendor_type return self def vendor_category(self, vendor_category: str) -> "VendorBuilder": self._vendor.vendor_category = vendor_category return self def vendor_nature(self, vendor_nature: str) -> "VendorBuilder": self._vendor.vendor_nature = vendor_nature return self def linked_employee(self, linked_employee: str) -> "VendorBuilder": self._vendor.linked_employee = linked_employee return self def linked_customer(self, linked_customer: str) -> "VendorBuilder": self._vendor.linked_customer = linked_customer return self def associated_with_legal_entity(self, associated_with_legal_entity: bool) -> "VendorBuilder": self._vendor.associated_with_legal_entity = associated_with_legal_entity return self def extend_info(self, extend_info: List[ExtendField]) -> "VendorBuilder": self._vendor.extend_info = extend_info return self def vendor_accounts(self, vendor_accounts: List[VendorAccount]) -> "VendorBuilder": self._vendor.vendor_accounts = vendor_accounts return self def vendor_addresses(self, vendor_addresses: List[VendorAddress]) -> "VendorBuilder": self._vendor.vendor_addresses = vendor_addresses return self def vendor_company_views(self, vendor_company_views: List[VendorCompanyView]) -> "VendorBuilder": self._vendor.vendor_company_views = vendor_company_views return self def vendor_contacts(self, vendor_contacts: List[VendorContact]) -> "VendorBuilder": self._vendor.vendor_contacts = vendor_contacts return self def gl_account(self, gl_account: str) -> "VendorBuilder": self._vendor.gl_account = gl_account return self def down_payment_term(self, down_payment_term: str) -> "VendorBuilder": self._vendor.down_payment_term = down_payment_term return self def payment_term(self, payment_term: str) -> "VendorBuilder": self._vendor.payment_term = payment_term return self def vendor_site_code(self, vendor_site_code: str) -> "VendorBuilder": self._vendor.vendor_site_code = vendor_site_code return self def appendix(self, appendix: List[Appendix]) -> "VendorBuilder": self._vendor.appendix = appendix return self def is_risked(self, is_risked: bool) -> "VendorBuilder": self._vendor.is_risked = is_risked return self def owner_depts(self, owner_depts: List[str]) -> "VendorBuilder": self._vendor.owner_depts = owner_depts return self def build(self) -> "Vendor": return self._vendor