diff --git a/hb_server/apps/mtm/views.py b/hb_server/apps/mtm/views.py index 2862a39..9318c36 100644 --- a/hb_server/apps/mtm/views.py +++ b/hb_server/apps/mtm/views.py @@ -64,7 +64,7 @@ class ProcessViewSet(PageOrNot, CreateUpdateModelAMixin, ModelViewSet): ordering_fields = ['number'] ordering = ['number'] - @action(methods=['get'], detail=True, perms_map={'get':'process_update'}, pagination_class=None, serializer_class=StepDetailSerializer) + @action(methods=['get'], detail=True, perms_map={'get':'*'}, pagination_class=None, serializer_class=StepDetailSerializer) def steps(self, request, pk=None): """ 工序下的子工序 diff --git a/hb_server/apps/qm/views.py b/hb_server/apps/qm/views.py index d46d6ce..304d954 100644 --- a/hb_server/apps/qm/views.py +++ b/hb_server/apps/qm/views.py @@ -52,7 +52,7 @@ class TestRecordViewSet(ListModelMixin, UpdateModelMixin, RetrieveModelMixin, De """ 检验记录 """ - perms_map = {'get': '*', 'post':'testrecord_update', 'delete':'testrecord_delete'} + perms_map = {'get': '*', 'put':'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'] diff --git a/hb_server/apps/srm/views.py b/hb_server/apps/srm/views.py index f84f5e9..f92d6b3 100644 --- a/hb_server/apps/srm/views.py +++ b/hb_server/apps/srm/views.py @@ -148,7 +148,7 @@ class AtWorkCountView(CreateAPIView): ret = ClockRecord.objects.filter( update_time__year = vdata['year'], update_time__month = vdata['month'], - create_by__show_atwork = True + create_by__employee_user__show_atwork = True ).values( user_id = F('create_by'), number = F('create_by__employee_user__number'), diff --git a/hb_server/apps/wpm/serializers.py b/hb_server/apps/wpm/serializers.py index 79b4234..e11b56c 100644 --- a/hb_server/apps/wpm/serializers.py +++ b/hb_server/apps/wpm/serializers.py @@ -254,6 +254,7 @@ class WProductDetailSerializer(serializers.ModelSerializer): class OperationDetailSerializer(serializers.ModelSerializer): create_by_ = UserSimpleSerializer(source='create_by', read_only=True) + update_by_ = UserSimpleSerializer(source='update_by', read_only=True) step_ = StepSimpleSerializer(source='step', read_only=True) class Meta: model = Operation @@ -261,6 +262,7 @@ class OperationDetailSerializer(serializers.ModelSerializer): class OperationListSerializer(serializers.ModelSerializer): create_by_ = UserSimpleSerializer(source='create_by', read_only=True) + update_by_ = UserSimpleSerializer(source='update_by', read_only=True) step_ = StepSimpleSerializer(source='step', read_only=True) # wproduct_ = serializers.SerializerMethodField() count_work = serializers.SerializerMethodField() diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index b8234d0..872fe87 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -11,7 +11,7 @@ from apps.pm.serializers import SubProductionPlanListSerializer, SubProductionPr from apps.qm.models import TestRecord, TestRecordItem from apps.qm.serializers import TestRecordDetailSerializer -from apps.system.mixins import CreateUpdateModelAMixin +from apps.system.mixins import CreateUpdateCustomMixin, CreateUpdateModelAMixin from rest_framework.decorators import action from apps.wf.models import Workflow from apps.wpm.filters import CuttingFilterSet, OperationRecordFilterSet, WMaterialFilterSet, WProductFilterSet @@ -537,9 +537,6 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd ordering_fields = ['id'] ordering = ['-id'] - def get_queryset(self): - return self.queryset.filter(create_by=self.request.user) - def get_serializer_class(self): if self.action == 'retrieve': return OperationDetailSerializer @@ -787,6 +784,7 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd else: raise exceptions.APIException('产出物料未填写或填写错误') op.is_submited = True + op.update_by = request.user op.save() # 如果是冷加工 @@ -800,7 +798,7 @@ class OperationWproductViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMix 操作使用的半成品 """ perms_map = {'get': '*', 'post':'operation_update', - 'put':'operation_update', 'delete':'operation_delete'} + 'put':'operation_update', 'delete':'operation_update'} queryset = OperationWproduct.objects.select_related( 'subproduction_plan', 'material').all() serializer_class = OperationWproductListSerializer @@ -831,7 +829,7 @@ class OperationEquipViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin, 操作使用的设备 """ perms_map = {'get': '*', 'post':'operation_update', - 'put':'operation_update', 'delete':'operation_delete'} + 'put':'operation_update', 'delete':'operation_update'} queryset = OperationEquip.objects.select_related( 'operation', 'equip').all() serializer_class = OperationEquipListSerializer @@ -864,7 +862,7 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin 操作使用的自定义表格 """ perms_map = {'get': '*', 'post':'operation_update', - 'put':'operation_update', 'delete':'operation_delete'} + 'put':'operation_update', 'delete':'operation_update'} queryset = OperationRecord.objects.select_related( 'operation', 'form').all() serializer_class = OperationRecordListSerializer @@ -908,7 +906,7 @@ class OperationMaterialInputViewSet(ListModelMixin, CreateModelMixin, DestroyMod """ 消耗物料 """ - perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_delete'} + perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_update'} queryset = OperationMaterial.objects.select_related( 'operation', 'subproduction_plan').filter(type=SubprodctionMaterial.SUB_MA_TYPE_IN) serializer_class = OperationMaterialListSerializer @@ -960,7 +958,7 @@ class OperationMaterialOutputViewSet(ListModelMixin, CreateModelMixin, DestroyMo """ 产出物料 """ - perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_delete'} + perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_update'} queryset = OperationMaterial.objects.select_related( 'operation', 'subproduction_plan').filter(type=SubprodctionMaterial.SUB_MA_TYPE_OUT) serializer_class = OperationMaterialListSerializer @@ -997,7 +995,7 @@ class OperationMaterialToolViewSet(ListModelMixin, CreateModelMixin, DestroyMode """ 工具工装 """ - perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_delete'} + perms_map = {'get': '*', 'post':'operation_update', 'delete':'operation_update'} queryset = OperationMaterial.objects.select_related( 'operation', 'subproduction_plan').filter(type=SubprodctionMaterial.SUB_MA_TYPE_TOOL) serializer_class = OperationMaterialListSerializer