fix: 增加检测模板功能字段 bug
This commit is contained in:
parent
e7c08dc16c
commit
1647b2f06e
|
@ -1,5 +1,6 @@
|
||||||
from django_filters import rest_framework as filters
|
from django_filters import rest_framework as filters
|
||||||
from apps.qm.models import QuaStat, TestItem, FtestWork
|
from apps.qm.models import QuaStat, TestItem, FtestWork, Qct
|
||||||
|
from apps.utils.filters import MyJsonListFilter
|
||||||
|
|
||||||
|
|
||||||
class QuaStatFilter(filters.FilterSet):
|
class QuaStatFilter(filters.FilterSet):
|
||||||
|
@ -14,6 +15,12 @@ class QuaStatFilter(filters.FilterSet):
|
||||||
"sflog__end_time": ["day", "month", "year", "lt"],
|
"sflog__end_time": ["day", "month", "year", "lt"],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class QctFilter(filters.FilterSet):
|
||||||
|
tags = MyJsonListFilter(label="tags查询,分隔")
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Qct
|
||||||
|
fields = ["testitems", "defects"]
|
||||||
|
|
||||||
class TestItemFilter(filters.FilterSet):
|
class TestItemFilter(filters.FilterSet):
|
||||||
tags__contains = filters.CharFilter(field_name='tags', lookup_expr='contains')
|
tags__contains = filters.CharFilter(field_name='tags', lookup_expr='contains')
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated by Django 3.2.12 on 2024-12-19 02:06
|
# Generated by Django 3.2.12 on 2024-12-19 02:34
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
|
@ -9,8 +9,8 @@ import django.utils.timezone
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('mtm', '0048_auto_20241218_1431'),
|
|
||||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('mtm', '0048_auto_20241218_1431'),
|
||||||
('qm', '0028_defect'),
|
('qm', '0028_defect'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ class Migration(migrations.Migration):
|
||||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
('tracing', models.CharField(choices=[('test', '检测项'), ('defect', '缺陷项')], default='test', help_text="(('test', '检测项'), ('defect', '缺陷项'))", max_length=20, verbose_name='追溯层级')),
|
('tracing', models.CharField(choices=[('test', '检测项'), ('defect', '缺陷项')], default='test', help_text="(('test', '检测项'), ('defect', '缺陷项'))", max_length=20, verbose_name='追溯层级')),
|
||||||
('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mtm.material', verbose_name='物料')),
|
('material', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='mtm.material', verbose_name='物料')),
|
||||||
('qc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qm.qct', verbose_name='质检模板')),
|
('qct', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qm.qct', verbose_name='质检模板')),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
'abstract': False,
|
'abstract': False,
|
||||||
|
@ -57,7 +57,7 @@ class Migration(migrations.Migration):
|
||||||
('rule_expression', models.TextField(blank=True, null=True, verbose_name='判定表达式')),
|
('rule_expression', models.TextField(blank=True, null=True, verbose_name='判定表达式')),
|
||||||
('sort', models.FloatField(default=1, verbose_name='排序')),
|
('sort', models.FloatField(default=1, verbose_name='排序')),
|
||||||
('defect', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.defect', verbose_name='缺陷项')),
|
('defect', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.defect', verbose_name='缺陷项')),
|
||||||
('qc', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qm.qct', verbose_name='质检模板')),
|
('qct', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='qm.qct', verbose_name='质检模板')),
|
||||||
('testitem', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.testitem', verbose_name='检测项')),
|
('testitem', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.testitem', verbose_name='检测项')),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
|
@ -143,7 +143,7 @@ class Qct(CommonAModel):
|
||||||
materials = models.ManyToManyField(Material, verbose_name="物料", blank=True, through='qm.qctmat')
|
materials = models.ManyToManyField(Material, verbose_name="物料", blank=True, through='qm.qctmat')
|
||||||
|
|
||||||
class QctItem(BaseModel):
|
class QctItem(BaseModel):
|
||||||
qc = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
||||||
testitem = models.ForeignKey(TestItem, verbose_name="检测项", on_delete=models.CASCADE, null=True, blank=True)
|
testitem = models.ForeignKey(TestItem, verbose_name="检测项", on_delete=models.CASCADE, null=True, blank=True)
|
||||||
note = models.TextField('备注', null=True, blank=True)
|
note = models.TextField('备注', null=True, blank=True)
|
||||||
rule_expression = models.TextField('判定表达式', null=True, blank=True)
|
rule_expression = models.TextField('判定表达式', null=True, blank=True)
|
||||||
|
@ -151,7 +151,7 @@ class QctItem(BaseModel):
|
||||||
sort = models.FloatField('排序', default=1)
|
sort = models.FloatField('排序', default=1)
|
||||||
|
|
||||||
class QctMat(BaseModel):
|
class QctMat(BaseModel):
|
||||||
qc = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
qct = models.ForeignKey(Qct, verbose_name="质检模板", on_delete=models.CASCADE)
|
||||||
material = models.ForeignKey(Material, verbose_name="物料", on_delete=models.CASCADE)
|
material = models.ForeignKey(Material, verbose_name="物料", on_delete=models.CASCADE)
|
||||||
tracing = models.CharField('追溯层级', default=QC_T, choices=QC_TRACE_CHOICES, max_length=20, help_text=str(QC_TRACE_CHOICES))
|
tracing = models.CharField('追溯层级', default=QC_T, choices=QC_TRACE_CHOICES, max_length=20, help_text=str(QC_TRACE_CHOICES))
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ import datetime
|
||||||
|
|
||||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||||
from apps.wpm.models import SfLog
|
from apps.wpm.models import SfLog
|
||||||
from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter
|
from apps.qm.filters import QuaStatFilter, TestItemFilter, FtestWorkFilter, QctFilter
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from apps.qm.models import NotOkOption, Defect, Qct, QctItem, QctMat
|
from apps.qm.models import NotOkOption, Defect, Qct, QctItem, QctMat
|
||||||
from apps.qm.services import ftestwork_submit
|
from apps.qm.services import ftestwork_submit
|
||||||
|
@ -43,12 +43,11 @@ class QctViewSet(CustomModelViewSet):
|
||||||
queryset = Qct.objects.all()
|
queryset = Qct.objects.all()
|
||||||
serializer_class = QctSerializer
|
serializer_class = QctSerializer
|
||||||
retrieve_serializer_class = QctDetailSerializer
|
retrieve_serializer_class = QctDetailSerializer
|
||||||
filterset_fields = ["tags", "testitems", "defects"]
|
filterset_class = QctFilter
|
||||||
search_fields = ["name", "number"]
|
search_fields = ["name", "number"]
|
||||||
|
|
||||||
class QctItemViewSet(CustomModelViewSet):
|
class QctItemViewSet(CustomModelViewSet):
|
||||||
"""
|
"""检测模板项
|
||||||
list: 检测模板项
|
|
||||||
|
|
||||||
检测模板项
|
检测模板项
|
||||||
"""
|
"""
|
||||||
|
@ -56,11 +55,10 @@ class QctItemViewSet(CustomModelViewSet):
|
||||||
queryset = QctItem.objects.all()
|
queryset = QctItem.objects.all()
|
||||||
serializer_class = QctItemSerializer
|
serializer_class = QctItemSerializer
|
||||||
filterset_fields = ["qct", "testitem", "defect"]
|
filterset_fields = ["qct", "testitem", "defect"]
|
||||||
ordering = ["qc", "sort"]
|
ordering = ["qct", "sort"]
|
||||||
|
|
||||||
class QctMatViewSet(CustomModelViewSet):
|
class QctMatViewSet(CustomModelViewSet):
|
||||||
"""
|
"""检测物料
|
||||||
list: 检测物料
|
|
||||||
|
|
||||||
检测物料
|
检测物料
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue