Procurement.models.supplier 源代码

from django.db import models

from Core.utils import DynamicHashPath
from Procurement import COMMENT_STATUS_CHOICES, SUPPLIER_REL_C_CHOICES


[文档]class Supplier(models.Model): """ 供应商 """ uid = models.CharField(verbose_name='供应商编号', max_length=20, unique=True) name = models.CharField(verbose_name='供应商名称', max_length=50) bidding_sheets = models.ManyToManyField('BiddingSheet', verbose_name='参与标单', through='SupplyRelationship') class Meta: verbose_name = '供应商' verbose_name_plural = '供应商' def __str__(self): return self.name
[文档]class SupplierCheck(models.Model): """ 供应商审核 """ bidding_sheet = models.OneToOneField('BiddingSheet', verbose_name='标单', on_delete=models.CASCADE) # TODO: ForeignKey? applicant = models.CharField(verbose_name='申请单位', max_length=40) application_date = models.DateField(verbose_name='申请日期') project = models.CharField(verbose_name='项目名称', max_length=40) estimated_price = models.FloatField(verbose_name='估算价格') basic_situation = models.CharField(verbose_name='招(议)标项目基本情况', max_length=100, blank=True, default='') 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 SupplierDocument(models.Model): """ 供应商文件 """ supplier = models.ForeignKey(Supplier, verbose_name='供应商', on_delete=models.CASCADE) path = models.FileField(verbose_name='路径', upload_to=DynamicHashPath('SupplierDocument')) upload_dt = models.DateTimeField(verbose_name='上传时间', auto_now_add=True) class Meta: verbose_name = '供应商文件' verbose_name_plural = '供应商文件' def __str__(self): return self.path.name
[文档]class SupplyRelationship(models.Model): """ 标单供应关系 """ bidding_sheet = models.ForeignKey('BiddingSheet', verbose_name='标单', on_delete=models.CASCADE) supplier = models.ForeignKey(Supplier, verbose_name='供应商', on_delete=models.CASCADE) # TODO: what are these fields? A = models.BooleanField(verbose_name='A', blank=True, default=False) B = models.BooleanField(verbose_name='B', blank=True, default=False) C = models.IntegerField(verbose_name='C', choices=SUPPLIER_REL_C_CHOICES) D = models.BooleanField(verbose_name='D', blank=True, default=False) E = models.BooleanField(verbose_name='E', blank=True, default=False) F = models.BooleanField(verbose_name='F', blank=True, default=False) G = models.BooleanField(verbose_name='G', blank=True, default=False) scope = models.CharField(verbose_name='认定业务范围', max_length=40, blank=True, default='') supplier_code = models.CharField(verbose_name='供方代码', max_length=40, blank=True, default='') price = models.FloatField(verbose_name='价格') status = models.CharField(verbose_name='厂家协作能力质量情况及业绩', max_length=100, blank=True, default='') delivery_payment = models.CharField(verbose_name='交货及支付条件', max_length=40, blank=True, default='') class Meta: verbose_name = '标单供应关系' verbose_name_plural = '标单供应关系' def __str__(self): return '{} - {}'.format(self.bidding_sheet, self.supplier)