Advertisement
Guest User

models.py

a guest
Aug 4th, 2015
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.66 KB | None | 0 0
  1. from django.db import models
  2.  
  3. # Create your models here.
  4. from utility.models import Bank,BankBranch
  5. from tmp_db.models import Product,Supplier,Customer,Billing
  6.  
  7.  
  8. class PaymentBilling(models.Model):
  9.  
  10.     db_table = 'ac_payment_billing'
  11.  
  12.     code = models.CharField(max_length=100, verbose_name='เลขที่ใบรับวางบิล')
  13.     create_date = models.DateTimeField(verbose_name='วันที่')
  14.     payment = models.FloatField(verbose_name='ยอดชำระ')
  15.     balance = models.FloatField(verbose_name='ยอดค้าง')
  16.     before_vat = models.FloatField(verbose_name='ก่อนภาษี')
  17.     after_vat = models.FloatField(verbose_name='หลังภาษี')
  18.     supplier = models.ForeignKey(Supplier, verbose_name='เจ้าหนี้')
  19.  
  20.     class Meta:
  21.         verbose_name = "ใบรับวางบิล"
  22.         verbose_name_plural = "ใบรับวางบิล"
  23.  
  24.  
  25. class PurchaseBilling(models.Model):
  26.  
  27.     db_table = 'ac_purchase_billing'
  28.  
  29.     code = models.CharField(max_length=100, verbose_name='เลขที่ใบซื้อ')
  30.     create_date = models.DateTimeField(verbose_name='วันที่')
  31.     purchase_date = models.DateField(verbose_name='วันที่ใบซื้อ')
  32.     credit_date = models.IntegerField(verbose_name='กำหนดชำระ')
  33.     vat = models.FloatField(verbose_name='ภาษี(%)')
  34.     vat_price = models.FloatField(verbose_name='ภาษี(บาท)')
  35.     subtotal = models.FloatField(verbose_name='ยอดรวม')
  36.     discount = models.FloatField(verbose_name='ส่วนลด')
  37.     pledge = models.FloatField(verbose_name='มัดจำ')
  38.     total = models.FloatField(verbose_name='สุทธิ')
  39.     remark = models.CharField(max_length=200, verbose_name='หมายเหตุ')
  40.     is_billing = models.IntegerField(verbose_name='ออกใบเสร็จ')
  41.     bank = models.ForeignKey(Bank, verbose_name='ธนาคาร')
  42.     bank_branch = models.ForeignKey(BankBranch, verbose_name='สาขาธนาคาร')
  43.     supplier = models.ForeignKey(Supplier, verbose_name='เจ้าหนี้')
  44.     payment_billing = models.ForeignKey(PaymentBilling,verbose_name="ใบรับวางบิล")
  45.     class Meta:
  46.         verbose_name = "ใบซื้อ"
  47.         verbose_name_plural = "ใบซื้อ"
  48.  
  49.  
  50. class PurchaseBillingItem(models.Model):
  51.  
  52.     db_table = 'ac_purchase_billing_item'
  53.  
  54.     name = models.CharField(max_length=100, verbose_name='ชื่อสินค้า')
  55.     amount = models.FloatField(verbose_name='จำนวน')
  56.     price = models.FloatField(verbose_name='ราคา')
  57.     total = models.FloatField(verbose_name='รวม')
  58.     product = models.ForeignKey(Product, verbose_name='สินค้า')
  59.     purchase_billing = models.ForeignKey(PurchaseBilling, verbose_name='ใบซื้อ')
  60.  
  61.     class Meta:
  62.         verbose_name = "สินค้าในใบซื้อ"
  63.         verbose_name_plural = "สินค้าในใบซื้อ"
  64.  
  65.  
  66. class PaymentDetail(models.Model):
  67.  
  68.     db_table = 'ac_payment_detail'
  69.  
  70.     other_interest = models.FloatField(verbose_name='คิดดอกเบี้ยเพิ่มเติม')
  71.     over_payment = models.FloatField(verbose_name='รับเงินเกิน/ค่าธรรมเนียม')
  72.     out_payment = models.FloatField(verbose_name='รับเงินขาด/ค่าธรรมเนียม')
  73.     tax_source = models.FloatField(verbose_name='หักภาษี ณ ที่จ่าย')
  74.     pledge = models.FloatField(verbose_name='ชำระด้วยเงินมัดจำ')
  75.     cash = models.FloatField(verbose_name='เงินสด')
  76.     credit = models.FloatField(verbose_name='บัตรเครดิต/เงินโอน')
  77.     account_code = models.FloatField(verbose_name='รหัสบัญชี')
  78.     exchange_rate_value = models.FloatField(verbose_name='กำไร/ขาดทุน จากอัตราแลกเปลี่ยน')
  79.  
  80.     class Meta:
  81.         verbose_name = "รายละเอียดใบรับวางบิล"
  82.         verbose_name_plural = "รายละเอียดใบรับวางบิล"
  83.  
  84.  
  85. class PaymentCheque(models.Model):
  86.  
  87.     db_table = 'ac_payment_cheque'
  88.  
  89.     code = models.CharField(max_length=100, verbose_name='เลขที่เช็ค')
  90.     cheque_date = models.DateTimeField(verbose_name='วันที่')
  91.     amount = models.FloatField(verbose_name='จำนวนเงิน')
  92.     is_checked = models.IntegerField(verbose_name='การผ่านเช็ค')
  93.     payment_detail = models.ForeignKey(PaymentDetail, verbose_name='รายละเอียดใบจ่ายเงิน')
  94.     bank_branch = models.ForeignKey(BankBranch, verbose_name='สาขา')
  95.     bank = models.ForeignKey(Bank, verbose_name='ธนาคาร')
  96.  
  97.     class Meta:
  98.         verbose_name = "เช็คจ่าย"
  99.         verbose_name_plural = "เช็คจ่าย"
  100.  
  101.  
  102. class PaymentList(models.Model):
  103.  
  104.     db_table = 'ac_payment_list'
  105.  
  106.     code = models.CharField(max_length=100, verbose_name='เลขที่ใบจ่ายเงิน')
  107.     create_date = models.DateTimeField(verbose_name='วันที่')
  108.     total_paid = models.FloatField(verbose_name='ยอดชำระรวม')
  109.     supplier = models.ForeignKey(Supplier, verbose_name='เจ้าหนี้')
  110.     payment_detail = models.ForeignKey(PaymentDetail, verbose_name='รายละเอียดการจ่ายเงินให้เจ้าหนี้')
  111.     payment_billings = models.ManyToManyField(PaymentBilling,
  112.                                               through='PaymentBillingsAndPaymentLists',
  113.                                               through_fields=('payment_list','payment_billing'))
  114.  
  115.     class Meta:
  116.         verbose_name = "ใบจ่ายเงิน"
  117.         verbose_name_plural = "ใบจ่ายเงิน"
  118.  
  119.  
  120. class PaymentBillingsAndPaymentLists(models.Model):
  121.  
  122.     db_table = 'ac_payment_billings_and_payment_lists'
  123.  
  124.     payment_billing = models.ForeignKey(PaymentBilling, verbose_name='ใบรับวางบิล')
  125.     payment_list = models.ForeignKey(PaymentList, verbose_name='ใบจ่ายเงิน')
  126.     payment = models.FloatField(verbose_name='ยอดชำระ')
  127.     balance = models.FloatField(verbose_name='คงค้าง')
  128.     paid = models.FloatField(verbose_name='ชำระ')
  129.     before_vat = models.FloatField(verbose_name='ก่อนภาษี')
  130.     after_vat = models.FloatField(verbose_name='หลังภาษี')
  131.  
  132.     class Meta:
  133.         verbose_name = "ใบรับวางบิล/ใบจ่ายเงิน"
  134.         verbose_name_plural = "ใบรับวางบิล/ใบจ่ายเงิน"
  135.  
  136.  
  137. class ReceiveDetail(models.Model):
  138.  
  139.     db_table = 'ac_receive_detail'
  140.  
  141.     other_interest = models.FloatField(verbose_name='คิดดอกเบี้ยเพิ่มเติม')
  142.     over_payment = models.FloatField(verbose_name='รับเงินเกิน/ค่าธรรมเนียม')
  143.     out_payment = models.FloatField(verbose_name='รับเงินขาด/ค่าธรรมเนียม')
  144.     tax_source = models.FloatField(verbose_name='หักภาษี ณ ที่จ่าย')
  145.     pledge = models.FloatField(verbose_name='ชำระด้วยเงินมัดจำ')
  146.     cash = models.FloatField(verbose_name='เงินสด')
  147.     credit = models.FloatField(verbose_name='บัตรเครดิต/เงินโอน')
  148.     account_code = models.FloatField(verbose_name='รหัสบัญชี')
  149.     exchange_rate_value = models.FloatField(verbose_name='กำไร/ขาดทุน จากอัตราแลกเปลี่ยน')
  150.  
  151.     class Meta:
  152.         verbose_name = "รายละเอียดใบวางบิล"
  153.         verbose_name_plural = "รายละเอียดใบวางบิล"
  154.  
  155.  
  156. class ReceiveCheque(models.Model):
  157.  
  158.     db_table = 'ac_receive_cheque'
  159.  
  160.     code = models.CharField(max_length=100, verbose_name='เลขที่เช็ค')
  161.     cheque_date = models.DateTimeField(verbose_name='วันที่')
  162.     amount = models.FloatField(verbose_name='จำนวนเงิน')
  163.     is_checked = models.IntegerField(verbose_name='การผ่านเช็ค')
  164.     receive_detail = models.ForeignKey(ReceiveDetail, verbose_name='รายละเอียดใบรับเงิน')
  165.     bank_branch = models.ForeignKey(BankBranch, verbose_name='สาขา')
  166.     bank = models.ForeignKey(Bank, verbose_name='ธนาคาร')
  167.  
  168.     class Meta:
  169.         verbose_name = "เช็ครับ"
  170.         verbose_name_plural = "เช็ครับ"
  171.  
  172.  
  173.  
  174.  
  175. class ReceiveList(models.Model):
  176.  
  177.     db_table = 'ac_receive_list'
  178.  
  179.     code = models.CharField(max_length=100, verbose_name='เลขที่ใบรับเงิน')
  180.     create_date = models.DateTimeField(verbose_name='วันที่')
  181.     total_receive = models.FloatField(verbose_name='ยอดรับชำระรวม')
  182.     customer = models.ForeignKey(Customer)
  183.     receive_detail = models.ForeignKey(ReceiveDetail, verbose_name='รายละเอียดการรับเงินจากลูกหนี้')
  184.     receive_billings = models.ManyToManyField(Billing,
  185.                                               through='ReceiveBillingsAndReceiveLists',
  186.                                               through_fields=('receive_list','receive_billing'))
  187.  
  188.     class Meta:
  189.         verbose_name = "ใบรับเงิน"
  190.         verbose_name_plural = "ใบรับเงิน"
  191.  
  192.  
  193. class ReceiveBillingsAndReceiveLists(models.Model):
  194.  
  195.     db_table = 'ac_receive_billings_and_receive_lists'
  196.  
  197.     receive_billing = models.ForeignKey(Billing, verbose_name='ใบวางบิล')
  198.     receive_list = models.ForeignKey(ReceiveList, verbose_name='ใบรับเงิน')
  199.     receive = models.FloatField(verbose_name='ยอดรับชำระรวม');
  200.     balance = models.FloatField(verbose_name='คงค้าง')
  201.     paid = models.FloatField(verbose_name='ชำระ')
  202.     before_vat = models.FloatField(verbose_name='ก่อนภาษี')
  203.     after_vat = models.FloatField(verbose_name='หลังภาษี')
  204.  
  205.     class Meta:
  206.         verbose_name = "ใบวางบิล/ใบรับเงิน"
  207.         verbose_name_plural = "ใบวางบิล/ใบรับเงิน"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement