创建生产计划无需填写编号
This commit is contained in:
parent
eaea0cdb7c
commit
de94a56416
|
@ -8,7 +8,7 @@ from apps.system.serializers import OrganizationSimpleSerializer
|
|||
class ProductionPlanCreateFromOrderSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ProductionPlan
|
||||
fields = ['order', 'number', 'count', 'start_date', 'end_date']
|
||||
fields = ['order', 'count', 'start_date', 'end_date']
|
||||
|
||||
class ProductionPlanSerializer(serializers.ModelSerializer):
|
||||
order_ = OrderSerializer(source='order', read_only=True)
|
||||
|
|
|
@ -2,7 +2,7 @@ from rest_framework import serializers, exceptions
|
|||
from rest_framework.serializers import ModelSerializer
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse
|
||||
from apps.inm.signals import update_inm
|
||||
from apps.mtm.models import Material, RecordForm, Step
|
||||
from apps.mtm.models import Material, RecordForm, Step, SubprodctionMaterial
|
||||
from apps.mtm.serializers import MaterialSimpleSerializer, StepSimpleSerializer
|
||||
|
||||
from apps.pm.models import SubProductionPlan, SubProductionProgress
|
||||
|
@ -32,10 +32,10 @@ class PickSerializer(serializers.Serializer):
|
|||
def create(self, validated_data):
|
||||
picks = validated_data.pop('picks')
|
||||
sp = validated_data.pop('subproduction_plan')
|
||||
if sp.state not in [1,2]:
|
||||
if sp.state not in [1, 2, 3]:
|
||||
raise exceptions.ValidationError('该子计划状态错误')
|
||||
if sp.is_picked:
|
||||
raise exceptions.ValidationError('该子计划已领料')
|
||||
# if sp.is_picked:
|
||||
# raise exceptions.ValidationError('该子计划已领料')
|
||||
# for i in picks:
|
||||
# try:
|
||||
# instance = MaterialBatch.objects.get(material=i['material'], batch=i['batch'])
|
||||
|
@ -82,9 +82,11 @@ class PickSerializer(serializers.Serializer):
|
|||
wm.count = wm.count + i['count']
|
||||
wm.save()
|
||||
# 更新子计划物料情况
|
||||
spp = SubProductionProgress.objects.get(material=i['material'], subproduction_plan=sp, type=1)
|
||||
spp = SubProductionProgress.objects.get(material=i['material'], subproduction_plan=sp, type=SubprodctionMaterial.SUB_MA_TYPE_IN)
|
||||
spp.count_pick = spp.count_pick + i['count']
|
||||
spp.save()
|
||||
if spp.count_pick > spp.count:
|
||||
raise exceptions.APIException('超过计划需求数')
|
||||
# 更新半成品表
|
||||
wproducts = WProduct.objects.filter(pk__in=[x.wproduct for x in i['iproducts']])
|
||||
first_step = Step.objects.get(pk=sp.steps[0].id)
|
||||
|
|
Loading…
Reference in New Issue