Доработали фильт в реестре заданий
All checks were successful
Deploy MES Core / deploy (push) Successful in 10s
All checks were successful
Deploy MES Core / deploy (push) Successful in 10s
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
from django.contrib.auth.models import User
|
||||
from warehouse.models import Material as WarehouseMaterial
|
||||
|
||||
class Company(models.Model):
|
||||
"""
|
||||
@@ -38,17 +39,6 @@ class Deal(models.Model):
|
||||
class Meta:
|
||||
verbose_name = "Сделка"; verbose_name_plural = "Сделки"
|
||||
|
||||
class Material(models.Model):
|
||||
"""
|
||||
Справочник ТМЦ (Трубы, листы, профили).
|
||||
Необходим для точного списания остатков и синхронизации с 1С.
|
||||
"""
|
||||
name = models.CharField("Наименование", max_length=255, unique=True)
|
||||
|
||||
def __str__(self): return self.name
|
||||
class Meta:
|
||||
verbose_name = "Материал"; verbose_name_plural = "Материалы"
|
||||
|
||||
class ProductionTask(models.Model):
|
||||
"""
|
||||
Основание для производства. Определяет ЧТО делать.
|
||||
@@ -62,7 +52,7 @@ class ProductionTask(models.Model):
|
||||
drawing_file = models.FileField("Исходник (DXF/IGES)", upload_to="drawings/%Y/%m/", blank=True, null=True)
|
||||
extra_drawing = models.FileField("Доп. чертеж (PDF)", upload_to="extra_drawings/%Y/%m/", blank=True, null=True)
|
||||
|
||||
material = models.ForeignKey(Material, on_delete=models.PROTECT, verbose_name="Материал")
|
||||
material = models.ForeignKey(WarehouseMaterial, on_delete=models.PROTECT, verbose_name="Материал")
|
||||
quantity_ordered = models.PositiveIntegerField("Заказано всего, шт")
|
||||
is_bend = models.BooleanField("Гибка", default=False)
|
||||
|
||||
@@ -84,6 +74,7 @@ class Item(models.Model):
|
||||
('done', 'Выполнено'),
|
||||
('partial', 'Частично'),
|
||||
('leftover', 'Недодел'),
|
||||
('imported', 'Импортировано'),
|
||||
]
|
||||
|
||||
# --- Ссылка на основу (временно null=True для миграции старых данных) ---
|
||||
@@ -106,11 +97,13 @@ class Item(models.Model):
|
||||
is_synced_1c = models.BooleanField("Учтено в 1С", default=False)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Позиция сменки"; verbose_name_plural = "Реестр сменных заданий"
|
||||
verbose_name = "Пункт сменки"; verbose_name_plural = "Реестр сменных заданий"
|
||||
ordering = ['-date', 'task__deal']
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.task.drawing_name} - {self.date}"
|
||||
if self.task:
|
||||
return f"{self.task.drawing_name} - {self.date}"
|
||||
return f"Без задания - {self.date}"
|
||||
|
||||
|
||||
class EmployeeProfile(models.Model):
|
||||
|
||||
Reference in New Issue
Block a user