feat: 增加洗车记录

This commit is contained in:
caoqianming 2024-02-05 11:05:02 +08:00
parent 4c774399b4
commit 113a8c501f
6 changed files with 80 additions and 4 deletions

View File

@ -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,
},
),
]

View File

@ -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)

View File

@ -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__"

View File

@ -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

View File

@ -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)),
]

View File

@ -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'],
}