feat: 增加洗车记录
This commit is contained in:
parent
4c774399b4
commit
113a8c501f
|
@ -0,0 +1,34 @@
|
|||
# Generated by Django 3.2.12 on 2024-02-05 02:56
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('em', '0011_auto_20240119_1135'),
|
||||
('enp', '0004_vehicleaccess'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='CarWash',
|
||||
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='删除标记')),
|
||||
('vehicle_number', models.CharField(default='', max_length=10, verbose_name='车牌号')),
|
||||
('start_time', models.DateTimeField(blank=True, null=True, verbose_name='洗车时间')),
|
||||
('end_time', models.DateTimeField(blank=True, null=True, verbose_name='洗车完成时间')),
|
||||
('pressure', models.DecimalField(blank=True, decimal_places=4, max_digits=10, null=True, verbose_name='洗车压力(Mpa)')),
|
||||
('flux', models.DecimalField(blank=True, decimal_places=4, max_digits=10, null=True, verbose_name='洗车流量(L/min)')),
|
||||
('station', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='em.equipment', verbose_name='洗车台')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
),
|
||||
]
|
|
@ -125,3 +125,15 @@ class VehicleAccess(BaseModel):
|
|||
emission_standard = models.CharField(
|
||||
'排放标准', max_length=10, null=True, blank=True)
|
||||
door_name = models.CharField('门禁名称', max_length=10, null=True, blank=True)
|
||||
|
||||
|
||||
class CarWash(BaseModel):
|
||||
station = models.ForeignKey(
|
||||
Equipment, verbose_name='洗车台', on_delete=models.CASCADE)
|
||||
vehicle_number = models.CharField('车牌号', max_length=10, default='')
|
||||
start_time = models.DateTimeField('洗车时间', null=True, blank=True)
|
||||
end_time = models.DateTimeField('洗车完成时间', null=True, blank=True)
|
||||
pressure = models.DecimalField(
|
||||
'洗车压力(Mpa)', max_digits=10, decimal_places=4, null=True, blank=True)
|
||||
flux = models.DecimalField(
|
||||
'洗车流量(L/min)', max_digits=10, decimal_places=4, 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, VehicleAccess
|
||||
from .models import Drain, DrainEquip, EnvData, VehicleAccess, CarWash
|
||||
from apps.em.serializers import EquipmentSerializer
|
||||
from rest_framework import serializers
|
||||
from django.utils import timezone
|
||||
|
@ -79,3 +79,9 @@ class EnvDataExportSerializer(serializers.Serializer):
|
|||
time = serializers.DateTimeField(label='时间')
|
||||
type = serializers.ChoiceField(
|
||||
label='导出类型', choices=['hour', 'day', 'week', 'month', 'season', 'year'])
|
||||
|
||||
|
||||
class CarWashSerializer(CustomModelSerializer):
|
||||
class Meta:
|
||||
model = CarWash
|
||||
fields = "__all__"
|
||||
|
|
|
@ -8,3 +8,11 @@ from celery import shared_task
|
|||
@shared_task(base=CustomTask)
|
||||
def generate_envdata():
|
||||
pass
|
||||
|
||||
|
||||
@shared_task(base=CustomTask)
|
||||
def cal_envdata():
|
||||
"""
|
||||
计算监测达标率等值
|
||||
"""
|
||||
pass
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from django.urls import path, include
|
||||
from rest_framework.routers import DefaultRouter
|
||||
from .views import DrainViewSet, DrainEquipViewSet, VehicleAccessViewSet, EnvDataViewSet
|
||||
from .views import DrainViewSet, DrainEquipViewSet, VehicleAccessViewSet, EnvDataViewSet, CarWashViewSet
|
||||
|
||||
API_BASE_URL = 'api/enp/'
|
||||
HTML_BASE_URL = 'enp/'
|
||||
|
@ -11,6 +11,7 @@ router.register('drain_equip', DrainEquipViewSet, basename='drain_equip')
|
|||
router.register('vehicle_access', VehicleAccessViewSet,
|
||||
basename='vehicle_access')
|
||||
router.register('envdata', EnvDataViewSet, basename='envdata')
|
||||
router.register('carwash', CarWashViewSet, basename='carwash')
|
||||
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, VehicleAccessSerializer, EnvDataSerializer, EnvDataExportSerializer
|
||||
from .models import Drain, DrainEquip, VehicleAccess, EnvData
|
||||
from .serializers import DrainSerializer, DrainEquipSerializer, DrainEquipEnvSerializer, VehicleAccessSerializer, EnvDataSerializer, EnvDataExportSerializer, CarWashSerializer
|
||||
from .models import Drain, DrainEquip, VehicleAccess, EnvData, CarWash
|
||||
from rest_framework.decorators import action
|
||||
from apps.utils.sql import query_all_dict
|
||||
from drf_yasg.utils import swagger_auto_schema
|
||||
|
@ -87,3 +87,18 @@ class EnvDataViewSet(ListModelMixin, CustomGenericViewSet):
|
|||
导出Excel
|
||||
"""
|
||||
return Response()
|
||||
|
||||
|
||||
class CarWashViewSet(ListModelMixin, CustomGenericViewSet):
|
||||
"""
|
||||
list: 洗车记录
|
||||
|
||||
洗车记录
|
||||
"""
|
||||
perms_map = {'get': '*'}
|
||||
queryset = CarWash.objects.all()
|
||||
serializer_class = CarWashSerializer
|
||||
filterset_fields = {
|
||||
"station": ['exact'],
|
||||
"start_time": ['exact', 'gte', 'lte', 'year', 'month', 'day'],
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue