This commit is contained in:
zty 2025-02-12 17:34:09 +08:00
commit 5ecb3341e0
7 changed files with 60 additions and 5 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 3.2.12 on 2025-02-11 06:49
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('qm', '0041_auto_20250122_1347'),
]
operations = [
migrations.AlterField(
model_name='ptest',
name='testitem',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='qm.testitem', verbose_name='测试项目'),
),
]

View File

@ -351,7 +351,7 @@ class Ptest(CommonAModel):
test_user = models.ForeignKey(
User, verbose_name='检验员', on_delete=models.CASCADE)
testitem = models.ForeignKey(
TestItem, verbose_name='测试项目', on_delete=models.CASCADE)
TestItem, verbose_name='测试项目', on_delete=models.CASCADE, null=True, blank=True)
sample_number = models.CharField('样品编号', max_length=20)
sample_count = models.PositiveIntegerField('样品数量', null=True, blank=True)
sample_density = models.FloatField('样品密度', null=True, blank=True)

View File

@ -35,7 +35,7 @@ def get_user_route(user: User) -> List[str]:
user_routes_qs = perm_qs
else:
user_routes_qs = perm_qs.filter(role_perms__in=PostRole.objects.filter(
post__in=UserPost.objects.filter(user=user).values_list("post", flat=True)).values_list("role", flat=True))
post__in=UserPost.objects.filter(user=user).values_list("post", flat=True)).values_list("role", flat=True)).distinct()
user_routes_qs = user_routes_qs.order_by('sort')
user_routes_list = list(user_routes_qs.values("id", "name", "type", "route_name", "icon", "path", "component", "is_hidden", "is_fullpage", "parent"))
for item in user_routes_list:

View File

@ -0,0 +1,30 @@
# Generated by Django 3.2.12 on 2025-02-12 03:58
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('em', '0021_auto_20241203_1531'),
('wpm', '0086_alter_handover_type'),
]
operations = [
migrations.AddField(
model_name='mlogbw',
name='equip',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='em.equipment', verbose_name='设备'),
),
migrations.AddField(
model_name='mlogbw',
name='work_end_time',
field=models.DateTimeField(blank=True, null=True, verbose_name='结束加工时间'),
),
migrations.AddField(
model_name='mlogbw',
name='work_start_time',
field=models.DateTimeField(blank=True, null=True, verbose_name='开始加工时间'),
),
]

View File

@ -355,6 +355,9 @@ class Mlogbw(BaseModel):
mlogb = models.ForeignKey(Mlogb, verbose_name='生产记录', on_delete=models.CASCADE)
wpr = models.ForeignKey("wpmw.wpr", verbose_name='关联产品', on_delete=models.SET_NULL
, related_name='wpr_mlogbw', null=True, blank=True)
equip = models.ForeignKey(Equipment, verbose_name='设备', on_delete=models.SET_NULL, null=True, blank=True)
work_start_time = models.DateTimeField('开始加工时间', null=True, blank=True)
work_end_time = models.DateTimeField('结束加工时间', null=True, blank=True)
ftest = models.OneToOneField("qm.ftest", verbose_name='关联检验',
on_delete=models.PROTECT, null=True, blank=True, related_name="mlogbw_ftest")
note = models.TextField('备注', null=True, blank=True)

View File

@ -580,7 +580,7 @@ class MlogbwCreateUpdateSerializer(CustomModelSerializer):
ftest = FtestProcessSerializer(required=False)
class Meta:
model = Mlogbw
fields = ["id", "number", "wpr", "note", "mlogb", "ftest"]
fields = ["id", "number", "wpr", "note", "mlogb", "ftest", "equip", "work_start_time", "work_end_time"]
def validate(self, attrs):
mlogb:Mlogb = attrs["mlogb"]

View File

@ -230,8 +230,11 @@ def get_alldata_with_batch(batch: str):
# 六车间工段生产数据
mgroup_list = ["平头", "粘铁头", "粗中细磨", "抛光", "开槽"]
for mgroup_name in mgroup_list:
mgroup = Mgroup.objects.get(name=mgroup_name)
mlogs_qs = Mlog.objects.filter(submit_time__isnull=False, mgroup=mgroup, batch=batch)
if mgroup_name == '粗中细磨':
mgroups = Mgroup.objects.filter(name__in=['粗磨', '粗中磨', '粗中细磨'])
else:
mgroups = Mgroup.objects.filter(name=mgroup_name)
mlogs_qs = Mlog.objects.filter(submit_time__isnull=False, mgroup__in=mgroups, batch=batch)
if mlogs_qs.exists():
last_time = item.update_time if item.update_time > last_time else last_time
data[f'六车间_{mgroup_name}_日期'] = []