from datetime import date, datetime
from typing import Optional

from src.model.db.base_db_model import BaseDBModel


class BioSalesViewModel(BaseDBModel):
    conv_cd: Optional[int]
    rec_data: Optional[str]
    rec_whs_cd: Optional[str]
    rec_whs_sub_cd: Optional[str]
    rec_whs_org_cd: Optional[str]
    rec_cust_cd: Optional[str]
    rec_comm_cd: Optional[str]
    rec_tran_kbn: Optional[str]
    rev_hsdnymd_wrk: Optional[str]
    rev_hsdnymd_srk: Optional[str]
    rec_urag_num: Optional[str]
    rec_comm_name: Optional[str]
    rec_nonyu_fcl_name: Optional[str]
    rec_nonyu_fcl_addr: Optional[str]
    rec_lot_num: Optional[str]
    rec_qty: Optional[str]
    rec_ymd: Optional[str]
    sale_data_cat: Optional[str]
    slip_file_name: Optional[str]
    slip_mgt_num: Optional[str]
    row_num: Optional[int]
    hsdn_ymd: Optional[str]
    exec_dt: Optional[str]
    v_tran_cd: Optional[int]
    tran_kbn_name: Optional[str]
    whs_org_cd: Optional[str]
    v_whsorg_cd: Optional[str]
    whs_org_name: Optional[str]
    whs_org_kn: Optional[str]
    v_whs_cd: Optional[int]
    whs_name: Optional[str]
    nonyu_fcl_cd: Optional[str]
    v_inst_cd: Optional[str]
    v_inst_kn: Optional[str]
    v_inst_nm: Optional[str]
    v_inst_addr: Optional[str]
    comm_cd: Optional[str]
    product_name: Optional[str]
    whs_rep_comm_nm: Optional[str]
    whs_rep_nnskfcl_nm: Optional[str]
    whs_rep_nnsk_fcl_addr: Optional[str]
    mkr_inf_1: Optional[str]
    mkr_cd: Optional[str]
    htdnymd_err_kbn: Optional[str]
    prd_exis_kbn: Optional[str]
    fcl_exis_kbn: Optional[str]
    amt: Optional[int]
    slip_org_kbn: Optional[str]
    bef_slip_mgt_num: Optional[str]
    lot_no_err_flg: Optional[str]
    iko_flg: Optional[str]
    kjyo_ym: Optional[str]
    tksnbk_kbn: Optional[str]
    fcl_exec_kbn: Optional[str]
    rec_sts_kbn: Optional[str]
    ins_dt: Optional[datetime]
    ins_usr: Optional[str]
    dcf_inst_cd: Optional[str]
    inst_cd: Optional[str]
    inst_name_form: Optional[str]
    address: Optional[str]
    tel_no: Optional[str]
    data_kbn: Optional[str]
    ser_no: Optional[str]
    lot_num: Optional[str]
    expr_dt: Optional[date]
    amt_fugo: Optional[str]
