wpm post bug

This commit is contained in:
caoqianming 2021-11-09 13:20:07 +08:00
parent 6a4c99f18c
commit a28282e331
3 changed files with 27 additions and 4 deletions

View File

@ -3,7 +3,7 @@ from rest_framework.serializers import ModelSerializer
from apps.inm.models import FIFO, FIFOItem, MaterialBatch, WareHouse from apps.inm.models import FIFO, FIFOItem, 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
from apps.mtm.serializers import MaterialSimpleSerializer from apps.mtm.serializers import MaterialSimpleSerializer, StepSimpleSerializer
from apps.pm.models import SubProductionPlan, SubProductionProgress from apps.pm.models import SubProductionPlan, SubProductionProgress
from django.utils import timezone from django.utils import timezone
@ -80,6 +80,15 @@ class WMaterialListSerializer(serializers.ModelSerializer):
model = WMaterial model = WMaterial
fields = '__all__' fields = '__all__'
class WProductListSerializer(serializers.ModelSerializer):
"""
半成品列表
"""
m_state_ = MaterialSimpleSerializer(source='m_state', read_only=True)
p_state_ = StepSimpleSerializer(source='p_state', read_only=True)
class Meta:
model = WProduct
fields = '__all__'
class OperationInitSerializer(serializers.Serializer): class OperationInitSerializer(serializers.Serializer):
step = serializers.PrimaryKeyRelatedField(queryset=Step.objects.all(), label="子工序ID") step = serializers.PrimaryKeyRelatedField(queryset=Step.objects.all(), label="子工序ID")
@ -136,6 +145,7 @@ class OperationSubmitSerializer(serializers.Serializer):
input = DoInputSerializer(many=True, required=False) input = DoInputSerializer(many=True, required=False)
output = DoOutputSerializer(many=True, required=False) output = DoOutputSerializer(many=True, required=False)
forms = OperationRecordSerializer(many=True, required=False) forms = OperationRecordSerializer(many=True, required=False)
remark = serializers.CharField(required=False, label='操作备注')

View File

@ -3,10 +3,11 @@ from rest_framework import urlpatterns
from django.urls import path, include from django.urls import path, include
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
from apps.wpm.views import DoFormInit, DoFormSubmit, WMaterialViewSet, WPlanViewSet from apps.wpm.views import DoFormInit, DoFormSubmit, WMaterialViewSet, WPlanViewSet, WProductViewSet
router = DefaultRouter() router = DefaultRouter()
router.register('wmaterial', WMaterialViewSet, basename='wmaterial') router.register('wmaterial', WMaterialViewSet, basename='wmaterial')
router.register('wproduct', WProductViewSet, basename='wproduct')
router.register('subplan', WPlanViewSet, basename='wplan') router.register('subplan', WPlanViewSet, basename='wplan')
urlpatterns = [ urlpatterns = [
path('do/init/', DoFormInit.as_view()), path('do/init/', DoFormInit.as_view()),

View File

@ -14,7 +14,7 @@ from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
from rest_framework.decorators import action from rest_framework.decorators import action
from apps.wpm.models import WMaterial, WProduct, Operation, OperationMaterial, OperationRecord, OperationRecordItem from apps.wpm.models import WMaterial, WProduct, Operation, OperationMaterial, OperationRecord, OperationRecordItem
from apps.wpm.serializers import PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer from apps.wpm.serializers import PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer
from rest_framework.response import Response from rest_framework.response import Response
# Create your views here. # Create your views here.
class WPlanViewSet(ListModelMixin, GenericViewSet): class WPlanViewSet(ListModelMixin, GenericViewSet):
@ -50,6 +50,18 @@ class WMaterialViewSet(CreateUpdateModelAMixin, ListModelMixin, GenericViewSet):
serializer.save() serializer.save()
return Response() return Response()
class WProductViewSet(ListModelMixin, GenericViewSet):
"""
半成品
"""
perms_map={'*':'*'}
queryset = WProduct.objects.select_related('p_state', 'm_state').all()
serializer_class = WProductListSerializer
filterset_fields = ['p_state', 'subproduction_plan', 'm_state', 'production_plan', 'p_state__process']
search_fields = ['number']
ordering_fields = ['id']
ordering = ['id']
class DoFormInit(CreateAPIView, GenericAPIView): class DoFormInit(CreateAPIView, GenericAPIView):
perms_map={'*':'*'} perms_map={'*':'*'}
serializer_class=OperationInitSerializer serializer_class=OperationInitSerializer
@ -114,7 +126,7 @@ class DoFormSubmit(CreateAPIView, GenericAPIView):
if 'wproducts' in data and data['wproducts']: if 'wproducts' in data and data['wproducts']:
action_obj.wproducts = data['wproducts'] action_obj.wproducts = data['wproducts']
action_obj.m_state = vdata[0].m_state action_obj.m_state = vdata[0].m_state
action_obj.remark = data['remark'] # 操作备注 action_obj.remark = vdata.get('remark', '') # 操作备注
action_obj.create_by = request.user action_obj.create_by = request.user
action_obj.save() action_obj.save()