设备状态字段修改
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
|
||||
from django.db.models.query import QuerySet
|
||||
from apps.system.models import CommonAModel, CommonBModel, Organization, User, Dict, File
|
||||
#from apps.mtm.models import Process
|
||||
from utils.model import SoftModel, BaseModel
|
||||
from simple_history.models import HistoricalRecords
|
||||
|
||||
|
||||
|
||||
class Equipment(CommonBModel):
|
||||
class Equipment(CommonAModel):
|
||||
"""
|
||||
设备台账信息
|
||||
"""
|
||||
EQUIP_STATE_OK = 0
|
||||
EQUIP_STATE_LIMIT = 1
|
||||
EQUIP_STATE_FIX = 2
|
||||
EQUIP_STATE_DISABLE = 3
|
||||
EQUIP_STATE_OK = 10
|
||||
EQUIP_STATE_LIMIT = 20
|
||||
EQUIP_STATE_FIX = 30
|
||||
EQUIP_STATE_DISABLE = 40
|
||||
state_choices = (
|
||||
(EQUIP_STATE_OK, '完好'),
|
||||
(EQUIP_STATE_LIMIT, '限用'),
|
||||
|
@ -25,15 +24,6 @@ class Equipment(CommonBModel):
|
|||
(EQUIP_STATE_DISABLE, '禁用')
|
||||
|
||||
)
|
||||
statedm_choices = (
|
||||
(0, '合格'),
|
||||
(1, '准用'),
|
||||
(2, '限用'),
|
||||
(3, '禁用'),
|
||||
(4, '停用'),
|
||||
(5, '封存')
|
||||
)
|
||||
|
||||
type_choices = (
|
||||
(1, '生产设备'),
|
||||
(2, '检验工具')
|
||||
|
@ -65,14 +55,14 @@ class Equipment(CommonBModel):
|
|||
count = models.IntegerField('数量', default=0)
|
||||
keeper = models.ForeignKey(User, verbose_name='保管人', on_delete=models.CASCADE, null=True, blank=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)#监视,测量设备
|
||||
way = models.IntegerField('校准或检定方式', choices=way_choices, default=1)#监视,测量设备
|
||||
standard = models.CharField('溯源标准或依据', max_length=200, blank=True, null=True)#监视,测量设备
|
||||
cycle = models.IntegerField('校准或检定周期', default=0)#监视,测量设备
|
||||
usetype = models.IntegerField('使用类别', choices=usetype_choices, default=1)#监视,测量设备
|
||||
statedm = models.IntegerField('设备状态', choices=statedm_choices, default=0)#监视,测量设备
|
||||
# 以下是监视测量设备单独字段
|
||||
mgmtype = models.IntegerField('管理类别', choices=mgmtype_choices, default=1)
|
||||
way = models.IntegerField('校准或检定方式', choices=way_choices, default=1)
|
||||
standard = models.CharField('溯源标准或依据', max_length=200, blank=True, null=True)
|
||||
cycle = models.IntegerField('校准或检定周期', default=0)
|
||||
usetype = models.IntegerField('使用类别', choices=usetype_choices, default=1)
|
||||
|
||||
next_check_date = models.DateField('下次校准检查日期',blank=True, null=True)
|
||||
class Meta:
|
||||
verbose_name = '设备信息'
|
||||
verbose_name_plural = verbose_name
|
||||
|
@ -80,8 +70,10 @@ class Equipment(CommonBModel):
|
|||
def __str__(self):
|
||||
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)
|
||||
recentlydate = models.DateField('最近一次校准/检定日期',blank=True, null=True)
|
||||
nextdate = models.DateField('下次应校准或检定日期',blank=True, null=True)
|
||||
check_date = models.DateField('校准检查日期',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.serializers import ModelSerializer
|
||||
|
||||
from .models import Equipment,Equipmentrecord
|
||||
from .models import Equipment, ECheckRecord
|
||||
from apps.system.serializers import OrganizationSimpleSerializer, UserSimpleSerializer
|
||||
|
||||
|
||||
|
@ -34,7 +34,7 @@ class EquipmentSimpleSerializer(ModelSerializer):
|
|||
class EquipmentrecordSerializer(ModelSerializer):
|
||||
equipment_ = EquipmentSerializer(source='equipment', read_only=True)
|
||||
class Meta:
|
||||
model = Equipmentrecord
|
||||
model = ECheckRecord
|
||||
fields = '__all__'
|
||||
|
||||
@staticmethod
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
from django.db.models import base
|
||||
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 rest_framework.routers import DefaultRouter
|
||||
|
||||
router = DefaultRouter()
|
||||
router.register('equipment', EquipmentViewSet, basename='equipment')
|
||||
router.register('equipmentrecord', EquipmentrecordViewSet, basename='equipmentrecord')
|
||||
router.register('echeck_record', EChcekRecordViewSet, basename='echeck_record')
|
||||
urlpatterns = [
|
||||
path('daq/', DaqView.as_view()),
|
||||
path('', include(router.urls)),
|
||||
|
|
|
@ -5,7 +5,7 @@ from rest_framework.viewsets import ModelViewSet
|
|||
|
||||
from rest_framework import serializers, status
|
||||
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.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||
|
||||
|
@ -26,13 +26,13 @@ class EquipmentViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet)
|
|||
|
||||
|
||||
# Create your views here.
|
||||
class EquipmentrecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet):
|
||||
class EChcekRecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelViewSet):
|
||||
"""
|
||||
设备校准-增删改查
|
||||
"""
|
||||
perms_map = {'get': '*', 'post': 'equipmentrecord_create',
|
||||
'put': 'equipmentrecord_update', 'delete': 'equipmentrecord_delete'}
|
||||
queryset = Equipmentrecord.objects.all()
|
||||
queryset = ECheckRecord.objects.all()
|
||||
serializer_class = EquipmentrecordSerializer
|
||||
filterset_fields = ['equipment']
|
||||
ordering_fields = ['create_time']
|
||||
|
@ -49,6 +49,7 @@ class EquipmentrecordViewSet(CreateUpdateModelAMixin, OptimizationMixin, ModelVi
|
|||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
data = request.data
|
||||
if data.get('equipment', None):
|
||||
|
|
Loading…
Reference in New Issue