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: 动态产品
|
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)
|
state = models.PositiveSmallIntegerField('状态', default=10, choices=WmStateOption.choices)
|
||||||
material = models.ForeignKey(Material, verbose_name="当前物料形态", on_delete=models.CASCADE)
|
material = models.ForeignKey(Material, verbose_name="当前物料形态", on_delete=models.CASCADE)
|
||||||
defects = models.ManyToManyField("qm.defect", through="wpmw.wprdefect", verbose_name="缺陷项")
|
defects = models.ManyToManyField("qm.defect", through="wpmw.wprdefect", verbose_name="缺陷项")
|
||||||
|
@ -30,13 +31,18 @@ class Wpr(BaseModel):
|
||||||
raise ParseError("所属仓库批次和车间批次不可同时存在")
|
raise ParseError("所属仓库批次和车间批次不可同时存在")
|
||||||
|
|
||||||
if wpr:
|
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:
|
elif number:
|
||||||
try:
|
# try:
|
||||||
ins = cls.objects.get(number=number)
|
# ins = cls.objects.get(number=number)
|
||||||
raise ParseError(f"该物料编号{number}-已存在不可使用")
|
# raise ParseError(f"该物料编号{number}-已存在不可使用")
|
||||||
except cls.DoesNotExist:
|
# except cls.DoesNotExist:
|
||||||
ins = cls(number=number)
|
# 创建
|
||||||
|
ins = cls(number=number)
|
||||||
|
ins.version = 0
|
||||||
|
|
||||||
if old_mb and ins.mb != old_mb:
|
if old_mb and ins.mb != old_mb:
|
||||||
raise ParseError(f"请检查-{ins.number}-所属仓库批次")
|
raise ParseError(f"请检查-{ins.number}-所属仓库批次")
|
||||||
|
@ -57,6 +63,7 @@ class Wpr(BaseModel):
|
||||||
WprDefect.objects.filter(wpr=ins).delete()
|
WprDefect.objects.filter(wpr=ins).delete()
|
||||||
if wm.defect:
|
if wm.defect:
|
||||||
WprDefect.objects.create(wpr=ins, defect=wm.defect, is_main=True)
|
WprDefect.objects.create(wpr=ins, defect=wm.defect, is_main=True)
|
||||||
|
ins.version = ins.version + 1
|
||||||
ins.save()
|
ins.save()
|
||||||
if ftest:
|
if ftest:
|
||||||
# 通过检验变更其缺陷项
|
# 通过检验变更其缺陷项
|
||||||
|
|
Loading…
Reference in New Issue