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(
|
emission_standard = models.CharField(
|
||||||
'排放标准', max_length=10, null=True, blank=True)
|
'排放标准', max_length=10, null=True, blank=True)
|
||||||
door_name = 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.serializers import CustomModelSerializer
|
||||||
from apps.utils.constants import EXCLUDE_FIELDS_BASE, EXCLUDE_FIELDS_DEPT
|
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 apps.em.serializers import EquipmentSerializer
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
@ -79,3 +79,9 @@ class EnvDataExportSerializer(serializers.Serializer):
|
||||||
time = serializers.DateTimeField(label='时间')
|
time = serializers.DateTimeField(label='时间')
|
||||||
type = serializers.ChoiceField(
|
type = serializers.ChoiceField(
|
||||||
label='导出类型', choices=['hour', 'day', 'week', 'month', 'season', 'year'])
|
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)
|
@shared_task(base=CustomTask)
|
||||||
def generate_envdata():
|
def generate_envdata():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@shared_task(base=CustomTask)
|
||||||
|
def cal_envdata():
|
||||||
|
"""
|
||||||
|
计算监测达标率等值
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework.routers import DefaultRouter
|
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/'
|
API_BASE_URL = 'api/enp/'
|
||||||
HTML_BASE_URL = 'enp/'
|
HTML_BASE_URL = 'enp/'
|
||||||
|
@ -11,6 +11,7 @@ router.register('drain_equip', DrainEquipViewSet, basename='drain_equip')
|
||||||
router.register('vehicle_access', VehicleAccessViewSet,
|
router.register('vehicle_access', VehicleAccessViewSet,
|
||||||
basename='vehicle_access')
|
basename='vehicle_access')
|
||||||
router.register('envdata', EnvDataViewSet, basename='envdata')
|
router.register('envdata', EnvDataViewSet, basename='envdata')
|
||||||
|
router.register('carwash', CarWashViewSet, basename='carwash')
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path(API_BASE_URL, include(router.urls)),
|
path(API_BASE_URL, include(router.urls)),
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet, ListModelMixin
|
from apps.utils.viewsets import CustomModelViewSet, CustomGenericViewSet, ListModelMixin
|
||||||
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin
|
from apps.utils.mixins import BulkCreateModelMixin, BulkDestroyModelMixin
|
||||||
from .serializers import DrainSerializer, DrainEquipSerializer, DrainEquipEnvSerializer, VehicleAccessSerializer, EnvDataSerializer, EnvDataExportSerializer
|
from .serializers import DrainSerializer, DrainEquipSerializer, DrainEquipEnvSerializer, VehicleAccessSerializer, EnvDataSerializer, EnvDataExportSerializer, CarWashSerializer
|
||||||
from .models import Drain, DrainEquip, VehicleAccess, EnvData
|
from .models import Drain, DrainEquip, VehicleAccess, EnvData, CarWash
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from apps.utils.sql import query_all_dict
|
from apps.utils.sql import query_all_dict
|
||||||
from drf_yasg.utils import swagger_auto_schema
|
from drf_yasg.utils import swagger_auto_schema
|
||||||
|
@ -87,3 +87,18 @@ class EnvDataViewSet(ListModelMixin, CustomGenericViewSet):
|
||||||
导出Excel
|
导出Excel
|
||||||
"""
|
"""
|
||||||
return Response()
|
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