订单, 计划, 产品编号自填
This commit is contained in:
parent
9f15520dae
commit
b05d6349d2
|
@ -11,7 +11,7 @@ from utils.mixins import DynamicFieldsSerializerMixin
|
|||
class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ProductionPlan
|
||||
fields = ['order', 'count', 'start_date', 'end_date']
|
||||
fields = ['order', 'count', 'start_date', 'end_date', 'number']
|
||||
|
||||
class ProductionPlanSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer):
|
||||
order_ = OrderSimpleSerializer(source='order', read_only=True)
|
||||
|
|
|
@ -71,7 +71,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
|
|||
pass
|
||||
else:
|
||||
raise APIException('排产数量错误')
|
||||
instance = serializer.save(create_by=request.user, product=order.product, number='JH'+ranstr(7))
|
||||
instance = serializer.save(create_by=request.user, product=order.product)
|
||||
updateOrderPlanedCount(instance.order)
|
||||
return Response()
|
||||
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 3.2.9 on 2022-06-13 01:25
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('qm', '0028_alter_testrecord_fifo_item'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='testrecord',
|
||||
name='number',
|
||||
field=models.CharField(blank=True, max_length=20, null=True, verbose_name='玻璃编号'),
|
||||
),
|
||||
]
|
|
@ -72,6 +72,7 @@ class TestRecord(CommonADModel):
|
|||
is_submited = models.BooleanField('是否提交', default=False)
|
||||
is_midtesting = models.BooleanField('是否子工序检验中', default=False)
|
||||
remark = models.TextField('备注', default='')
|
||||
number = models.CharField('玻璃编号', max_length=20, null=True, blank=True)
|
||||
|
||||
|
||||
class TestRecordItem(CommonADModel):
|
||||
|
|
|
@ -43,10 +43,10 @@ class ContractCreateUpdateSerializer(serializers.ModelSerializer):
|
|||
class OrderCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Order
|
||||
fields = ['customer', 'contract', 'product', 'count', 'delivery_date', 'need_mtest']
|
||||
fields = ['customer', 'contract', 'product', 'count', 'delivery_date', 'need_mtest', 'number']
|
||||
|
||||
def create(self, validated_data):
|
||||
validated_data['number'] = 'DD' + ranstr(7)
|
||||
# validated_data['number'] = 'DD' + ranstr(7)
|
||||
return super().create(validated_data)
|
||||
|
||||
class OrderSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer):
|
||||
|
|
|
@ -9,6 +9,7 @@ from apps.system.models import User
|
|||
from apps.wf.models import State, TicketFlow, Transition
|
||||
from apps.wpm.models import Operation, OperationMaterial, WProduct, WproductFlow, WprouctTicket
|
||||
from utils.tools import ranstr
|
||||
from rest_framework.exceptions import ParseError
|
||||
class WpmService(object):
|
||||
|
||||
@classmethod
|
||||
|
@ -70,7 +71,10 @@ class WpmService(object):
|
|||
else:
|
||||
wproduct.act_state = WProduct.WPR_ACT_STATE_OK
|
||||
if wproduct.number is None: # 产生半成品编号
|
||||
wproduct.number = 'WP'+ranstr(7)
|
||||
if test.number:
|
||||
wproduct.number = test.number
|
||||
else:
|
||||
raise ParseError('请提供玻璃编号')
|
||||
|
||||
# 去除ng_sign
|
||||
if wproduct.ng_sign:
|
||||
|
|
Loading…
Reference in New Issue