safesite/enp/models.py

119 lines
5.2 KiB
Python

from django.db import models
from safesite.models import User, Partment
from utils.models import CommonModel
# Create your models here.
class Waste(CommonModel):
type_choices = (
(1, '一般工业固废'),
(2, '危废')
)
number = models.CharField('编号', max_length=100)
name = models.CharField('名称', max_length=100)
type = models.IntegerField('废物类型', choices=type_choices, default=1)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class NormalWasteRecord(CommonModel):
"""
一般废物排放记录
"""
gen_date = models.DateField('产生日期')
dis_date = models.DateField('处置日期')
gen_count = models.FloatField('产生数量')
dis_count = models.FloatField('委托处置量')
inv_count = models.FloatField('库存量')
waste = models.ForeignKey(Waste, on_delete=models.CASCADE, verbose_name='关联废物')
operator = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name='经办人')
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class DWasteMakeList(CommonModel):
"""
危废产生一览表
"""
waste = models.ForeignKey(Waste, on_delete=models.CASCADE, verbose_name='关联废物')
process = models.CharField('产生工序', max_length=100)
source = models.CharField('源/车间', max_length=100)
goto = models.CharField('废物流向', max_length=100)
companyname = models.CharField('处理企业名称', max_length=100)
gen_count = models.FloatField('年度产生量(吨)')
license = models.CharField('许可证编号', max_length=100)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class DWasteMakeRecord(CommonModel):
"""
危废产生环节记录
"""
waste = models.ForeignKey(Waste, on_delete=models.CASCADE, verbose_name='关联废物')
gen_time = models.DateTimeField('产生时间')
gen_count = models.FloatField('产生数量')
container = models.CharField('容器情况', max_length=100)
container_count = models.IntegerField('容器个数')
trans_time = models.DateTimeField('转移时间')
trans_count = models.IntegerField('转移个数')
goto = models.CharField('去向', max_length=100)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class DWasteKeepRecord(CommonModel):
"""
危废贮存环节记录
"""
waste = models.ForeignKey(Waste, on_delete=models.CASCADE, verbose_name='关联废物')
in_time = models.DateTimeField('入库时间')
in_count = models.FloatField('入库数量')
source = models.CharField('废物来源', max_length=100)
container = models.CharField('容器规格', max_length=100)
container_count = models.IntegerField('容器个数')
place = models.CharField('存放位置', max_length=50)
out_time = models.DateTimeField('出库时间')
out_count = models.IntegerField('出库数量')
goto = models.CharField('去向', max_length=100)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class DWasteHandleRecord(CommonModel):
"""
危废处置环节记录
"""
waste = models.ForeignKey(Waste, on_delete=models.CASCADE, verbose_name='关联废物')
accept_time = models.DateTimeField('接收时间')
accept_count = models.FloatField('接收数量')
source = models.CharField('废物来源', max_length=100)
container = models.CharField('容器规格', max_length=100)
container_count = models.IntegerField('容器个数')
handle_time = models.DateTimeField('处置时间')
handle_method = models.CharField('处置方式', max_length=100)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class Drain(CommonModel):
"""
排放口
"""
number = models.CharField('编号', max_length=100)
name = models.CharField('名称', max_length=100)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class GasEmit(CommonModel):
"""
废气排放记录
"""
drain = models.ForeignKey(Drain, verbose_name='关联排放口', on_delete=models.CASCADE)
watch_time = models.DateTimeField('监测时间')
out_smoke = models.FloatField('标态干烟气量')
out_o2 = models.FloatField("氧含量")
out_so2 = models.FloatField("二氧化硫")
out_so2_s = models.FloatField("二氧化硫s")
out_particle = models.FloatField("颗粒物")
out_particle_s = models.FloatField("颗粒物s")
out_nox = models.FloatField("氮氧化物")
out_nox_s = models.FloatField("氮氧化物s")
in_smoke = models.FloatField('标态干烟气量')
in_o2 = models.FloatField("氧含量")
in_so2 = models.FloatField("二氧化硫")
in_so2_s = models.FloatField("二氧化硫s")
in_particle = models.FloatField("颗粒物")
in_particle_s = models.FloatField("颗粒物s")
in_nox = models.FloatField("氮氧化物")
in_nox_s = models.FloatField("氮氧化物s")
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')