Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop

This commit is contained in:
shijing 2022-06-13 10:23:32 +08:00
commit a214ea5ee4
7 changed files with 29 additions and 6 deletions

View File

@ -11,7 +11,7 @@ from utils.mixins import DynamicFieldsSerializerMixin
class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer): class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = ProductionPlan model = ProductionPlan
fields = ['order', 'count', 'start_date', 'end_date'] fields = ['order', 'count', 'start_date', 'end_date', 'number']
class ProductionPlanSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer): class ProductionPlanSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer):
order_ = OrderSimpleSerializer(source='order', read_only=True) order_ = OrderSimpleSerializer(source='order', read_only=True)

View File

@ -71,7 +71,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
pass pass
else: else:
raise APIException('排产数量错误') 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) updateOrderPlanedCount(instance.order)
return Response() return Response()

View File

@ -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='玻璃编号'),
),
]

View File

@ -72,6 +72,7 @@ class TestRecord(CommonADModel):
is_submited = models.BooleanField('是否提交', default=False) is_submited = models.BooleanField('是否提交', default=False)
is_midtesting = models.BooleanField('是否子工序检验中', default=False) is_midtesting = models.BooleanField('是否子工序检验中', default=False)
remark = models.TextField('备注', default='') remark = models.TextField('备注', default='')
number = models.CharField('玻璃编号', max_length=20, null=True, blank=True)
class TestRecordItem(CommonADModel): class TestRecordItem(CommonADModel):

View File

@ -129,7 +129,7 @@ class TestRecordUpdateSerializer(serializers.ModelSerializer):
record_data = TestRecordItemUpdatexSerializer(many=True, write_only=True) record_data = TestRecordItemUpdatexSerializer(many=True, write_only=True)
class Meta: class Meta:
model = TestRecord model = TestRecord
fields = ['is_testok', 'record_data'] fields = ['is_testok', 'record_data', 'number', 'remark']
def update(self, instance, validated_data): def update(self, instance, validated_data):
# 获取更新人 # 获取更新人

View File

@ -43,10 +43,10 @@ class ContractCreateUpdateSerializer(serializers.ModelSerializer):
class OrderCreateUpdateSerializer(serializers.ModelSerializer): class OrderCreateUpdateSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Order 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): def create(self, validated_data):
validated_data['number'] = 'DD' + ranstr(7) # validated_data['number'] = 'DD' + ranstr(7)
return super().create(validated_data) return super().create(validated_data)
class OrderSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer): class OrderSerializer(DynamicFieldsSerializerMixin, serializers.ModelSerializer):

View File

@ -9,6 +9,7 @@ from apps.system.models import User
from apps.wf.models import State, TicketFlow, Transition from apps.wf.models import State, TicketFlow, Transition
from apps.wpm.models import Operation, OperationMaterial, WProduct, WproductFlow, WprouctTicket from apps.wpm.models import Operation, OperationMaterial, WProduct, WproductFlow, WprouctTicket
from utils.tools import ranstr from utils.tools import ranstr
from rest_framework.exceptions import ParseError
class WpmService(object): class WpmService(object):
@classmethod @classmethod
@ -70,7 +71,10 @@ class WpmService(object):
else: else:
wproduct.act_state = WProduct.WPR_ACT_STATE_OK wproduct.act_state = WProduct.WPR_ACT_STATE_OK
if wproduct.number is None: # 产生半成品编号 if wproduct.number is None: # 产生半成品编号
wproduct.number = 'WP'+ranstr(7) if test.number:
wproduct.number = test.number
else:
raise ParseError('请提供玻璃编号')
# 去除ng_sign # 去除ng_sign
if wproduct.ng_sign: if wproduct.ng_sign: