自动gitpull develop
This commit is contained in:
parent
28b44f92a8
commit
23b75df2d4
|
@ -80,7 +80,7 @@ class OperationMaterial(BaseModel):
|
|||
type = models.IntegerField('类型', default=0, choices=type_choices)
|
||||
operation = models.ForeignKey(Operation, verbose_name='关联的生产操作', on_delete=models.CASCADE)
|
||||
wmaterial = models.ForeignKey(WMaterial, verbose_name='关联的车间物料', on_delete=models.CASCADE, null=True, blank=True)
|
||||
material = models.ForeignKey(Material, verbose_name='可能产出的副产品', on_delete=models.CASCADE, null=True, blank=True)
|
||||
material = models.ForeignKey(Material, verbose_name='可能产出的产品', on_delete=models.CASCADE, null=True, blank=True)
|
||||
count = models.IntegerField('消耗或产出数量', validators=[MinValueValidator(0)])
|
||||
|
||||
class OperationRecord(BaseModel):
|
||||
|
|
|
@ -245,6 +245,13 @@ class OperationRecordSerializer(serializers.ModelSerializer):
|
|||
model = OperationRecord
|
||||
fields = ['form', 'record_data']
|
||||
|
||||
|
||||
class OperationRecordSubmitSerializer(serializers.ModelSerializer):
|
||||
record_data = OperationRecordItemSerializer(many=True)
|
||||
class Meta:
|
||||
model = OperationRecord
|
||||
fields = ['record_data']
|
||||
|
||||
class OperationWproductListSerializer(serializers.ModelSerializer):
|
||||
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||
subproduction_plan_ = SubproductionPlanSimpleSerializer(source='subproduction_plan', read_only=True)
|
||||
|
|
|
@ -17,7 +17,7 @@ from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
|||
from rest_framework.decorators import action
|
||||
from apps.wpm.models import OperationEquip, OperationWproduct, WMaterial, WProduct, Operation, OperationMaterial, OperationRecord, OperationRecordItem
|
||||
|
||||
from apps.wpm.serializers import OperationEquipListSerializer, OperationEquipUpdateSerializer, OperationRecordListSerializer, OperationUpdateSerializer, OperationWproductListSerializer, OperationCreateSerializer, OperationDetailSerializer, OperationListSerializer, PickHalfSerializer, PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer, WplanPutInSerializer, WpmTestRecordCreateSerializer, WproductPutInSerializer
|
||||
from apps.wpm.serializers import OperationEquipListSerializer, OperationEquipUpdateSerializer, OperationRecordListSerializer, OperationRecordSubmitSerializer, OperationUpdateSerializer, OperationWproductListSerializer, OperationCreateSerializer, OperationDetailSerializer, OperationListSerializer, PickHalfSerializer, PickSerializer, OperationInitSerializer, OperationSubmitSerializer, WMaterialListSerializer, WProductListSerializer, WplanPutInSerializer, WpmTestRecordCreateSerializer, WproductPutInSerializer
|
||||
from rest_framework.response import Response
|
||||
from django.db import transaction
|
||||
from rest_framework import exceptions, serializers
|
||||
|
@ -392,7 +392,26 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, GenericViewSet):
|
|||
instance.delete()
|
||||
return Response()
|
||||
|
||||
|
||||
@action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=OperationRecordSubmitSerializer)
|
||||
def submit(self, request, pk=None):
|
||||
serializer = OperationRecordSubmitSerializer(data=request.data, context={'request':self.request})
|
||||
serializer.is_valid(raise_exception=True)
|
||||
vdata = serializer.data
|
||||
opr = self.get_object()
|
||||
wrds = []
|
||||
for m in vdata['record_data']: # 保存记录详情
|
||||
form_field = m['form_field']
|
||||
m['field_name'] = form_field.field_name
|
||||
m['field_key'] = form_field.field_key
|
||||
m['field_type'] = form_field.field_type
|
||||
m['field_value'] = m['field_value']
|
||||
m['sort'] = form_field.sort
|
||||
m['operation_record'] = opr
|
||||
wrds.append(OperationRecordItem(**m))
|
||||
OperationRecordItem.objects.bulk_create(wrds)
|
||||
opr.is_filled = True
|
||||
opr.save()
|
||||
return Response()
|
||||
|
||||
|
||||
class DoFormInit(CreateAPIView, GenericAPIView):
|
||||
|
|
|
@ -26,7 +26,7 @@ from rest_framework.documentation import include_docs_urls
|
|||
from rest_framework_simplejwt.views import (TokenObtainPairView,
|
||||
TokenRefreshView)
|
||||
from django.views.generic import TemplateView
|
||||
from utils.view import GenSignature
|
||||
from utils.view import GenSignature, UpdateDevelop
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register('', FileViewSet, basename="file")
|
||||
|
@ -72,6 +72,7 @@ urlpatterns = [
|
|||
|
||||
# 工具
|
||||
path('api/utils/signature/', GenSignature.as_view()),
|
||||
path('api/utils/develop/', UpdateDevelop.as_view()),
|
||||
|
||||
# 前端页面入口
|
||||
path('',TemplateView.as_view(template_name="index.html"))
|
||||
|
|
|
@ -49,3 +49,18 @@ class GenSignature(APIView):
|
|||
image[i][j][0],image[i][j][1],image[i][j][2] = 0,0,0
|
||||
cv2.imwrite(path,image)
|
||||
return Response(request.data, status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
class UpdateDevelop(APIView):
|
||||
"""
|
||||
更新开发服务器
|
||||
"""
|
||||
authentication_classes = ()
|
||||
permission_classes = ()
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
import os
|
||||
# 更新后端
|
||||
os.chdir('/home/hberp')
|
||||
os.system('git pull https://caoqianming%40ctc.ac.cn:9093qqww@e.coding.net/ctcdevteam/hberp/hberp.git')
|
||||
return Response()
|
||||
|
|
Loading…
Reference in New Issue