Merge branch 'develop' of https://e.coding.net/ctcdevteam/hberp/hberp into develop
This commit is contained in:
commit
6eace8e842
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 3.2.9 on 2021-11-23 02:52
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('mtm', '0035_auto_20211117_1637'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='recordformfield',
|
||||
name='draw_template',
|
||||
field=models.CharField(blank=True, max_length=200, null=True, verbose_name='绘图模板'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='recordformfield',
|
||||
name='field_type',
|
||||
field=models.CharField(choices=[('string', '字符串'), ('int', '整型'), ('float', '浮点'), ('boolean', '布尔'), ('date', '日期'), ('time', '时间'), ('datetime', '日期时间'), ('radio', '单选'), ('checkbox', '多选'), ('select', '单选下拉'), ('selects', '多选下拉'), ('textarea', '文本域'), ('draw', '绘图')], max_length=50, verbose_name='类型'),
|
||||
),
|
||||
]
|
||||
|
|
@ -131,6 +131,7 @@ class RecordFormField(CommonAModel):
|
|||
('select', '单选下拉'),
|
||||
('selects', '多选下拉'),
|
||||
('textarea', '文本域'),
|
||||
('draw', '绘图')
|
||||
)
|
||||
high_rule_choices = (
|
||||
(1, '小于'),
|
||||
|
|
@ -161,6 +162,8 @@ class RecordFormField(CommonAModel):
|
|||
is_hidden = models.BooleanField('是否隐藏', default=False)
|
||||
parent = models.ForeignKey('self', verbose_name='父', on_delete=models.CASCADE, null=True, blank=True)
|
||||
|
||||
draw_template = models.CharField('绘图模板', max_length=200, null=True, blank=True)
|
||||
|
||||
|
||||
class Meta:
|
||||
verbose_name = '记录表格字段'
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from rest_framework.serializers import ModelSerializer
|
|||
from apps.em.serializers import EquipmentSimpleSerializer
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, MaterialBatch, WareHouse
|
||||
from apps.inm.signals import update_inm
|
||||
from apps.mtm.models import Material, RecordForm, Step, SubprodctionMaterial
|
||||
from apps.mtm.models import Material, RecordForm, RecordFormField, Step, SubprodctionMaterial
|
||||
from apps.mtm.serializers import MaterialSimpleSerializer, RecordFormSimpleSerializer, StepSimpleSerializer
|
||||
|
||||
from apps.pm.models import SubProductionPlan, SubProductionProgress
|
||||
|
|
@ -239,19 +239,18 @@ class OperationRecordItemSerializer(serializers.ModelSerializer):
|
|||
model = OperationRecordItem
|
||||
fields = ['form_field', 'field_value']
|
||||
|
||||
class OperationRecordSerializer(serializers.ModelSerializer):
|
||||
record_data = OperationRecordItemSerializer(many=True)
|
||||
class Meta:
|
||||
model = OperationRecord
|
||||
fields = ['form', 'record_data']
|
||||
|
||||
|
||||
class OperationRecordSubmitSerializer(serializers.ModelSerializer):
|
||||
record_data = OperationRecordItemSerializer(many=True)
|
||||
class Meta:
|
||||
model = OperationRecord
|
||||
fields = ['record_data']
|
||||
|
||||
class OperationRecordSerializer(serializers.ModelSerializer):
|
||||
record_data = OperationRecordItemSerializer(many=True)
|
||||
class Meta:
|
||||
model = OperationRecord
|
||||
fields = ['form', 'record_data']
|
||||
|
||||
class OperationWproductListSerializer(serializers.ModelSerializer):
|
||||
material_ = MaterialSimpleSerializer(source='material', read_only=True)
|
||||
subproduction_plan_ = SubproductionPlanSimpleSerializer(source='subproduction_plan', read_only=True)
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ from rest_framework.views import APIView
|
|||
from rest_framework.viewsets import GenericViewSet, ModelViewSet
|
||||
from apps.inm.models import FIFO, FIFOItem, FIFOItemProduct, IProduct, WareHouse
|
||||
from apps.inm.signals import update_inm
|
||||
from apps.mtm.models import Material, RecordForm, Step, SubprodctionMaterial, TechDoc
|
||||
from apps.mtm.models import Material, RecordForm, RecordFormField, Step, SubprodctionMaterial, TechDoc
|
||||
from apps.mtm.serializers import RecordFormDetailSerializer, SubprodctionMaterialListSerializer, TechDocListSerializer
|
||||
from apps.pm.models import SubProductionPlan, SubProductionProgress
|
||||
from apps.pm.serializers import SubProductionPlanListSerializer, SubProductionPlanUpdateSerializer, SubProductionProgressSerializer
|
||||
|
|
@ -284,12 +284,19 @@ class OperationViewSet(ListModelMixin, RetrieveModelMixin, CreateModelMixin, Upd
|
|||
return OperationUpdateSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
return super().update(request, *args, **kwargs)
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
self.perform_destroy(instance)
|
||||
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||
|
||||
@transaction.atomic
|
||||
def create(self, request, *args, **kwargs):
|
||||
data = request.data
|
||||
|
|
@ -465,6 +472,13 @@ class OperationEquipViewSet(ListModelMixin, DestroyModelMixin, UpdateModelMixin,
|
|||
if self.action == 'update':
|
||||
return OperationEquipUpdateSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
return super().update(request, *args, **kwargs)
|
||||
|
||||
@transaction.atomic()
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
|
|
@ -500,7 +514,8 @@ class OperationRecordViewSet(ListModelMixin, DestroyModelMixin, GenericViewSet):
|
|||
opr = self.get_object()
|
||||
wrds = []
|
||||
for m in vdata['record_data']: # 保存记录详情
|
||||
form_field = m['form_field']
|
||||
form_field = RecordFormField.objects.get(pk=m['form_field'])
|
||||
m['form_field'] = form_field
|
||||
m['field_name'] = form_field.field_name
|
||||
m['field_key'] = form_field.field_key
|
||||
m['field_type'] = form_field.field_type
|
||||
|
|
@ -530,6 +545,20 @@ class OperationMaterialInputViewSet(ListModelMixin, CreateModelMixin, DestroyMod
|
|||
return OperationMaterialCreate1Serailizer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
@transaction.atomic()
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
instance.delete()
|
||||
return Response()
|
||||
|
||||
class OperationMaterialOutputViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, GenericViewSet):
|
||||
"""
|
||||
产出物料
|
||||
|
|
@ -546,6 +575,20 @@ class OperationMaterialOutputViewSet(ListModelMixin, CreateModelMixin, DestroyMo
|
|||
return OperationMaterialCreate2Serailizer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
@transaction.atomic()
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
instance.delete()
|
||||
return Response()
|
||||
|
||||
class OperationMaterialToolViewSet(ListModelMixin, CreateModelMixin, DestroyModelMixin, GenericViewSet):
|
||||
"""
|
||||
工具工装
|
||||
|
|
@ -562,6 +605,20 @@ class OperationMaterialToolViewSet(ListModelMixin, CreateModelMixin, DestroyMode
|
|||
return OperationMaterialCreate3Serializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
return super().create(request, *args, **kwargs)
|
||||
|
||||
@transaction.atomic()
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
if instance.operation.is_submited:
|
||||
raise exceptions.APIException('该操作已提交')
|
||||
instance.delete()
|
||||
return Response()
|
||||
|
||||
class DoFormInit(CreateAPIView, GenericAPIView):
|
||||
perms_map={'*':'*'}
|
||||
serializer_class=OperationInitSerializer
|
||||
|
|
|
|||
Loading…
Reference in New Issue