feat: enp增加车辆出入记录
This commit is contained in:
parent
9ff3ee2040
commit
22978de879
|
@ -0,0 +1,40 @@
|
|||
# Generated by Django 3.2.12 on 2024-01-29 08:36
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('enp', '0003_auto_20240119_1620'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='VehicleAccess',
|
||||
fields=[
|
||||
('id', models.CharField(editable=False, help_text='主键ID', max_length=20,
|
||||
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='删除标记')),
|
||||
('type', models.PositiveSmallIntegerField(
|
||||
default=1, help_text='1: 进厂, 2: 出厂', verbose_name='出入类型')),
|
||||
('vehicle_number', models.CharField(
|
||||
max_length=10, verbose_name='车牌号')),
|
||||
('acess_time', models.DateTimeField(
|
||||
blank=True, null=True, verbose_name='出入时间')),
|
||||
('emission_standard', models.CharField(blank=True,
|
||||
max_length=10, null=True, verbose_name='排放标准')),
|
||||
('door_name', models.CharField(blank=True,
|
||||
max_length=10, null=True, verbose_name='门禁名称')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
]
|
|
@ -115,3 +115,13 @@ class EnvData(models.Model):
|
|||
db_table = 'enp_envdata'
|
||||
managed = False
|
||||
unique_together = (('equipment', 'time'), )
|
||||
|
||||
|
||||
class VehicleAccess(BaseModel):
|
||||
type = models.PositiveSmallIntegerField(
|
||||
'出入类型', default=1, help_text='1: 进厂, 2: 出厂')
|
||||
vehicle_number = models.CharField('车牌号', max_length=10)
|
||||
acess_time = models.DateTimeField('出入时间', null=True, blank=True)
|
||||
emission_standard = models.CharField(
|
||||
'排放标准', max_length=10, null=True, blank=True)
|
||||
door_name = models.CharField('门禁名称', max_length=10, null=True, blank=True)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from apps.utils.serializers import CustomModelSerializer
|
||||
from apps.utils.constants import EXCLUDE_FIELDS_BASE, EXCLUDE_FIELDS_DEPT
|
||||
from .models import Drain, DrainEquip, EnvData
|
||||
from .models import Drain, DrainEquip, EnvData, VehicleAccess
|
||||
from apps.em.serializers import EquipmentSerializer
|
||||
from rest_framework import serializers
|
||||
from django.utils import timezone
|
||||
|
@ -60,3 +60,11 @@ class DrainEquipEnvSerializer(CustomModelSerializer):
|
|||
model = DrainEquip
|
||||
fields = ['equipment', 'equipment_type',
|
||||
'equipment_name', 'equipment_envdata']
|
||||
|
||||
|
||||
class VehicleAccessSerializer(CustomModelSerializer):
|
||||
"""Serializer for VehicleAccess model"""
|
||||
class Meta:
|
||||
model = VehicleAccess
|
||||
fields = "__all__"
|
||||
read_only_fields = EXCLUDE_FIELDS_BASE
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from .views import DrainViewSet, DrainEquipViewSet
|
||||
from .views import DrainViewSet, DrainEquipViewSet, VehicleAccessViewSet
|
||||
|
||||
API_BASE_URL = 'api/enp/'
|
||||
HTML_BASE_URL = 'enp/'
|
||||
|
@ -8,6 +8,8 @@ HTML_BASE_URL = 'enp/'
|
|||
router = DefaultRouter()
|
||||
router.register('drain', DrainViewSet, basename='drain')
|
||||
router.register('drain_equip', DrainEquipViewSet, basename='drain_equip')
|
||||
router.register('vehicle_access', VehicleAccessViewSet,
|
||||
basename='vehicle_access')
|
||||
urlpatterns = [
|
||||
path(API_BASE_URL, include(router.urls)),
|
||||
]
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from django.shortcuts import render
|
||||
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet, ListModelMixin
|
||||
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin
|
||||
from .serializers import DrainSerializer, DrainEquipSerializer, DrainEquipEnvSerializer
|
||||
from .models import Drain, DrainEquip
|
||||
from .serializers import DrainSerializer, DrainEquipSerializer, DrainEquipEnvSerializer, VehicleAccessSerializer
|
||||
from .models import Drain, DrainEquip, VehicleAccess
|
||||
from rest_framework.decorators import action
|
||||
from apps.utils.sql import query_all_dict
|
||||
from drf_yasg.utils import swagger_auto_schema
|
||||
|
@ -45,3 +45,19 @@ class DrainEquipViewSet(ListModelMixin, BulkCreateModelMixin, BulkDestroyModelMi
|
|||
])
|
||||
def list(self, request, *args, **kwargs):
|
||||
return super().list(request, *args, **kwargs)
|
||||
|
||||
|
||||
class VehicleAccessViewSet(ListModelMixin, CustomGenericViewSet):
|
||||
"""
|
||||
list: 车辆出入记录
|
||||
|
||||
车辆出入记录
|
||||
"""
|
||||
perms_map = {'get': '*'}
|
||||
queryset = VehicleAccess.objects.all()
|
||||
serializer_class = VehicleAccessSerializer
|
||||
filterset_fields = {
|
||||
"vehicle_number": ['icontains'],
|
||||
"emission_standard": ['exact', 'in'],
|
||||
"type": ['exact', 'in'],
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue