usedstep need test serializer

This commit is contained in:
caoqianming 2022-02-10 10:33:35 +08:00
parent 11b22149c5
commit 035982a3d1
5 changed files with 33 additions and 26 deletions

View File

@ -42,6 +42,7 @@ class ProcessSimpleSerializer(serializers.ModelSerializer):
model = Process
fields = ['id', 'name', 'number', 'type']
class StepSerializer(serializers.ModelSerializer):
class Meta:
model = Step
@ -138,7 +139,7 @@ class UsedStepCreateSerializer(serializers.ModelSerializer):
"""
class Meta:
model = UsedStep
fields = ['step', 'subproduction', 'remark']
fields = ['step', 'subproduction', 'remark', 'need_test']
class UsedStepUpdateSerializer(serializers.ModelSerializer):
"""
@ -146,7 +147,7 @@ class UsedStepUpdateSerializer(serializers.ModelSerializer):
"""
class Meta:
model = UsedStep
fields = ['remark']
fields = ['remark', 'need_test']
class UsedStepListSerializer(serializers.ModelSerializer):
"""

View File

@ -91,8 +91,8 @@ class InputMaterialViewSet(CreateUpdateModelAMixin, ModelViewSet):
"""
输入物料-增删改查
"""
perms_map = {'get':'*', 'post':'subproduction_material_create',
'put':'subproduction_update', 'delete':'subproduction_delete'}
perms_map = {'get':'*', 'post':'subproduction_update',
'put':'subproduction_update', 'delete':'subproduction_update'}
queryset = SubprodctionMaterial.objects.select_related('material').filter(type=SubprodctionMaterial.SUB_MA_TYPE_IN)
serializer_class = InputMaterialSerializer
filterset_fields = ['subproduction']
@ -109,7 +109,8 @@ class OutputMaterialViewSet(CreateUpdateModelAMixin, ModelViewSet):
"""
输出物料-增删改查
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'subproduction_update',
'put':'subproduction_update', 'delete':'subproduction_update'}
queryset = SubprodctionMaterial.objects.select_related('material').filter(type=SubprodctionMaterial.SUB_MA_TYPE_OUT)
serializer_class = OutputMaterialSerializer
filterset_fields = ['subproduction']
@ -126,7 +127,8 @@ class OtherMaterialViewSet(CreateUpdateModelAMixin, ListModelMixin, DestroyModel
"""
其他物料-增删改查
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'subproduction_update',
'put':'subproduction_update', 'delete':'subproduction_update'}
queryset = SubprodctionMaterial.objects.select_related('material').filter(type=SubprodctionMaterial.SUB_MA_TYPE_TOOL)
serializer_class = OutputMaterialSerializer
filterset_fields = ['subproduction']
@ -141,7 +143,8 @@ class UsedStepViewSet(OptimizationMixin, CreateModelMixin, DestroyModelMixin, Li
"""
产品生产子工序表
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'subproduction_update',
'put':'subproduction_update', 'delete':'subproduction_update'}
queryset = UsedStep.objects.all()
filterset_fields = ['subproduction', 'step']
ordering = ['step__sort', '-step__create_time']
@ -157,7 +160,8 @@ class RecordFormViewSet(OptimizationMixin, CreateUpdateModelAMixin, ModelViewSet
"""
记录表格增删改查
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'recordform_create',
'put':'recordform_update', 'delete':'recordform_delete'}
queryset = RecordForm.objects.all()
filterset_fields = ['step', 'type', 'material', 'number', 'enabled']
search_fields = ['name']
@ -189,7 +193,8 @@ class RecordFormFieldViewSet(OptimizationMixin, CreateUpdateModelAMixin, ModelVi
"""
表格字段表 增删改查
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'recordform_update',
'put':'recordform_update', 'delete':'recordform_update'}
queryset = RecordFormField.objects.all()
filterset_fields = ['field_type', 'form']
search_fields = ['field_name', 'field_key']
@ -207,7 +212,8 @@ class TechDocViewSet(OptimizationMixin, CreateUpdateModelAMixin, ModelViewSet):
"""
技术文件增删改查
"""
perms_map = {'*':'*'}
perms_map = {'get':'*', 'post':'subproduction_update',
'put':'subproduction_update', 'delete':'subproduction_update'}
queryset = TechDoc.objects.select_related('file').all()
filterset_class = TechDocFilterset
search_fields = ['name']

View File

@ -39,7 +39,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
"""
生产计划
"""
perms_map = {'*': '*'}
perms_map = {'get': '*', 'post':'plan_create'}
queryset = ProductionPlan.objects.select_related('order', 'order__contract', 'product')
serializer_class = ProductionPlanSerializer
search_fields = ['number', 'order__number', 'order__contract__number', 'product__number']
@ -69,7 +69,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
updateOrderPlanedCount(instance.order)
return Response()
@action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=PlanDestorySerializer)
@action(methods=['post'], detail=False, perms_map={'post':'plan_delete'}, serializer_class=PlanDestorySerializer)
def deletes(self, request, pk=None):
"""
批量物理删除
@ -77,7 +77,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
ProductionPlan.objects.filter(id__in=request.data.get('ids', [])).delete(soft=False)
return Response()
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=GenSubPlanSerializer)
@action(methods=['post'], detail=True, perms_map={'post':'gen_subplan'}, serializer_class=GenSubPlanSerializer)
@transaction.atomic
def gen_subplan(self, request, pk=None):
"""
@ -109,7 +109,7 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo
"""
子生产计划-列表/修改
"""
perms_map = {'*': '*'}
perms_map = {'get': '*', 'put':'subplan_update'}
queryset = SubProductionPlan.objects.select_related('process', 'workshop', 'subproduction', 'product', 'production_plan__product')
search_fields = []
serializer_class = SubProductionPlanListSerializer
@ -133,7 +133,7 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo
serializer = SubProductionProgressSerializer(instance=obj.progress_subplan, many=True)
return Response(serializer.data)
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=serializers.Serializer)
@action(methods=['post'], detail=True, perms_map={'post':'subplan_issue'}, serializer_class=serializers.Serializer)
@transaction.atomic
def issue(self, request, pk=None):
"""
@ -150,7 +150,7 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo
return Response()
raise APIException('计划状态有误')
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=serializers.Serializer)
@action(methods=['post'], detail=True, perms_map={'post':'subplan_start'}, serializer_class=serializers.Serializer)
def start(self, request, pk=None):
"""
开始生产
@ -197,7 +197,7 @@ class SubProductionProgressViewSet(ListModelMixin, GenericViewSet):
"""
生产进度
"""
perms_map = {'*': '*'}
perms_map = {'get': '*'}
queryset = SubProductionProgress.objects.select_related('material', 'subproduction_plan')
search_fields = []
serializer_class = SubProductionProgressSerializer
@ -208,7 +208,7 @@ class SubProductionProgressViewSet(ListModelMixin, GenericViewSet):
class ResourceViewSet(GenericViewSet):
perms_map = {'*': '*'}
@action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=ResourceCalListSerializer)
@action(methods=['post'], detail=False, perms_map={'post':'resource_cal'}, serializer_class=ResourceCalListSerializer)
def cal(self, request, pk=None):
"""
物料消耗计算
@ -240,7 +240,7 @@ class ResourceViewSet(GenericViewSet):
'count_safe':m['material__count_safe']})
return Response(res)
@action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=ResourceCalListSerializer)
@action(methods=['post'], detail=False, perms_map={'post':'resource_cal_equip'}, serializer_class=ResourceCalListSerializer)
def cal_equip(self, request, pk=None):
"""
设备状态查看

View File

@ -31,8 +31,8 @@ class PuOrderViewSet(CreateUpdateModelAMixin, ModelViewSet):
"""
采购订单-增删改查
"""
perms_map = {'get': '*', 'post': '*',
'put': '*', 'delete': '*'}
perms_map = {'get': '*', 'post': 'puorder_create',
'put': 'puorder_update', 'delete': 'puorder_delete'}
queryset = PuOrder.objects.select_related('vendor').\
prefetch_related('item_pu_order').all()
serializer_class = PuOrderSerializer
@ -57,7 +57,7 @@ class PuOrderViewSet(CreateUpdateModelAMixin, ModelViewSet):
raise ValidationError('该采购订单已审核')
return super().destroy(request, *args, **kwargs)
@action(methods=['post'], detail=True, perms_map={'post':'*'},
@action(methods=['post'], detail=True, perms_map={'post':'puorder_audit'},
serializer_class=serializers.Serializer)
def audit(self, request, pk=None):
obj = self.get_object()
@ -72,8 +72,8 @@ class PuOrderItemViewSet(CreateModelMixin, ListModelMixin, DestroyModelMixin, Ge
"""
采购订单条目
"""
perms_map = {'get': '*', 'post': '*',
'put': '*', 'delete': '*'}
perms_map = {'get': '*', 'post': 'puorder_update',
'put': 'puorder_update', 'delete': 'puorder_update'}
queryset = PuOrderItem.objects.select_related('material').all()
serializer_class = PuOrderItemSerializer
filterset_fields = ['pu_order', 'material']

View File

@ -52,7 +52,7 @@ class TestRecordViewSet(ListModelMixin, UpdateModelMixin, RetrieveModelMixin, De
"""
检验记录
"""
perms_map = {'*': '*'}
perms_map = {'get': '*', 'post':'testrecord_update', 'delete':'testrecord_delete'}
queryset = TestRecord.objects.select_related('fifo_item', 'form').prefetch_related('item_test_record').all()
serializer_class = TestRecordListSerializer
filterset_fields = ['wproduct', 'material', 'step', 'subproduction_plan', 'fifo_item', 'origin_test', 'type']
@ -80,7 +80,7 @@ class TestRecordViewSet(ListModelMixin, UpdateModelMixin, RetrieveModelMixin, De
WpmService.add_wproduct_flow_log(obj.wproduct, 'test_delete')
return super().destroy(request, *args, **kwargs)
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=TestRecordUpdateSerializer)
@action(methods=['post'], detail=True, perms_map={'post':'testrecord_submit'}, serializer_class=TestRecordUpdateSerializer)
def submit(self, request, pk=None):
obj = self.get_object()
if obj.is_submited and obj.is_midtesting is False: