Inventory.models.refund 源代码

from django.db import models
from django.contrib.auth.models import User

from Inventory import REFUNDSTATUS_CHOICES, REFUNDSTATUS_REFUNDER


class AbstractRefundCard(models.Model):
    uid = models.CharField(verbose_name='编号', max_length=20, unique=True)
    create_dt = models.DateTimeField(verbose_name='创建日期',
                                     auto_now_add=True)
    refunder = models.ForeignKey(User, verbose_name='退料人',
                                 blank=True, null=True,
                                 related_name='%(class)s_refunder',
                                 on_delete=models.SET_NULL)
    inspector = models.ForeignKey(User, verbose_name='检查员',
                                  blank=True, null=True,
                                  related_name='%(class)s_inspector',
                                  on_delete=models.SET_NULL)
    keeper = models.ForeignKey(User, verbose_name='库管员',
                               blank=True, null=True,
                               related_name='%(class)s_keeper',
                               on_delete=models.SET_NULL)
    status = models.IntegerField(verbose_name='退库单状态',
                                 choices=REFUNDSTATUS_CHOICES,
                                 default=REFUNDSTATUS_REFUNDER)

    class Meta:
        abstract = True

    def __str__(self):
        return self.uid


[文档]class SteelMaterialRefundCard(AbstractRefundCard): """ 钢材退库单 """ apply_card = models.ForeignKey('SteelMaterialApplyCard', verbose_name='领用单', blank=True, null=True, on_delete=models.CASCADE) class Meta: verbose_name = '钢材退库单' verbose_name_plural = '钢材退库单'
[文档]class WeldingMaterialRefundCard(AbstractRefundCard): """ 焊材退库单 """ apply_card = models.OneToOneField('WeldingMaterialApplyCard', verbose_name='领用单', on_delete=models.CASCADE) weight = models.FloatField(verbose_name='退库量(重量)') count = models.FloatField(verbose_name='退库量(数量)', null=True, blank=True) class Meta: verbose_name = '焊材退库单' verbose_name_plural = '焊材退库单' def __str__(self): return str(self.apply_card)
[文档]class BoughtInComponentRefundCard(AbstractRefundCard): """ 外购件退库单 """ apply_card = models.ForeignKey('BoughtInComponentApplyCard', verbose_name='领用单', on_delete=models.CASCADE) class Meta: verbose_name = '外购件退库单' verbose_name_plural = '外购件退库单'