Ввел логику сделок через партии
All checks were successful
Deploy MES Core / deploy (push) Successful in 4m16s
All checks were successful
Deploy MES Core / deploy (push) Successful in 4m16s
This commit is contained in:
@@ -97,6 +97,14 @@ class ProductionTask(models.Model):
|
||||
"""
|
||||
|
||||
deal = models.ForeignKey(Deal, on_delete=models.CASCADE, verbose_name="Сделка")
|
||||
delivery_batch = models.ForeignKey(
|
||||
'shiftflow.DealDeliveryBatch',
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name='production_tasks',
|
||||
verbose_name='Партия поставки',
|
||||
)
|
||||
entity = models.ForeignKey('manufacturing.ProductEntity', on_delete=models.PROTECT, null=True, blank=True, verbose_name="КД (изделие/деталь)")
|
||||
|
||||
drawing_name = models.CharField("Название детали", max_length=255, blank=True, default="Б/ч")
|
||||
@@ -227,20 +235,28 @@ class DealBatchItem(models.Model):
|
||||
|
||||
|
||||
class DealEntityProgress(models.Model):
|
||||
"""Текущая операция техпроцесса для пары (сделка, сущность).
|
||||
"""Текущая операция техпроцесса для пары (сделка, партия, сущность).
|
||||
|
||||
Комментарий: current_seq=1 означает «выполняем 1-ю операцию в EntityOperation».
|
||||
Когда current_seq больше числа операций — сущность для сделки считается прошедшей техпроцесс.
|
||||
Когда current_seq больше числа операций — сущность для партии считается прошедшей техпроцесс.
|
||||
"""
|
||||
|
||||
deal = models.ForeignKey(Deal, on_delete=models.CASCADE, verbose_name='Сделка')
|
||||
delivery_batch = models.ForeignKey(
|
||||
'shiftflow.DealDeliveryBatch',
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name='entity_progress',
|
||||
verbose_name='Партия поставки',
|
||||
)
|
||||
entity = models.ForeignKey('manufacturing.ProductEntity', on_delete=models.PROTECT, verbose_name='Сущность')
|
||||
current_seq = models.PositiveSmallIntegerField('Текущая операция (порядок)', default=1)
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Прогресс по операции'
|
||||
verbose_name_plural = 'Прогресс по операциям'
|
||||
unique_together = ('deal', 'entity')
|
||||
unique_together = ('deal', 'delivery_batch', 'entity')
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.deal.number}: {self.entity} -> {self.current_seq}"
|
||||
@@ -309,6 +325,14 @@ class ProcurementRequirement(models.Model):
|
||||
|
||||
class WorkItem(models.Model):
|
||||
deal = models.ForeignKey(Deal, on_delete=models.CASCADE, verbose_name='Сделка')
|
||||
delivery_batch = models.ForeignKey(
|
||||
'shiftflow.DealDeliveryBatch',
|
||||
on_delete=models.PROTECT,
|
||||
null=True,
|
||||
blank=True,
|
||||
related_name='workitems',
|
||||
verbose_name='Партия поставки',
|
||||
)
|
||||
entity = models.ForeignKey('manufacturing.ProductEntity', on_delete=models.PROTECT, verbose_name='Сущность')
|
||||
|
||||
# Комментарий: operation — основной признак операции (расширяемый справочник).
|
||||
|
||||
Reference in New Issue
Block a user