245 lines
14 KiB
Python
245 lines
14 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='所属公司')
|
||
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='所属公司')
|