设备状态字段修改
This commit is contained in:
parent
d01ca7df0f
commit
8e8f231f72
|
@ -0,0 +1,63 @@
|
||||||
|
# Generated by Django 3.2.9 on 2022-01-20 01:56
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import django.utils.timezone
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
|
('em', '0010_alter_equipment_state'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='ECheckRecord',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||||
|
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||||
|
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||||
|
('check_date', models.DateField(blank=True, null=True, verbose_name='校准检查日期')),
|
||||||
|
('description', models.CharField(blank=True, max_length=200, null=True, verbose_name='描述')),
|
||||||
|
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='echeckrecord_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='equipment',
|
||||||
|
name='belong_dept',
|
||||||
|
),
|
||||||
|
migrations.RemoveField(
|
||||||
|
model_name='equipment',
|
||||||
|
name='statedm',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='equipment',
|
||||||
|
name='next_check_date',
|
||||||
|
field=models.DateField(blank=True, null=True, verbose_name='下次校准检查日期'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='equipment',
|
||||||
|
name='state',
|
||||||
|
field=models.PositiveIntegerField(choices=[(10, '完好'), (20, '限用'), (30, '在修'), (40, '禁用')], default=0, verbose_name='设备状态'),
|
||||||
|
),
|
||||||
|
migrations.DeleteModel(
|
||||||
|
name='Equipmentrecord',
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='echeckrecord',
|
||||||
|
name='equipment',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='em.equipment', verbose_name='校准检定设备'),
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='echeckrecord',
|
||||||
|
name='update_by',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='echeckrecord_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -4,20 +4,19 @@ from django.db.models.base import Model
|
||||||
import django.utils.timezone as timezone
|
import django.utils.timezone as timezone
|
||||||
from django.db.models.query import QuerySet
|
from django.db.models.query import QuerySet
|
||||||
from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File
|
from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File
|
||||||
#from apps.mtm.models import Process
|
|
||||||
from utils.model import SoftModel, BaseModel
|
from utils.model import SoftModel, BaseModel
|
||||||
from simple_history.models import HistoricalRecords
|
from simple_history.models import HistoricalRecords
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Equipment(CommonBModel):
|
class Equipment(CommonAModel):
|
||||||
"""
|
"""
|
||||||
设备台账信息
|
设备台账信息
|
||||||
"""
|
"""
|
||||||
EQUIP_STATE_OK = 0
|
EQUIP_STATE_OK = 10
|
||||||
EQUIP_STATE_LIMIT = 1
|
EQUIP_STATE_LIMIT = 20
|
||||||
EQUIP_STATE_FIX = 2
|
EQUIP_STATE_FIX = 30
|
||||||
EQUIP_STATE_DISABLE = 3
|
EQUIP_STATE_DISABLE = 40
|
||||||
state_choices = (
|
state_choices = (
|
||||||
(EQUIP_STATE_OK, '完好'),
|
(EQUIP_STATE_OK, '完好'),
|
||||||
(EQUIP_STATE_LIMIT, '限用'),
|
(EQUIP_STATE_LIMIT, '限用'),
|
||||||
|
@ -25,15 +24,6 @@ class Equipment(CommonBModel):
|
||||||
(EQUIP_STATE_DISABLE, '禁用')
|
(EQUIP_STATE_DISABLE, '禁用')
|
||||||
|
|
||||||
)
|
)
|
||||||
statedm_choices = (
|
|
||||||
(0, '合格'),
|
|
||||||
(1, '准用'),
|
|
||||||
(2, '限用'),
|
|
||||||
(3, '禁用'),
|
|
||||||
(4, '停用'),
|
|
||||||
(5, '封存')
|
|
||||||
)
|
|
||||||
|
|
||||||
type_choices = (
|
type_choices = (
|
||||||
(1, '生产设备'),
|
(1, '生产设备'),
|
||||||
(2, '检验工具')
|
(2, '检验工具')
|
||||||
|
@ -65,14 +55,14 @@ class Equipment(CommonBModel):
|
||||||
count = models.IntegerField('数量', default=0)
|
count = models.IntegerField('数量', default=0)
|
||||||
keeper = models.ForeignKey(User, verbose_name='保管人', on_delete=models.CASCADE, null=True, blank=True)
|
keeper = models.ForeignKey(User, verbose_name='保管人', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
description = models.CharField('描述', max_length=200, blank=True, null=True)
|
description = models.CharField('描述', max_length=200, blank=True, null=True)
|
||||||
#process = models.ForeignKey(Process, verbose_name='工序', on_delete=models.CASCADE, null=True, blank=True)
|
# 以下是监视测量设备单独字段
|
||||||
mgmtype = models.IntegerField('管理类别', choices=mgmtype_choices, default=1)#监视,测量设备
|
mgmtype = models.IntegerField('管理类别', choices=mgmtype_choices, default=1)
|
||||||
way = models.IntegerField('校准或检定方式', choices=way_choices, default=1)#监视,测量设备
|
way = models.IntegerField('校准或检定方式', choices=way_choices, default=1)
|
||||||
standard = models.CharField('溯源标准或依据', max_length=200, blank=True, null=True)#监视,测量设备
|
standard = models.CharField('溯源标准或依据', max_length=200, blank=True, null=True)
|
||||||
cycle = models.IntegerField('校准或检定周期', default=0)#监视,测量设备
|
cycle = models.IntegerField('校准或检定周期', default=0)
|
||||||
usetype = models.IntegerField('使用类别', choices=usetype_choices, default=1)#监视,测量设备
|
usetype = models.IntegerField('使用类别', choices=usetype_choices, default=1)
|
||||||
statedm = models.IntegerField('设备状态', choices=statedm_choices, default=0)#监视,测量设备
|
|
||||||
|
|
||||||
|
next_check_date = models.DateField('下次校准检查日期',blank=True, null=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = '设备信息'
|
verbose_name = '设备信息'
|
||||||
verbose_name_plural = verbose_name
|
verbose_name_plural = verbose_name
|
||||||
|
@ -80,8 +70,10 @@ class Equipment(CommonBModel):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.number + '-' + self.name
|
return self.number + '-' + self.name
|
||||||
|
|
||||||
class Equipmentrecord(CommonBModel):
|
class ECheckRecord(CommonAModel):
|
||||||
|
"""
|
||||||
|
校准鉴定记录
|
||||||
|
"""
|
||||||
equipment = models.ForeignKey(Equipment, verbose_name='校准检定设备', on_delete=models.CASCADE, null=True, blank=True)
|
equipment = models.ForeignKey(Equipment, verbose_name='校准检定设备', on_delete=models.CASCADE, null=True, blank=True)
|
||||||
recentlydate = models.DateField('最近一次校准/检定日期',blank=True, null=True)
|
check_date = models.DateField('校准检查日期',blank=True, null=True)
|
||||||
nextdate = models.DateField('下次应校准或检定日期',blank=True, null=True)
|
|
||||||
description = models.CharField('描述', max_length=200, blank=True, null=True)
|
description = models.CharField('描述', max_length=200, blank=True, null=True)
|
|
@ -2,7 +2,7 @@ from apps.mtm.models import Step
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework.serializers import ModelSerializer
|
from rest_framework.serializers import ModelSerializer
|
||||||
|
|
||||||
from .models import Equipment,Equipmentrecord
|
from .models import Equipment, ECheckRecord
|
||||||
from apps.system.serializers import OrganizationSimpleSerializer, UserSimpleSerializer
|
from apps.system.serializers import OrganizationSimpleSerializer, UserSimpleSerializer
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ class EquipmentSimpleSerializer(ModelSerializer):
|
||||||
class EquipmentrecordSerializer(ModelSerializer):
|
class EquipmentrecordSerializer(ModelSerializer):
|
||||||
equipment_ = EquipmentSerializer(source='equipment', read_only=True)
|
equipment_ = EquipmentSerializer(source='equipment', read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Equipmentrecord
|
model = ECheckRecord
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
from django.db.models import base
|
from django.db.models import base
|
||||||
from rest_framework import urlpatterns
|
from rest_framework import urlpatterns
|
||||||
from apps.em.views import DaqView, EquipmentViewSet,EquipmentrecordViewSet
|
from apps.em.views import DaqView, EquipmentViewSet, EChcekRecordViewSet
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework.routers import DefaultRouter
|
from rest_framework.routers import DefaultRouter
|
||||||
|
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
router.register('equipment', EquipmentViewSet, basename='equipment')
|
router.register('equipment', EquipmentViewSet, basename='equipment')
|
||||||
router.register('equipmentrecord', EquipmentrecordViewSet, basename='equipmentrecord')
|
router.register('echeck_record', EChcekRecordViewSet, basename='echeck_record')
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('daq/', DaqView.as_view()),
|
path('daq/', DaqView.as_view()),
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
|
|
@ -5,7 +5,7 @@ from rest_framework.viewsets import ModelViewSet
|
||||||
|
|
||||||
from rest_framework import serializers, status
|
from rest_framework import serializers, status
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from apps.em.models import Equipment,Equipmentrecord
|
from apps.em.models import Equipment, ECheckRecord
|
||||||
from apps.em.serializers import DaqCreateSerializer, EquipmentSerializer,EquipmentrecordSerializer
|
from apps.em.serializers import DaqCreateSerializer, EquipmentSerializer,EquipmentrecordSerializer
|
||||||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||||
|
|
||||||
|
@ -26,13 +26,13 @@ class EquipmentViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet)
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
class EquipmentrecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet):
|
class EChcekRecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet):
|
||||||
"""
|
"""
|
||||||
设备校准-增删改查
|
设备校准-增删改查
|
||||||
"""
|
"""
|
||||||
perms_map = {'get': '*', 'post': 'equipmentrecord_create',
|
perms_map = {'get': '*', 'post': 'equipmentrecord_create',
|
||||||
'put': 'equipmentrecord_update', 'delete': 'equipmentrecord_delete'}
|
'put': 'equipmentrecord_update', 'delete': 'equipmentrecord_delete'}
|
||||||
queryset = Equipmentrecord.objects.all()
|
queryset = ECheckRecord.objects.all()
|
||||||
serializer_class = EquipmentrecordSerializer
|
serializer_class = EquipmentrecordSerializer
|
||||||
filterset_fields = ['equipment']
|
filterset_fields = ['equipment']
|
||||||
ordering_fields = ['create_time']
|
ordering_fields = ['create_time']
|
||||||
|
@ -49,6 +49,7 @@ class EquipmentrecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelVi
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
serializer.save()
|
serializer.save()
|
||||||
return Response(status=status.HTTP_200_OK)
|
return Response(status=status.HTTP_200_OK)
|
||||||
|
|
||||||
def update(self, request, *args, **kwargs):
|
def update(self, request, *args, **kwargs):
|
||||||
data = request.data
|
data = request.data
|
||||||
if data.get('equipment', None):
|
if data.get('equipment', None):
|
||||||
|
|
Loading…
Reference in New Issue