diff --git a/hb_server/apps/pm/serializers.py b/hb_server/apps/pm/serializers.py index 3f88285..b3bfb7a 100644 --- a/hb_server/apps/pm/serializers.py +++ b/hb_server/apps/pm/serializers.py @@ -28,13 +28,13 @@ class SubProductionPlanListSerializer(serializers.ModelSerializer): workshop_ = OrganizationSimpleSerializer(source='workshop', read_only=True) process_ = ProcessSimpleSerializer(source='process', read_only=True) subproduction_ = SubProductionSimpleSerializer(source='subproduction', read_only=True) - main_product_ = MaterialSimpleSerializer(source='main_product', read_only=True) - product_ = serializers.SerializerMethodField() + product_ = MaterialSimpleSerializer(source='product', read_only=True) + plan_product_ = serializers.SerializerMethodField() class Meta: model=SubProductionPlan fields = '__all__' - def get_product_(self, obj): + def get_plan_product_(self, obj): return MaterialSimpleSerializer(instance=obj.production_plan.product).data diff --git a/hb_server/apps/pm/signals.py b/hb_server/apps/pm/signals.py index 7986202..dc3e7f6 100644 --- a/hb_server/apps/pm/signals.py +++ b/hb_server/apps/pm/signals.py @@ -13,23 +13,23 @@ def update_subplan_main(sender, instance, created, **kwargs): if instance.is_main: subplan = instance.subproduction_plan if created: - subplan.main_product = instance.material - subplan.main_count = instance.count + subplan.product = instance.material + subplan.count = instance.count - subplan.main_count_real = instance.count_real - subplan.main_count_ok = instance.count_ok - subplan.main_count_notok = instance.count_notok + subplan.count_real = instance.count_real + subplan.count_ok = instance.count_ok + subplan.count_notok = instance.count_notok if instance.count_ok >= instance.count and instance.count_ok > 0: subplan.state = SubProductionPlan.SUBPLAN_STATE_DONE elif instance.count_ok < instance.count and instance.count_ok > 0: subplan.state = SubProductionPlan.SUBPLAN_STATE_WORKING subplan.save() - if subplan.main_product.type == Material.MA_TYPE_GOOD: + if subplan.product.type == Material.MA_TYPE_GOOD: # 如果是产品,更新主计划进度 plan = subplan.production_plan - plan.count_real = subplan.main_count_real - plan.count_ok = subplan.main_count_ok - plan.count_notok = subplan.main_count_notok + plan.count_real = subplan.count_real + plan.count_ok = subplan.count_ok + plan.count_notok = subplan.count_notok plan.save() if plan.count_ok >= plan.count and plan.state == ProductionPlan.PLAN_STATE_WORKING: plan.state = ProductionPlan.PLAN_STATE_DONE diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py index 12098c7..cf367aa 100644 --- a/hb_server/apps/pm/views.py +++ b/hb_server/apps/pm/views.py @@ -109,10 +109,10 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo 子生产计划-列表/修改 """ 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 = [] 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 = ['process__number'] diff --git a/hb_server/apps/srm/serializers.py b/hb_server/apps/srm/serializers.py index 2d6fc3d..41543df 100644 --- a/hb_server/apps/srm/serializers.py +++ b/hb_server/apps/srm/serializers.py @@ -4,7 +4,7 @@ from apps.mtm.serializers import MaterialSimpleSerializer, ProcessSimpleSerializ class SubplanGanttSerializer(serializers.ModelSerializer): process_ = ProcessSimpleSerializer(source='process', read_only=True) - product_ = MaterialSimpleSerializer(source='main_product', read_only=True) + product_ = MaterialSimpleSerializer(source='product', read_only=True) class Meta: model = SubProductionPlan fields = ['id', 'number', 'start_date', 'end_date', 'count', 'count_real', 'count_ok', 'start_date_real', 'end_date_real', 'process_'] diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 6cb74cd..c57c4ee 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -38,10 +38,10 @@ class WPlanViewSet(ListModelMixin, GenericViewSet): 车间生产计划 """ 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 = [] serializer_class = SubProductionPlanListSerializer - filterset_fields = ['production_plan', 'process', 'state', 'main_product', 'workshop'] + filterset_fields = ['production_plan', 'process', 'state', 'product', 'workshop'] ordering_fields = [] ordering = ['-update_time'] @@ -105,7 +105,7 @@ class WPlanViewSet(ListModelMixin, GenericViewSet): serializer.is_valid(raise_exception=True) vdata = serializer.validated_data subplan = self.get_object() - material = subplan.main_product + material = subplan.product batch = subplan.number warehouse = vdata['warehouse'] 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 else: 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]: @@ -915,7 +915,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView): if 'output' in data and data['output']: for i in vdata['output']: # 已经序列化好的数据 ma = i['material'] - if i['subproduction_plan'].main_product == ma: # 如果是该计划主产物 + if i['subproduction_plan'].product == ma: # 如果是该计划主产物 # 如果是切割 # 获取下一步子工序 if vdata['step'].type == Step.STEP_TYPE_DIV: @@ -948,7 +948,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView): wproducts.update(is_hidden=True) # 隐藏 newstep, hasNext = WpmServies.get_next_step(i['subproduction_plan'], vdata['step']) wproduct = WProduct() - wproduct.material = vdata['subproduction_plan'].main_product + wproduct.material = vdata['subproduction_plan'].product wproduct.step = newstep wproduct.subproduction_plan=vdata['subproduction_plan'] wproduct.parent = data['wproducts'] @@ -969,7 +969,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView): wproduct.act_state=WProduct.WPR_ACT_STATE_DOWAIT else: wproduct.act_state=WProduct.WPR_ACT_STATE_TOTEST - wproduct.material=wproduct.subproduction_plan.main_product + wproduct.material=wproduct.subproduction_plan.product wproduct.save() # 保存自定义表单结果