factory/apps/qm/models.py

33 lines
1.6 KiB
Python

from django.db import models
from apps.system.models import CommonAModel
from apps.utils.models import CommonBDModel
from apps.mtm.models import Material, Shift
from apps.wpm.models import SfLog
class TestItem(CommonAModel):
"""
检验项目
"""
name = models.CharField('名称', max_length=100)
sort = models.PositiveSmallIntegerField('排序', default=1)
class Meta:
ordering = ['sort', '-create_time']
# Create your models here.
class QuaStat(CommonBDModel):
"""
质量数据统计表 需要有belong_dept
"""
type = models.CharField('统计维度', max_length=50, default='day', help_text='year_s/month_s/day_s/shift/sflog')
year_s = models.PositiveSmallIntegerField('班年', null=True, blank=True)
month_s = models.PositiveSmallIntegerField('班月', null=True, blank=True)
day_s = models.PositiveSmallIntegerField('班日', null=True, blank=True)
material = models.ForeignKey(Material, verbose_name='关联产物', on_delete=models.CASCADE)
sflog = models.ForeignKey(SfLog, verbose_name='关联值班记录', on_delete=models.CASCADE, null=True, blank=True)
shift = models.ForeignKey(Shift, verbose_name='关联班组', on_delete=models.CASCADE, null=True, blank=True)
testitem = models.ForeignKey(TestItem, verbose_name='质检项目', on_delete=models.CASCADE)
val_avg = models.FloatField('平均值', null=True, blank=True)
num_test = models.PositiveSmallIntegerField('检测次数', null=True, blank=True)
num_ok = models.PositiveSmallIntegerField('合格次数', null=True, blank=True)
rate_pass = models.FloatField('合格率', null=True, blank=True)