更改main_product为product

This commit is contained in:
caoqianming 2021-12-29 14:48:06 +08:00
parent a5af3cd71d
commit 445bed8e65
5 changed files with 22 additions and 22 deletions

View File

@ -28,13 +28,13 @@ class SubProductionPlanListSerializer(serializers.ModelSerializer):
workshop_ = OrganizationSimpleSerializer(source='workshop', read_only=True) workshop_ = OrganizationSimpleSerializer(source='workshop', read_only=True)
process_ = ProcessSimpleSerializer(source='process', read_only=True) process_ = ProcessSimpleSerializer(source='process', read_only=True)
subproduction_ = SubProductionSimpleSerializer(source='subproduction', read_only=True) subproduction_ = SubProductionSimpleSerializer(source='subproduction', read_only=True)
main_product_ = MaterialSimpleSerializer(source='main_product', read_only=True) product_ = MaterialSimpleSerializer(source='product', read_only=True)
product_ = serializers.SerializerMethodField() plan_product_ = serializers.SerializerMethodField()
class Meta: class Meta:
model=SubProductionPlan model=SubProductionPlan
fields = '__all__' fields = '__all__'
def get_product_(self, obj): def get_plan_product_(self, obj):
return MaterialSimpleSerializer(instance=obj.production_plan.product).data return MaterialSimpleSerializer(instance=obj.production_plan.product).data

View File

@ -13,23 +13,23 @@ def update_subplan_main(sender, instance, created, **kwargs):
if instance.is_main: if instance.is_main:
subplan = instance.subproduction_plan subplan = instance.subproduction_plan
if created: if created:
subplan.main_product = instance.material subplan.product = instance.material
subplan.main_count = instance.count subplan.count = instance.count
subplan.main_count_real = instance.count_real subplan.count_real = instance.count_real
subplan.main_count_ok = instance.count_ok subplan.count_ok = instance.count_ok
subplan.main_count_notok = instance.count_notok subplan.count_notok = instance.count_notok
if instance.count_ok >= instance.count and instance.count_ok > 0: if instance.count_ok >= instance.count and instance.count_ok > 0:
subplan.state = SubProductionPlan.SUBPLAN_STATE_DONE subplan.state = SubProductionPlan.SUBPLAN_STATE_DONE
elif instance.count_ok < instance.count and instance.count_ok > 0: elif instance.count_ok < instance.count and instance.count_ok > 0:
subplan.state = SubProductionPlan.SUBPLAN_STATE_WORKING subplan.state = SubProductionPlan.SUBPLAN_STATE_WORKING
subplan.save() subplan.save()
if subplan.main_product.type == Material.MA_TYPE_GOOD: if subplan.product.type == Material.MA_TYPE_GOOD:
# 如果是产品,更新主计划进度 # 如果是产品,更新主计划进度
plan = subplan.production_plan plan = subplan.production_plan
plan.count_real = subplan.main_count_real plan.count_real = subplan.count_real
plan.count_ok = subplan.main_count_ok plan.count_ok = subplan.count_ok
plan.count_notok = subplan.main_count_notok plan.count_notok = subplan.count_notok
plan.save() plan.save()
if plan.count_ok >= plan.count and plan.state == ProductionPlan.PLAN_STATE_WORKING: if plan.count_ok >= plan.count and plan.state == ProductionPlan.PLAN_STATE_WORKING:
plan.state = ProductionPlan.PLAN_STATE_DONE plan.state = ProductionPlan.PLAN_STATE_DONE

View File

@ -109,10 +109,10 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo
子生产计划-列表/修改 子生产计划-列表/修改
""" """
perms_map = {'*': '*'} perms_map = {'*': '*'}
queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'main_product', 'production_plan__product') queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'product', 'production_plan__product')
search_fields = [] search_fields = []
serializer_class = SubProductionPlanListSerializer serializer_class = SubProductionPlanListSerializer
filterset_fields = ['production_plan', 'process', 'state', 'main_product', 'workshop'] filterset_fields = ['production_plan', 'process', 'state', 'product', 'workshop']
ordering_fields = ['process__number'] ordering_fields = ['process__number']
ordering = ['process__number'] ordering = ['process__number']

View File

@ -4,7 +4,7 @@ from apps.mtm.serializers import MaterialSimpleSerializer, ProcessSimpleSerializ
class SubplanGanttSerializer(serializers.ModelSerializer): class SubplanGanttSerializer(serializers.ModelSerializer):
process_ = ProcessSimpleSerializer(source='process', read_only=True) process_ = ProcessSimpleSerializer(source='process', read_only=True)
product_ = MaterialSimpleSerializer(source='main_product', read_only=True) product_ = MaterialSimpleSerializer(source='product', read_only=True)
class Meta: class Meta:
model = SubProductionPlan model = SubProductionPlan
fields = ['id', 'number', 'start_date', 'end_date', 'count', 'count_real', 'count_ok', 'start_date_real', 'end_date_real', 'process_'] fields = ['id', 'number', 'start_date', 'end_date', 'count', 'count_real', 'count_ok', 'start_date_real', 'end_date_real', 'process_']

View File

@ -38,10 +38,10 @@ class WPlanViewSet(ListModelMixin, GenericViewSet):
车间生产计划 车间生产计划
""" """
perms_map = {'*': '*'} perms_map = {'*': '*'}
queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'main_product').exclude(state=0) queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'product').exclude(state=0)
search_fields = [] search_fields = []
serializer_class = SubProductionPlanListSerializer serializer_class = SubProductionPlanListSerializer
filterset_fields = ['production_plan', 'process', 'state', 'main_product', 'workshop'] filterset_fields = ['production_plan', 'process', 'state', 'product', 'workshop']
ordering_fields = [] ordering_fields = []
ordering = ['-update_time'] ordering = ['-update_time']
@ -105,7 +105,7 @@ class WPlanViewSet(ListModelMixin, GenericViewSet):
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
vdata = serializer.validated_data vdata = serializer.validated_data
subplan = self.get_object() subplan = self.get_object()
material = subplan.main_product material = subplan.product
batch = subplan.number batch = subplan.number
warehouse = vdata['warehouse'] warehouse = vdata['warehouse']
wproducts = WProduct.objects.filter(subproduction_plan=subplan, wproducts = WProduct.objects.filter(subproduction_plan=subplan,
@ -557,7 +557,7 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd
wp.act_state= WProduct.WPR_ACT_STATE_DOWAIT wp.act_state= WProduct.WPR_ACT_STATE_DOWAIT
else: else:
wp.act_state = WProduct.WPR_ACT_STATE_TOTEST wp.act_state = WProduct.WPR_ACT_STATE_TOTEST
wp.material = wsp.main_product wp.material = wsp.product
# 更新子计划生产进度 # 更新子计划生产进度
# 如果产品有返工标记不做计算 # 如果产品有返工标记不做计算
if wp.ng_sign not in [WProduct.NG_BACK_FIX, WProduct.NG_BACK_WORK]: if wp.ng_sign not in [WProduct.NG_BACK_FIX, WProduct.NG_BACK_WORK]:
@ -915,7 +915,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView):
if 'output' in data and data['output']: if 'output' in data and data['output']:
for i in vdata['output']: # 已经序列化好的数据 for i in vdata['output']: # 已经序列化好的数据
ma = i['material'] ma = i['material']
if i['subproduction_plan'].main_product == ma: # 如果是该计划主产物 if i['subproduction_plan'].product == ma: # 如果是该计划主产物
# 如果是切割 # 如果是切割
# 获取下一步子工序 # 获取下一步子工序
if vdata['step'].type == Step.STEP_TYPE_DIV: if vdata['step'].type == Step.STEP_TYPE_DIV:
@ -948,7 +948,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView):
wproducts.update(is_hidden=True) # 隐藏 wproducts.update(is_hidden=True) # 隐藏
newstep, hasNext = WpmServies.get_next_step(i['subproduction_plan'], vdata['step']) newstep, hasNext = WpmServies.get_next_step(i['subproduction_plan'], vdata['step'])
wproduct = WProduct() wproduct = WProduct()
wproduct.material = vdata['subproduction_plan'].main_product wproduct.material = vdata['subproduction_plan'].product
wproduct.step = newstep wproduct.step = newstep
wproduct.subproduction_plan=vdata['subproduction_plan'] wproduct.subproduction_plan=vdata['subproduction_plan']
wproduct.parent = data['wproducts'] wproduct.parent = data['wproducts']
@ -969,7 +969,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView):
wproduct.act_state=WProduct.WPR_ACT_STATE_DOWAIT wproduct.act_state=WProduct.WPR_ACT_STATE_DOWAIT
else: else:
wproduct.act_state=WProduct.WPR_ACT_STATE_TOTEST wproduct.act_state=WProduct.WPR_ACT_STATE_TOTEST
wproduct.material=wproduct.subproduction_plan.main_product wproduct.material=wproduct.subproduction_plan.product
wproduct.save() wproduct.save()
# 保存自定义表单结果 # 保存自定义表单结果