48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
| from django.db import models
 | |
| from django.db.models.base import Model
 | |
| import django.utils.timezone as timezone
 | |
| from django.db.models.query import QuerySet
 | |
| from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File
 | |
| from utils.model import SoftModel, BaseModel
 | |
| from simple_history.models import HistoricalRecords
 | |
| from apps.mtm.models import Material
 | |
| 
 | |
| 
 | |
| class Vendor(CommonAModel):
 | |
|     """
 | |
|     供应商信息
 | |
|     """
 | |
|     
 | |
|     name = models.CharField('供应商名称', max_length=50, unique=True)
 | |
|     contact = models.CharField('联系人', max_length=20)
 | |
|     contact_phone = models.CharField('联系电话', max_length=11, unique=True)
 | |
|     address = models.CharField('地址', max_length=200, null=True, blank=True)
 | |
|     description = models.CharField('描述', max_length=200, blank=True, null=True)
 | |
|     class Meta:
 | |
|         verbose_name = '供应商信息'
 | |
|         verbose_name_plural = verbose_name
 | |
| 
 | |
|     def __str__(self):
 | |
|         return self.name
 | |
| 
 | |
| class PuOrder(CommonAModel):
 | |
|     """
 | |
|     采购订单信息
 | |
|     """
 | |
|     number = models.CharField('订单编号', max_length=100, unique=True)
 | |
|     vendor = models.ForeignKey(Vendor, verbose_name='供应商', on_delete=models.CASCADE)
 | |
|     is_audited = models.BooleanField('是否审核', default=False)
 | |
|     class Meta:
 | |
|         verbose_name = '采购订单'
 | |
|         verbose_name_plural = verbose_name
 | |
| 
 | |
| class PuOrderItem(BaseModel):
 | |
|     """
 | |
|     采购具体项目
 | |
|     """
 | |
|     material = models.ForeignKey(Material, verbose_name='采购材料', on_delete=models.CASCADE)
 | |
|     count = models.PositiveIntegerField('所需数量', default=0)
 | |
|     delivered_count = models.PositiveIntegerField('已到货数量', default=0)
 | |
|     delivery_date = models.DateField('截止到货日期')
 | |
|     pu_order = models.ForeignKey(PuOrder, verbose_name='关联采购订单', 
 | |
|         on_delete=models.CASCADE, null=True, blank=True, related_name='item_pu_order') |