Procurement.models.bidding 源代码

from django.db import models

from Core.utils import gen_uuid
from Procurement import (BIDDING_SHEET_STATUS_CHOICES, COMMENT_STATUS_CHOICES,
                         IMPLEMENT_CLASS_CHOICES)


[文档]class BiddingSheet(models.Model): """ 标单 """ purchase_order = models.OneToOneField('PurchaseOrder', verbose_name='对应订购单', on_delete=models.CASCADE) uid = models.CharField(verbose_name='标单编号', unique=True, max_length=20) # TODO: auto_now_add? create_date = models.DateField(verbose_name='创建日期', blank=True, null=True) status = models.IntegerField(verbose_name='标单状态', unique=True, choices=BIDDING_SHEET_STATUS_CHOICES) contract_number = models.CharField(verbose_name='合同编号', max_length=50, blank=True, default=gen_uuid) contract_amount = models.IntegerField(verbose_name='合同金额', default=0) billing_amount = models.IntegerField(verbose_name='开票金额', default=0) # TODO: Use choices? category = models.IntegerField(verbose_name='招标申请类型', default=0) class Meta: verbose_name = '标单' verbose_name_plural = '标单' def __str__(self): return self.uid
# TODO: Require all fields when necessary
[文档]class BiddingApplication(models.Model): """ 标单申请表 """ bidding_sheet = models.OneToOneField(BiddingSheet, verbose_name='标单', on_delete=models.CASCADE) uid = models.CharField(verbose_name='标单申请编号', max_length=50, unique=True) applicant = models.CharField(verbose_name='申请单位', max_length=40) requestor = models.CharField(verbose_name='需求单位', max_length=40) amount = models.IntegerField(verbose_name='数量', default=0) # TODO: ForeignKey? work_order = models.CharField(verbose_name='工作令', max_length=100, blank=True, null=True) plan_project = models.CharField(verbose_name='拟招(议)项目', max_length=40, blank=True, null=True) plan_date = models.DateField(verbose_name='拟招(议)标时间', blank=True, null=True) model = models.CharField(verbose_name='规格、型号', max_length=40, null=True, blank=True) is_core_part = models.BooleanField(verbose_name='是否为核心件', default=False) category = models.CharField(verbose_name='项目类别', max_length=40, null=True, blank=True) tender_date = models.DateField(verbose_name='招(议)标时间', null=True, blank=True) delivery_date = models.DateField(verbose_name='标书递送时间', null=True, blank=True) place = models.CharField(verbose_name='地点', max_length=40, null=True, blank=True) status = models.IntegerField(verbose_name='状态', choices=COMMENT_STATUS_CHOICES) implement_class = models.IntegerField(verbose_name='实施类别', choices=IMPLEMENT_CLASS_CHOICES) class Meta: verbose_name = '标单申请表' verbose_name_plural = '标单申请表' def __str__(self): return str(self.bidding_sheet)
[文档]class ParityRatioCard(models.Model): """ 比质比价卡 """ bidding_sheet = models.OneToOneField(BiddingSheet, verbose_name='标单', on_delete=models.CASCADE) apply_id = models.CharField(verbose_name='标单申请编号', max_length=20) applicant = models.CharField(verbose_name='申请单位', max_length=40) requestor = models.CharField(verbose_name='需求单位', max_length=40) # TODO: ForeignKey? work_order = models.CharField(verbose_name='工作令', max_length=50, null=True, blank=True) amount = models.IntegerField(verbose_name='数量', null=True, blank=True) unit = models.CharField(verbose_name='单位', max_length=40, blank=True, null=True) content = models.CharField(verbose_name='内容', max_length=40, blank=True, null=True) material = models.CharField(verbose_name='材质', max_length=40, blank=True, null=True) delivery_period = models.CharField(verbose_name='交货期', max_length=40, blank=True, null=True) status = models.IntegerField(verbose_name='状态', choices=COMMENT_STATUS_CHOICES) class Meta: verbose_name = '比质比价卡' verbose_name_plural = '比质比价卡' def __str__(self): return str(self.bidding_sheet)
[文档]class BiddingAcceptance(models.Model): """ 中标通知书 """ bidding_sheet = models.OneToOneField(BiddingSheet, verbose_name='标单', on_delete=models.CASCADE) uid = models.CharField(verbose_name='标书编号', max_length=50, unique=True) # TODO: auto relate? requestor = models.CharField(verbose_name='招(议)标单位', max_length=40, blank=True, default='') content = models.CharField(verbose_name='招(议)标内容', max_length=40, blank=True, default='') # TODO: IntegerField? amount = models.CharField(verbose_name='数量', null=True, max_length=40) accept_date = models.DateField(verbose_name='中标日期', null=True, blank=True) accept_money = models.CharField(verbose_name='中标金额', max_length=40, null=True, blank=True) accept_supplier = models.ForeignKey('Supplier', verbose_name='中标单位', null=True, blank=True, on_delete=models.SET_NULL) contact = models.CharField(verbose_name='联系人', max_length=40, null=True, blank=True) contact_phone = models.CharField(verbose_name='联系电话', max_length=40, null=True, blank=True) class Meta: verbose_name = '中标通知书' verbose_name_plural = '中标通知书' def __str__(self): return '{}'.format(self.bidding_sheet.uid)