safesite/enp/models.py

245 lines
14 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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='所属公司')
class Facilities(CommonModel):
"""
生产设施信息表
"""
name = models.CharField('生产设施设备名称', max_length=100)
number = models.CharField('编码', max_length=100)
type = models.CharField('生产设施型号', max_length=100)
cs_name = models.CharField('设备参数名', max_length=100)
desig_nnumber = models.FloatField('设备设计值', max_length=100)
actual_number = models.FloatField('设备实际值',null=True, blank=True, max_length=100)
em_unit = models.CharField('设备单位', max_length=50)
ability = models.CharField('生产能力', max_length=200)
al_unit = models.CharField('生产能力单位', max_length=50)
start_time = models.DateTimeField('运行开始时间')
end_time = models.DateTimeField('运行结束时间')
pdc_Load = models.CharField('生产负荷', max_length=200)
zj_product = models.CharField('中间产品',null=True, blank=True, max_length=200)
zj_unit = models.CharField('中间产品单位',null=True, blank=True, max_length=50)
zz_product = models.CharField('最终产品', max_length=200)
zz_unit = models.CharField('最终产品单位', max_length=50)
material_name = models.CharField('原辅料名称', max_length=200)
material_type = models.CharField('原辅料种类', max_length=200)
material_unit = models.CharField('原辅料单位', max_length=50)
material_count = models.CharField('原辅料用量', max_length=200)
material_composition = models.CharField('有害有毒元素成分', max_length=50)
material_account = models.CharField('有害有毒元素占比', max_length=200)
material_address = models.CharField('原料来源地', max_length=50)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class Prevention(CommonModel):
"""
废气,废水防治设施
"""
type_choices = (
(1, '废水'),
(2, '废气')
)
name = models.CharField('防治设施名称', max_length=100)
number = models.CharField('编码', max_length=100)
type = models.CharField('防治设施型号', max_length=100)
preventiontype = models.IntegerField('防治类型', choices=type_choices, default=1, null=True, blank=True)
cs_name = models.CharField('参数名', max_length=100, null=True, blank=True)
desig_nnumber = models.FloatField('设计值', max_length=100, null=True, blank=True)
em_unit = models.CharField('单位', max_length=50, null=True, blank=True)
start_time = models.DateTimeField('运行开始时间', null=True, blank=True)
end_time = models.DateTimeField('运行结束时间', null=True, blank=True)
state = models.CharField('运行状态', max_length=100, null=True, blank=True)
pfyql = models.FloatField('排放烟气量m3/h', max_length=200, null=True, blank=True)
wryz = models.CharField('污染因子', max_length=100, null=True, blank=True)
zlxl = models.CharField('治理效率', max_length=200, null=True, blank=True)
sjly = models.CharField('数据来源', max_length=100, null=True, blank=True)
pqtgd = models.FloatField('排气筒高度m', max_length=200, null=True, blank=True)
pkwd = models.FloatField('排口温度℃', max_length=200, null=True, blank=True)
yl = models.FloatField('压力kPa', max_length=100, null=True, blank=True)
pfsj = models.FloatField('排放时间h', max_length=100, null=True, blank=True)
hdl = models.FloatField('耗电率kWh', max_length=100)
fcpname = models.CharField('副产品名称', max_length=100, null=True, blank=True)
fcwcl = models.FloatField('副产物产生量t', max_length=100, null=True, blank=True)
yjname = models.CharField('药剂名称', max_length=100, null=True, blank=True)
tjtime = models.DateTimeField('添加时间', null=True, blank=True)
tjl = models.FloatField('添加量', max_length=100, null=True, blank=True)
ckll = models.FloatField('出口流量', max_length=100, null=True, blank=True)
pqfx = models.CharField('排放去向', max_length=50, null=True, blank=True)
wncsl = models.CharField('污泥产生量', max_length=50, null=True, blank=True)
clfs = models.CharField('处理方式', max_length=100, null=True, blank=True)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class abnormal(CommonModel):
"""
防治设施异常情况信息表
"""
name = models.CharField('防治设施名称', max_length=100)
number = models.CharField('编码', max_length=100)
start_time = models.DateTimeField('异常情况起始时刻', null=True, blank=True)
end_time = models.DateTimeField('异常情况终止时刻', null=True, blank=True)
type = models.CharField('污染物种类', max_length=100, null=True, blank=True)
pfnd = models.CharField('排放浓度', max_length=100, null=True, blank=True)
pffx = models.CharField('排放方向', max_length=200, null=True, blank=True)
sjyy = models.CharField('事件原因', max_length=100, null=True, blank=True)
sfbg = models.CharField('是否报告', max_length=200, null=True, blank=True)
ydcs = models.CharField('应对措施', max_length=200, null=True, blank=True)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class Detection(CommonModel):
"""
废水污染物检测结果表
"""
number = models.CharField('排放口编号', max_length=100)
jcDate = models.DateTimeField('监测日期', null=True, blank=True)
jctime = models.DateTimeField('监测时间', null=True, blank=True)
ckhxxyl = models.FloatField('出口化学需氧量mg/L', max_length=200, null=True, blank=True)
ckshxll = models.FloatField('出口生化需氧量mg/L', max_length=200, null=True, blank=True)
ckad = models.FloatField('出口氨氮mg/L', max_length=200, null=True, blank=True)
ckxfw = models.FloatField('出口悬浮物mg/L', max_length=200, null=True, blank=True)
jkhxxyl = models.FloatField('进口化学需氧量mg/L', max_length=200, null=True, blank=True)
jkshxll = models.FloatField('进口生化需氧量mg/L', max_length=200, null=True, blank=True)
jkad = models.FloatField('进口氨氮mg/L', max_length=200, null=True, blank=True)
jkxfw = models.FloatField('进口悬浮物mg/L', max_length=200, null=True, blank=True)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class Fuel(CommonModel):
"""
燃料信息表
"""
name = models.CharField('燃料名称', max_length=100)
count = models.FloatField('用量', max_length=100, null=True, blank=True)
dwcount = models.FloatField('低位热值', max_length=100, null=True, blank=True)
unit = models.CharField('单位', max_length=200, null=True, blank=True)
rmhll = models.FloatField('燃煤含硫量(%', max_length=200, null=True, blank=True)
rmhff = models.FloatField('燃煤挥发分(%', max_length=200, null=True, blank=True)
rmqt = models.CharField('燃煤其他', max_length=100, null=True, blank=True)
ryhll = models.FloatField('燃油含硫量(%', max_length=200, null=True, blank=True)
ryqt = models.CharField('燃油其他', max_length=100, null=True, blank=True)
rqlhqhl = models.FloatField('燃气硫化氢含量(%', max_length=200, null=True, blank=True)
rqqt = models.CharField('燃气其他', max_length=100, null=True, blank=True)
qtrlxgwzhl = models.CharField('其他燃料相关物质含量', max_length=400, null=True, blank=True)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')
class Waterequipment(CommonModel):
"""
废水监测仪器信息表
"""
number = models.CharField('排放口编号', max_length=100)
type = models.CharField('污染物种类', max_length=100, null=True, blank=True)
methods = models.CharField('监测采样方法及个数', max_length=300, null=True, blank=True)
count = models.IntegerField('监测次数', max_length=100, null=True, blank=True)
identification = models.CharField('鉴定方法', max_length=200, null=True, blank=True)
jcyqmodel = models.CharField('监测仪器型号', max_length=100, null=True, blank=True)
note = models.CharField('备注', max_length=500, null=True, blank=True)
usecomp = models.ForeignKey(Partment, on_delete=models.CASCADE, verbose_name='所属公司')