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