from django.db import models

# Create your models here.

class wholesale_sales_order_table(models.Model):    
    company_id           = models.IntegerField(null=True)
    inv_date             = models.DateField(null=True)
    inv_no               = models.CharField(max_length=10, null=True)
    time                 = models.TimeField(null=True)
    current_fy           = models.IntegerField(null=True)
    num_series           = models.CharField(max_length=10, null=True)
    branch_id          = models.IntegerField(default=0,null=True)
    customer_id          = models.IntegerField(default=0,null=True)
    customer_name        = models.CharField(max_length=50, null=True)
    customer_phone       = models.CharField(max_length=15,null=True)
    customer_type        = models.CharField(max_length=10,null=True)
    wholesale_type        = models.CharField(max_length=10,null=True)
    total_quantity       = models.IntegerField(null=True)
    total_amount         = models.FloatField(null=True)
    sub_total            = models.FloatField(null=True)
    total_discount       = models.FloatField(null=True)
    total_cgst           = models.FloatField(null=True)
    total_sgst           = models.FloatField(null=True)
    total_paid           = models.FloatField(null=True)
    remarks              = models.CharField(max_length=150, null=True)
    rejected_remarks     = models.CharField(max_length=150, null=True)
    balance              = models.FloatField(null=True)
    is_active            = models.IntegerField(default=1,null=True)
    sales_status         = models.CharField(max_length=10,null=True, blank=True, default='pending')
    employee_id          = models.IntegerField(null=True)
    cash                 = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    bank                 = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    
    finance_id           = models.IntegerField(null=True, blank=True, default=0)
    finance_amount       = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    charges              = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)

    is_collected         = models.IntegerField(default=0,null=True)
    collected_on         = models.DateTimeField(null=True)
    collected_amount     = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    collected_by         = models.IntegerField(null=True, blank=True, default=0)
    collect_status      = models.CharField(max_length=50,null=True, default='pending')
    

    status               = models.IntegerField(default=1,null=True)
    rejected_on          = models.DateTimeField(null=True)
    rejected_by          = models.IntegerField(null=True, blank=True, default=0)
    created_on           = models.DateTimeField(null=True)
    updated_on           = models.DateTimeField(null=True)
    created_by           = models.IntegerField(null=True, blank=True, default=0)
    updated_by           = models.IntegerField(null=True, blank=True, default=0)
    class Meta:
        db_table="tm_wholesale_sales"



class wholesale_child_sales_order_table(models.Model):    
    company_id           = models.IntegerField(null=True, blank=True, default=0)
    current_fy           = models.IntegerField(null=True, blank=True, default=0)
    sales_id             = models.IntegerField(null=True, blank=True, default=0)
    wholesale_type        = models.CharField(max_length=10,null=True)
    branch_id          = models.IntegerField(default=0,null=True)
    tm_sales_id          = models.IntegerField(null=True, blank=True, default=0)   
    customer_id          = models.IntegerField(default=0,null=True)
    imei_no              = models.CharField(max_length=20,null=True, blank=True, default='')
    ean_number           = models.CharField(max_length=20,null=True, blank=True, default='')
    subcategory_id       = models.IntegerField(null=True, blank=True, default=0)
    brand_id             = models.IntegerField(null=True, blank=True, default=0)
    model_id             = models.IntegerField(null=True, blank=True, default=0)
    variant_id           = models.IntegerField(null=True, blank=True, default=0)
    color_id             = models.IntegerField(null=True, blank=True, default=0)    
    quantity             = models.IntegerField(null=True, blank=True, default=0)
    rate                 = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    amount               = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    tax_percent          = models.IntegerField(null=True, blank=True, default=0)
    tax_amount           = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    tax_cgst             = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    tax_sgst             = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    discount_percent     = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    discount_amount      = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    mop                  = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    bop                  = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    wsp                  = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    fsp                  = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    mrp                  = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    db_price             = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    purchase_price       = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    
    # SCHEME
    upgrade_id           = models.IntegerField(null=True, blank=True, default=0)
    upgrade_amount       = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    is_upgrade_approved  = models.IntegerField(null=True, blank=True, default=0)
    upgrade_approved_on  = models.DateTimeField(null=True,blank=True)
    upgrade_approved_by  = models.IntegerField(null=True, blank=True, default=0)
    upgrade_collect      = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    upgrade_status       = models.CharField(max_length=10,null=True, blank=True, default='pending')
    upgrade_rejected_on  = models.DateTimeField(null=True,blank=True)
    upgrade_rejected_by  = models.IntegerField(null=True, blank=True, default=0)
    upgrade_rejected_remarks = models.CharField(max_length=150,null=True, blank=True, default='')
    
    special_id           = models.IntegerField(null=True, blank=True, default=0)
    special_amount       = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)
    
    is_claim             = models.IntegerField(default=0,null=True)
    claim_amount         = models.DecimalField(max_digits=10, decimal_places=2, default=0.00,null=True)


    


    is_active            = models.IntegerField(default=1,null=True)
    status               = models.IntegerField(default=1,null=True)
    claimed_on           = models.DateTimeField(null=True)
    created_on           = models.DateTimeField(null=True)
    updated_on           = models.DateTimeField(null=True)
    created_by           = models.IntegerField(null=True, blank=True, default=0)
    updated_by           = models.IntegerField(null=True, blank=True, default=0)

    class Meta:
        db_table="tx_wholesale_sales"




class wholesale_po_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    po_date             = models.DateField(null=True)
    po_no               = models.CharField(max_length=10, null=True)
    time                = models.TimeField(null=True)
    num_series          = models.CharField(max_length=10, null=True)
    current_fy          = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    total_quantity      = models.IntegerField(null=True)
    total_amount        = models.FloatField(null=True)
    sub_total           = models.FloatField(null=True)
    roundoff            = models.FloatField(null=True)
    po_status           = models.CharField(max_length=10, null=True)
    rejected_on         = models.DateTimeField(null=True, blank=True)
    rejected_by         = models.IntegerField(null=True)
    rejected_remarks    = models.CharField(max_length=150,null=True)
    remarks             = models.CharField(max_length=150,null=True)
    is_active           = models.IntegerField(default=1,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True)
    updated_by          = models.IntegerField(null=True)
    employee_id         = models.IntegerField(null=True)
    class Meta:
        db_table="tm_wholesale_po"



class wholesale_tx_po_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    current_fy          = models.IntegerField(null=True)
    tm_po_id            = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    ean                 = models.CharField(max_length=50,null=True)
    hsn_code            = models.CharField(max_length=50,null=True)
    subcategory_id      = models.IntegerField(null=True)
    brand_id            = models.IntegerField(null=True,default=0)
    model_id            = models.IntegerField(null=True,default=0)
    variant_id          = models.CharField(max_length=10,null=True)
    color_id            = models.IntegerField(null=True,default=0)
    quantity            = models.IntegerField(null=True)
    rate                = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    mrp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    fsp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    wsp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    mop                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    bop                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    db_price            = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    amount              = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    remarks             = models.CharField(max_length=150, null=True)
    is_active           = models.IntegerField(default=1,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True) 
    updated_by          = models.IntegerField(null=True)
    class Meta:
        db_table="tx_wholesale_po"




class wholesale_inward_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    inward_date         = models.DateField(null=True)
    inward_no           = models.CharField(max_length=10,null=True)
    time                = models.TimeField(null=True)
    num_series          = models.CharField(max_length=10)
    current_fy          = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    total_quantity      = models.IntegerField(null=True)
    sub_total           = models.FloatField(null=True)
    total_amount        = models.FloatField(null=True)
    roundoff            = models.FloatField(null=True)
    payment_type        = models.CharField(max_length=10)
    cash                = models.FloatField(null=True)
    bank                = models.FloatField(null=True)
    balance             = models.FloatField(null=True)
    inward_status       = models.CharField(max_length=10)
    remarks             = models.CharField(max_length=150,null=True)
    is_active           = models.IntegerField(default=1,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True)
    updated_by          = models.IntegerField(null=True)
    employee_id         = models.IntegerField(null=True)
    class Meta:
        db_table="tm_wholesale_in"


class wholesale_child_material_inward_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    current_fy          = models.IntegerField(null=True)
    imei_no             = models.CharField(max_length=50,null=True)
    ean                 = models.CharField(max_length=50,null=True)
    hsn_code            = models.CharField(max_length=50,null=True)
    sales_id            = models.IntegerField(null=True)
    tm_wholesale_in_id  = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    subcategory_id      = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    brand_id            = models.IntegerField(null=True,default=0)
    model_id            = models.IntegerField(null=True,default=0)
    variant_id          = models.CharField(max_length=10,null=True)
    color_id            = models.IntegerField(null=True,default=0)
    price_list_id       = models.IntegerField(null=True,default=0)
    rate                = models.FloatField(null=True)
    quantity            = models.IntegerField(null=True)
    amount              = models.FloatField(null=True)  
    db_price            = models.FloatField(null=True)
    mrp                 = models.FloatField(null=True)
    fsp                 = models.FloatField(null=True)
    wsp                 = models.FloatField(null=True)
    mop                 = models.FloatField(null=True)
    bop                 = models.FloatField(null=True)
    remarks             = models.CharField(max_length=150,null=True)
    is_active           = models.IntegerField(default=1,null=True)
    is_demo             = models.IntegerField(default=0,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True)
    updated_by          = models.IntegerField(null=True)
    class Meta:
        db_table="tx_wholesale_in"



class wholesale_request_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    po_date             = models.DateField(null=True)
    po_no               = models.CharField(max_length=10)
    time                = models.TimeField(null=True)
    num_series          = models.CharField(max_length=10)
    current_fy          = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    total_quantity      = models.IntegerField(null=True)
    total_amount        = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    sub_total           = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    roundoff            = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    po_status           = models.CharField(max_length=10)
    remarks             = models.CharField(max_length=150)
    is_active           = models.IntegerField(default=1,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True)
    updated_by          = models.IntegerField(null=True)
    employee_id         = models.IntegerField(null=True)
    class Meta:
        db_table="wholesale_tm_request"


class wholesale_tx_request_table(models.Model):    
    company_id          = models.IntegerField(null=True)
    current_fy          = models.IntegerField(null=True)
    tm_request_id       = models.IntegerField(null=True)
    branch_id           = models.IntegerField(null=True)
    supply_branch_id    = models.IntegerField(null=True)
    ean                 = models.CharField(max_length=50,null=True)
    hsn_code            = models.CharField(max_length=50,null=True)
    subcategory_id      = models.IntegerField(null=True)
    brand_id            = models.IntegerField(null=True,default=0)
    model_id            = models.IntegerField(null=True,default=0)
    variant_id          = models.CharField(max_length=10,null=True)
    color_id            = models.IntegerField(null=True,default=0)
    quantity            = models.IntegerField(null=True)
    rate                = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    mrp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    fsp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    wsp                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    mop                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    bop                 = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    db_price            = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    amount              = models.DecimalField(max_digits=10, decimal_places=2,null=True)
    remarks             = models.CharField(max_length=150)
    is_active           = models.IntegerField(default=1,null=True)
    status              = models.IntegerField(default=1,null=True)
    created_on          = models.DateTimeField(null=True)
    updated_on          = models.DateTimeField(null=True)
    created_by          = models.IntegerField(null=True) 
    updated_by          = models.IntegerField(null=True)
    class Meta:
        db_table="wholesale_tx_request"
        



class wholesale_stock_log_table(models.Model):    
    company_id      = models.IntegerField(null=True)
    branch_id       = models.IntegerField(null=True)
    current_fy      = models.IntegerField(null=True)
    uploaded_by     = models.IntegerField(null=True)
    uploaded_on     = models.DateTimeField(null=True)
    excel_file      = models.FileField(upload_to='stock_excel/', max_length=150)
    is_active       = models.IntegerField(default=1,null=True)
    status          = models.IntegerField(default=1,null=True)
    created_on      = models.DateTimeField(null=True)
    updated_on      = models.DateTimeField(null=True)
    created_by      = models.IntegerField(null=True)
    updated_by      = models.IntegerField(null=True)    
    item_type       = models.CharField(max_length=30)
    class Meta:
        db_table="wholesale_stock_log"



class wholesale_opening_stock_table(models.Model):    
    company_id      = models.IntegerField(null=True)
    date            = models.DateField(null=True)
    time            = models.TimeField(null=True)
    branch_id       = models.IntegerField(null=True)
    stock_no        = models.CharField(max_length=30)
    ean             = models.CharField(max_length=30)
    hsn_code        = models.CharField(max_length=30)
    current_fy      = models.IntegerField(null=True)
    subcategory_id  = models.IntegerField(null=True)
    quantity        = models.IntegerField(null=True)
    brand_id        = models.IntegerField(null=True)
    model_id        = models.IntegerField(null=True)
    variant_id      = models.IntegerField(null=True)
    color_id        = models.IntegerField(null=True)
    imei_no         = models.CharField(max_length=30)
    employee_id     = models.IntegerField(null=True)
    db_price        = models.FloatField(default=0,null=True)
    mrp             = models.FloatField(default=0,null=True)
    fsp             = models.FloatField(default=0,null=True)
    wsp             = models.FloatField(default=0,null=True)
    mop             = models.FloatField(default=0,null=True)
    bop             = models.FloatField(default=0,null=True)
    stock_log_id    = models.IntegerField(null=True)    
    status          = models.IntegerField(default=1,null=True)
    is_active       = models.IntegerField(default=1,null=True)
    is_demo         = models.IntegerField(default=0,null=True)
    created_on      = models.DateTimeField(null=True)
    updated_on      = models.DateTimeField(null=True)
    created_by      = models.IntegerField(null=True)
    updated_by      = models.IntegerField(null=True)    
    class Meta:
        db_table="wholesale_opening_stock"

