feat: wpmw number允许重复
This commit is contained in:
parent
64ca8b97ad
commit
c0ffb175a9
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.12 on 2025-03-12 08:10
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wpmw', '0003_alter_wpr_state'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='wpr',
|
||||
name='version',
|
||||
field=models.PositiveIntegerField(default=9999, verbose_name='版本号'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='wpr',
|
||||
name='number',
|
||||
field=models.CharField(blank=True, max_length=50, null=True, verbose_name='编号'),
|
||||
),
|
||||
]
|
|
@ -12,7 +12,8 @@ class Wpr(BaseModel):
|
|||
TN: 动态产品
|
||||
"""
|
||||
|
||||
number = models.CharField("编号", max_length=50, unique=True, null=True, blank=True)
|
||||
number = models.CharField("编号", max_length=50, null=True, blank=True)
|
||||
version = models.PositiveIntegerField("版本号", default=9999)
|
||||
state = models.PositiveSmallIntegerField('状态', default=10, choices=WmStateOption.choices)
|
||||
material = models.ForeignKey(Material, verbose_name="当前物料形态", on_delete=models.CASCADE)
|
||||
defects = models.ManyToManyField("qm.defect", through="wpmw.wprdefect", verbose_name="缺陷项")
|
||||
|
@ -30,13 +31,18 @@ class Wpr(BaseModel):
|
|||
raise ParseError("所属仓库批次和车间批次不可同时存在")
|
||||
|
||||
if wpr:
|
||||
ins = wpr
|
||||
ins:Wpr = wpr
|
||||
if wpr and mb is None and wm is None and ins.version <=1:
|
||||
wpr.delete()
|
||||
return
|
||||
elif number:
|
||||
try:
|
||||
ins = cls.objects.get(number=number)
|
||||
raise ParseError(f"该物料编号{number}-已存在不可使用")
|
||||
except cls.DoesNotExist:
|
||||
ins = cls(number=number)
|
||||
# try:
|
||||
# ins = cls.objects.get(number=number)
|
||||
# raise ParseError(f"该物料编号{number}-已存在不可使用")
|
||||
# except cls.DoesNotExist:
|
||||
# 创建
|
||||
ins = cls(number=number)
|
||||
ins.version = 0
|
||||
|
||||
if old_mb and ins.mb != old_mb:
|
||||
raise ParseError(f"请检查-{ins.number}-所属仓库批次")
|
||||
|
@ -57,6 +63,7 @@ class Wpr(BaseModel):
|
|||
WprDefect.objects.filter(wpr=ins).delete()
|
||||
if wm.defect:
|
||||
WprDefect.objects.create(wpr=ins, defect=wm.defect, is_main=True)
|
||||
ins.version = ins.version + 1
|
||||
ins.save()
|
||||
if ftest:
|
||||
# 通过检验变更其缺陷项
|
||||
|
|
Loading…
Reference in New Issue