From 37d3c29ab2827ad71852d8bec26d7e703d3ebbe8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 22 Sep 2023 16:01:31 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20material=E5=A2=9E=E5=8A=A0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mtm/migrations/0011_auto_20230922_1601.py | 24 ++++++++++++++++++ apps/mtm/models.py | 25 ++++++++++--------- 2 files changed, 37 insertions(+), 12 deletions(-) create mode 100644 apps/mtm/migrations/0011_auto_20230922_1601.py diff --git a/apps/mtm/migrations/0011_auto_20230922_1601.py b/apps/mtm/migrations/0011_auto_20230922_1601.py new file mode 100644 index 00000000..8a31a1bf --- /dev/null +++ b/apps/mtm/migrations/0011_auto_20230922_1601.py @@ -0,0 +1,24 @@ +# Generated by Django 3.2.12 on 2023-09-22 08:01 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('mtm', '0010_auto_20230921_1626'), + ] + + operations = [ + migrations.AddField( + model_name='material', + name='parent', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='mtm.material', verbose_name='父物料'), + ), + migrations.AddField( + model_name='material', + name='process', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='mtm.process', verbose_name='所在工序'), + ), + ] diff --git a/apps/mtm/models.py b/apps/mtm/models.py index 4df90019..bf45eb93 100644 --- a/apps/mtm/models.py +++ b/apps/mtm/models.py @@ -1,6 +1,17 @@ from django.db import models from apps.system.models import CommonAModel, Dictionary, CommonBModel, CommonADModel, File, BaseModel +class Process(CommonBModel): + """ + 工序 belong_dept为所在车间 + """ + name = models.CharField('工序名称', max_length=100) + cate = models.CharField('大类', max_length=10, default='') + sort = models.PositiveSmallIntegerField('排序', default=1) + instruction = models.ForeignKey(File, verbose_name='指导书', on_delete=models.SET_NULL, null=True, blank=True) + instruction_content = models.TextField('指导书内容', null=True, blank=True) + + # Create your models here. class Material(CommonAModel): MA_TYPE_BASE = 0 @@ -32,6 +43,8 @@ class Material(CommonAModel): unit = models.CharField('基准计量单位', default='个', max_length=10) count = models.PositiveIntegerField('物料库存总数', default=0) count_safe = models.PositiveIntegerField('安全库存总数', null=True, blank=True) + process = models.ForeignKey(Process, verbose_name='所在工序', on_delete=models.CASCADE, null=True, blank=True) + parent = models.ForeignKey('self', null=True, blank=True, on_delete=models.SET_NULL, verbose_name='父物料') class Meta: verbose_name = '物料表' @@ -97,18 +110,6 @@ class Goal(CommonADModel): unique_together = ("mgroup", "year", "goal_cate") - -class Process(CommonBModel): - """ - 工序 belong_dept为所在车间 - """ - name = models.CharField('工序名称', max_length=100) - cate = models.CharField('大类', max_length=10, default='') - sort = models.PositiveSmallIntegerField('排序', default=1) - instruction = models.ForeignKey(File, verbose_name='指导书', on_delete=models.SET_NULL, null=True, blank=True) - instruction_content = models.TextField('指导书内容', null=True, blank=True) - - class Route(CommonAModel): """ 工艺路线