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='所属公司')