--修改“系统/系统口令”模块名称
if exists(select * from [系统_功能] where ID=13)
update 系统_功能 set 功能名称='修改密码' where ID=13
go
--修改“工业污染源/自动设备比对监测数据”模块名称
if exists(select * from [系统_功能] where ID=49)
update 系统_功能 set 功能名称='工业污染源/自动监测设备比对数据' where ID=49
go
--修改“污水处理厂/自动设备比对监测数据”模块名称
if exists(select * from [系统_功能] where ID=50)
update 系统_功能 set 功能名称='污水处理厂/自动监测设备比对数据' where ID=50
go
--删除原有“数据查询”功能模块
delete from 系统_功能 where 功能大类编码=5
--新增“查询统计”功能模块
insert into 系统_功能 values (71,'50101','数据查询/数据查询',5,'查询统计',null)
insert into 系统_功能 values (72,'50102','数据查询/监测情况查询',5,'查询统计',null)
insert into 系统_功能 values (73,'50201','数据统计/报送情况统计',5,'查询统计',null)
insert into 系统_功能 values (74,'50202','数据统计/监测情况统计',5,'查询统计',null)
insert into 系统_功能 values (75,'50203','数据统计/录入情况统计',5,'查询统计',null)
insert into 系统_功能 values (76,'50204','数据统计/排放量统计',5,'查询统计',null)
insert into 系统_功能 values (77,'50205','数据统计/企业排放量统计',5,'查询统计',null)
insert into 系统_功能 values (78,'50206','数据统计/统计图',5,'查询统计',null)
INSERT INTO [系统_功能]([ID],[功能编码],[功能名称],[功能大类编码],[功能大类名称],[描述])
     VALUES(83,'503','数据报表','5','查询统计',null)
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=71)
insert into 系统_角色功能关系 values(1,71)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=72)
insert into 系统_角色功能关系 values(1,72)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=73)
insert into 系统_角色功能关系 values(1,73)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=74)
insert into 系统_角色功能关系 values(1,74)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=75)
insert into 系统_角色功能关系 values(1,75)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=76)
insert into 系统_角色功能关系 values(1,76)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=77)
insert into 系统_角色功能关系 values(1,77)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=78)
insert into 系统_角色功能关系 values(1,78)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=83)
insert into 系统_角色功能关系 values(1,83)
go
----删除原有“达标评价”功能模块
delete from 系统_功能 where 功能大类编码=7
--新增“达标评价”功能模块
insert into 系统_功能 values (54,'701','达标评价',7,'达标评价',null)
insert into 系统_功能 values (57,'702','达标趋势分析',7,'达标评价',null)
insert into 系统_功能 values (64,'703','在线比对评价',7,'达标评价',null)
insert into 系统_功能 values (65,'704','抽测数据评价',7,'达标评价',null)
Insert into dbo.系统_功能 values (55,'705','达标率计算','7','达标评价',null)

if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=54)
insert into 系统_角色功能关系 values(1,54)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=57)
insert into 系统_角色功能关系 values(1,57)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=64)
insert into 系统_角色功能关系 values(1,64)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=65)
insert into 系统_角色功能关系 values(1,65)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=55)
insert into 系统_角色功能关系 values(1,55)
go
--新增“抽测数据”功能模块
if not exists(select * from 系统_功能 where id=79)
insert into 系统_功能 values (79,'20401','抽测数据/实验室质控样',2,'污染源',null)
go
if not exists(select * from 系统_功能 where id=80)
insert into 系统_功能 values (80,'20402','抽测数据/废气企业',2,'污染源',null)
go
if not exists(select * from 系统_功能 where id=81)
insert into 系统_功能 values (81,'20403','抽测数据/废水企业',2,'污染源',null)
go
if not exists(select * from 系统_功能 where id=82)
insert into 系统_功能 values (82,'20404','抽测数据/污水处理厂',2,'污染源',null)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=79)
insert into 系统_角色功能关系 values(1,79)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=80)
insert into 系统_角色功能关系 values(1,80)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=81)
insert into 系统_角色功能关系 values(1,81)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=82)
insert into 系统_角色功能关系 values(1,82)
go
----删除原有“字典表”功能模块
delete from 系统_功能 where 功能大类编码=6
--新增“字典表”功能模块
insert into 系统_功能 values (44,'601','排放标准库',6,'字典表',null)
insert into 系统_功能 values (45,'602','系统代码库',6,'字典表',null)
insert into 系统_功能 values (46,'603','专题区域',6,'字典表',null)
insert into 系统_功能 values (47,'604','污染源名录库',6,'字典表',null)
insert into 系统_功能 values (84,'605','污水处理厂名录库',6,'字典表',null)
insert into 系统_功能 values (85,'606','固废处理厂名录库',6,'字典表',null)
insert into 系统_功能 values (86,'607','监测产品',6,'字典表',null)
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=44)
insert into 系统_角色功能关系 values(1,44)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=45)
insert into 系统_角色功能关系 values(1,45)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=46)
insert into 系统_角色功能关系 values(1,46)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=47)
insert into 系统_角色功能关系 values(1,47)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=84)
insert into 系统_角色功能关系 values(1,84)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=85)
insert into 系统_角色功能关系 values(1,85)
go
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=86)
insert into 系统_角色功能关系 values(1,86)
go
--新增字典数据“专题区域”
if not exists(select * from 系统_代码类型 where 类型编码=33)
insert into 系统_代码类型 select 33,'专题区域',0 
go

--表“业务_污水处理厂污染物信息”添加字段“是否安装在线监测设备”
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂污染物信息') and name='是否安装在线监测设备')
begin
	alter table 业务_污水处理厂污染物信息 add 是否安装在线监测设备 bit null
end 
go

--表：系统_专题区域代码
if not exists (select 1
            from  sysobjects
           where  id = object_id('系统_专题区域代码')
            and   type = 'U')
begin
	/*==============================================================*/
	/* Table: 系统_专题区域代码                                     */
	/*==============================================================*/
	create table 系统_专题区域代码 (
	   ID                   int                  identity,
	   区域类型编码               nvarchar(50)         null,
	   行政区编码                nvarchar(50)         null,
	   行政区名称                nvarchar(50)         null,
	   描述                   nvarchar(200)        null,
	   constraint PK_系统_专题区域代码 primary key (ID)
	)
end
go
--表：业务_企业未监测原因
if not exists (select 1
            from  sysobjects
           where  id = object_id('业务_企业未监测原因')
            and   type = 'U')
begin
	/*==============================================================*/
	/* Table: 业务_企业未监测原因                                            */
	/*==============================================================*/
	create table 业务_企业未监测原因 (
	   监测年                  numeric(4,0)         not null,
	   企业代码                 varchar(50)          not null,
	   企业类型				  char(1)				not null,
	   季度                   numeric(4,0)         not null,
	   未监测原因                varchar(50)          null,
	   constraint PK_业务_企业未监测原因 primary key (监测年,企业代码,企业类型,季度)
	)
end  
go
--表：业务_排口未监测原因
if not exists (select 1
            from  sysobjects
           where  id = object_id('业务_排口未监测原因')
            and   type = 'U')
begin
	/*==============================================================*/
	/* Table: 业务_排口未监测原因                                   */
	/*==============================================================*/
	create table 业务_排口未监测原因 (
	   监测年                  numeric(4,0)         not null,
	   企业代码                 varchar(50)          not null,
	   企业类型				  char(1)				not null,
	   季度                   numeric(4,0)         not null,
	   监测点代码                varchar(50)          not null,
	   未监测原因                varchar(50)          null,
	   constraint PK_业务_排口未监测原因 primary key (监测年,企业代码,企业类型,季度,监测点代码)
	)
end
go
--表：业务_监测项目未监测原因
if not exists (select 1
            from  sysobjects
           where  id = object_id('业务_监测项目未监测原因')
            and   type = 'U')
begin
	/*==============================================================*/
	/* Table: 业务_监测项目未监测原因                               */
	/*==============================================================*/
	create table 业务_监测项目未监测原因 (
	   监测年                  numeric(4,0)         not null,
	   企业代码                 varchar(50)          not null,
	   企业类型				  char(1)				not null,
	   季度                   numeric(4,0)         not null,
	   监测点代码                varchar(50)          not null,
	   监测项目编号               varchar(50)          not null,
	   未监测原因                varchar(50)          null,
	   constraint PK_业务_监测项目未监测原因 primary key (监测年, 企业代码,企业类型, 季度, 监测点代码, 监测项目编号)
	)
end
go


--业务_污水处理厂信息和业务_固废处理厂信息
if not exists(select * from syscolumns where id=object_id('业务_污水处理厂信息') and name='控制级别代码')
begin
	alter table dbo.业务_污水处理厂信息
	add 控制级别代码 char(1)
end
go
if not exists(select * from syscolumns where id=object_id('业务_固废处理厂信息') and name='控制级别代码')
begin
	alter table dbo.业务_固废处理厂信息
	add 控制级别代码 char(1)
end
go

--删除主键约束
if  exists ( SELECT *
                from sysobjects
                where   name ='PK_业务_污染源名录库_总站')
begin
	alter table 业务_污染源名录库_总站 drop constraint PK_业务_污染源名录库_总站
end
go

--重新创建联合主键
alter table 业务_污染源名录库_总站 add constraint PK_业务_污染源名录库_总站 primary key (年度,企业代码,企业类型)
go


--添加数据：系统_数据处理
if not exists(select * from 系统_数据处理 where 表名称='无组织废气基本模板')
insert into 系统_数据处理 values('无组织废气基本模板')
go

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废气统计]'))
DROP VIEW [dbo].[V_废气统计]
GO
--录入情况废气统计
--企业类型: 1:污染源,2:污水处理厂,3:固废处理厂
create view [dbo].[V_废气统计]
as
select dbo.业务_废气监测数据.企业代码,dbo.业务_废气监测数据.企业类型, dbo.业务_废气监测数据.监测年, dbo.业务_废气监测数据.季度, dbo.业务_污染源名录库_总站.行政区代码, 
      dbo.业务_污染源名录库_总站.污染源控制级别代码,dbo.业务_污染源名录库_总站.污染源控制级别代码气
from dbo.业务_废气监测数据 inner join dbo.业务_污染源名录库_总站 
      on dbo.业务_废气监测数据.企业代码 = dbo.业务_污染源名录库_总站.企业代码 
      and dbo.业务_废气监测数据.监测年 = dbo.业务_污染源名录库_总站.年度 
      and dbo.业务_废气监测数据.企业类型 = dbo.业务_污染源名录库_总站.企业类型
      and dbo.业务_废气监测数据.污染物浓度 is not null
      and dbo.业务_污染源名录库_总站.企业类型=1
go

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废水统计]'))
DROP VIEW [dbo].[V_废水统计]
GO
--录入情况废水统计
--企业类型: 1:污染源,2:污水处理厂,3:固废处理厂
create view [dbo].[V_废水统计]
as
select dbo.业务_废水监测数据.企业代码,dbo.业务_废水监测数据.企业类型,dbo.业务_废水监测数据.监测年, dbo.业务_废水监测数据.季度, dbo.业务_污染源名录库_总站.行政区代码, 
       dbo.业务_污染源名录库_总站.污染源控制级别代码,dbo.业务_污染源名录库_总站.污染源控制级别代码气
from dbo.业务_废水监测数据 inner join
     dbo.业务_污染源名录库_总站 
     on dbo.业务_废水监测数据.企业代码 = dbo.业务_污染源名录库_总站.企业代码 
     and dbo.业务_废水监测数据.监测年 = dbo.业务_污染源名录库_总站.年度
     and dbo.业务_废水监测数据.企业类型 = dbo.业务_污染源名录库_总站.企业类型
     and dbo.业务_废水监测数据.污染物浓度 is not null
     and dbo.业务_污染源名录库_总站.企业类型=1
go

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_固废处理厂统计]'))
DROP VIEW [dbo].[V_固废处理厂统计]
GO
--录入情况固废处理厂统计
--企业类型: 1:污染源,2:污水处理厂,3:固废处理厂
create view [dbo].[V_固废处理厂统计]
as
select a.企业代码,a.监测年,a.季度,b.行政区代码 from 
(
	select distinct 企业代码,监测年,季度 from 业务_废水监测数据 where 污染物浓度 is not null
	union
	select distinct 企业代码,监测年,季度 from 业务_废气监测数据 where 污染物浓度 is not null
) as a
inner join 业务_污染源名录库_总站 as b
on a.企业代码=b.企业代码 and a.监测年=b.年度 and b.企业类型=3
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_污水处理厂统计]'))
DROP VIEW [dbo].[V_污水处理厂统计]
GO
--录入情况污水处理厂统计
--企业类型: 1:污染源,2:污水处理厂,3:固废处理厂
create view [dbo].[V_污水处理厂统计]
as
select 业务_污水处理厂监测数据.企业代码,业务_污水处理厂监测数据.监测年,业务_污水处理厂监测数据.季度,
	   dbo.业务_污染源名录库_总站.行政区代码
from dbo.业务_污水处理厂监测数据 
	 inner join 业务_污染源名录库_总站
	 on dbo.业务_污水处理厂监测数据.企业代码 = dbo.业务_污染源名录库_总站.企业代码 
     and dbo.业务_污水处理厂监测数据.监测年 = dbo.业务_污染源名录库_总站.年度
     and dbo.业务_污水处理厂监测数据.出口污染物浓度 is not null
	 and dbo.业务_污染源名录库_总站.企业类型=2
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废气排放量计算]'))
DROP VIEW [dbo].[V_废气排放量计算]
GO
CREATE VIEW [dbo].[V_废气排放量计算]
AS
SELECT dbo.业务_废气监测数据.企业代码, dbo.业务_废气监测数据.监测点代码, dbo.业务_废气监测数据.监测年, dbo.业务_废气监测点信息.监测点名称, 
      dbo.业务_废气监测点信息.排污设备代码, dbo.业务_废气监测数据.污染物排放量, dbo.业务_企业季生产情况.平均工况负荷, 
      dbo.业务_废气监测数据.季度, dbo.业务_废气监测数据.次数, dbo.业务_废气监测数据.工况负荷, dbo.业务_企业基本信息.行业代码, 
      dbo.业务_企业基本信息.行政区代码, dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业基本信息.详细名称, 
      dbo.业务_企业季生产情况.生产总小时数, dbo.业务_废气监测数据.废气排放量, dbo.业务_废气监测数据.监测项目编号, 
      dbo.业务_企业废气排放设备.排污设备名称, dbo.业务_企业基本信息.污染源控制级别代码气, 
      dbo.业务_废气监测数据.污染物实测浓度 as 污染物浓度
FROM dbo.业务_企业基本信息 INNER JOIN dbo.业务_废气监测点信息
	 ON dbo.业务_企业基本信息.企业代码 = dbo.业务_废气监测点信息.企业代码
     AND dbo.业务_企业基本信息.监测年 = dbo.业务_废气监测点信息.监测年
     AND dbo.业务_废气监测点信息.企业类型=1
     INNER JOIN dbo.业务_废气监测数据
     ON dbo.业务_废气监测数据.企业代码 = dbo.业务_废气监测点信息.企业代码 
     AND dbo.业务_废气监测数据.监测点代码 = dbo.业务_废气监测点信息.监测点代码 
     AND dbo.业务_废气监测数据.监测年 = dbo.业务_废气监测点信息.监测年 
     AND dbo.业务_废气监测数据.企业类型 = dbo.业务_废气监测点信息.企业类型
     INNER JOIN dbo.业务_企业季生产情况
     ON dbo.业务_企业季生产情况.企业代码 = dbo.业务_废气监测数据.企业代码
     AND dbo.业务_企业季生产情况.年 = dbo.业务_废气监测数据.监测年
     AND dbo.业务_企业季生产情况.季 = dbo.业务_废气监测数据.季度
     AND dbo.业务_企业季生产情况.废气设备 = dbo.业务_废气监测点信息.排污设备代码
     INNER JOIN dbo.业务_企业废气排放设备
     ON dbo.业务_废气监测点信息.监测年 = dbo.业务_企业废气排放设备.监测年 AND 
     dbo.业务_废气监测点信息.企业代码 = dbo.业务_企业废气排放设备.企业代码 AND 
     dbo.业务_废气监测点信息.企业类型 = dbo.业务_企业废气排放设备.企业类型 AND 
     dbo.业务_废气监测点信息.排污设备代码 = dbo.业务_企业废气排放设备.排污设备代码
WHERE 
	  dbo.业务_废气监测数据.工况负荷 > 0 AND dbo.业务_企业季生产情况.平均工况负荷 IS NOT NULL AND 
	  dbo.业务_废气监测数据.污染物实测浓度 IS NOT NULL AND dbo.业务_废气监测数据.废气排放量 IS NOT NULL AND 
	  dbo.业务_企业季生产情况.生产总小时数 IS NOT NULL
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废气排放量计算_名录库]'))
DROP VIEW [dbo].[V_废气排放量计算_名录库]
GO
--V_废气排放量计算_名录库
CREATE VIEW [dbo].[V_废气排放量计算_名录库]
AS
SELECT dbo.业务_废气监测数据.企业代码, dbo.业务_废气监测数据.监测点代码, dbo.业务_废气监测数据.监测年, dbo.业务_废气监测点信息.监测点名称, 
      dbo.业务_废气监测点信息.排污设备代码, dbo.业务_废气监测数据.污染物排放量, dbo.业务_企业季生产情况.平均工况负荷, 
      dbo.业务_废气监测数据.季度, dbo.业务_废气监测数据.次数, dbo.业务_废气监测数据.工况负荷, dbo.业务_企业基本信息.行业代码, 
      dbo.业务_企业基本信息.行政区代码, dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业基本信息.详细名称, 
      dbo.业务_企业季生产情况.生产总小时数, dbo.业务_废气监测数据.废气排放量, dbo.业务_废气监测数据.监测项目编号, 
      dbo.业务_企业废气排放设备.排污设备名称, dbo.业务_企业基本信息.污染源控制级别代码气, 
      dbo.业务_废气监测数据.污染物实测浓度 as 污染物浓度
FROM dbo.业务_企业基本信息 INNER JOIN dbo.业务_污染源名录库_总站 
	 ON dbo.业务_企业基本信息.监测年=dbo.业务_污染源名录库_总站.年度
	 AND dbo.业务_企业基本信息.企业代码=dbo.业务_污染源名录库_总站.企业代码
	 AND dbo.业务_污染源名录库_总站.企业类型=1
	 INNER JOIN dbo.业务_废气监测点信息
	 ON dbo.业务_污染源名录库_总站.企业代码 = dbo.业务_废气监测点信息.企业代码
     AND dbo.业务_污染源名录库_总站.年度 = dbo.业务_废气监测点信息.监测年
     AND dbo.业务_污染源名录库_总站.企业类型 = dbo.业务_废气监测点信息.企业类型
     AND dbo.业务_企业基本信息.污染源控制级别代码气=dbo.业务_污染源名录库_总站.污染源控制级别代码气
     INNER JOIN dbo.业务_废气监测数据
     ON dbo.业务_废气监测数据.企业代码 = dbo.业务_废气监测点信息.企业代码 
     AND dbo.业务_废气监测数据.监测点代码 = dbo.业务_废气监测点信息.监测点代码 
     AND dbo.业务_废气监测数据.监测年 = dbo.业务_废气监测点信息.监测年 
     AND dbo.业务_废气监测数据.企业类型 = dbo.业务_废气监测点信息.企业类型
     INNER JOIN dbo.业务_企业季生产情况
     ON dbo.业务_企业季生产情况.企业代码 = dbo.业务_废气监测数据.企业代码
     AND dbo.业务_企业季生产情况.年 = dbo.业务_废气监测数据.监测年
     AND dbo.业务_企业季生产情况.季 = dbo.业务_废气监测数据.季度
     AND dbo.业务_企业季生产情况.废气设备 = dbo.业务_废气监测点信息.排污设备代码
     INNER JOIN dbo.业务_企业废气排放设备
     ON dbo.业务_废气监测点信息.监测年 = dbo.业务_企业废气排放设备.监测年 AND 
     dbo.业务_废气监测点信息.企业代码 = dbo.业务_企业废气排放设备.企业代码 AND 
     dbo.业务_废气监测点信息.企业类型 = dbo.业务_企业废气排放设备.企业类型 AND 
     dbo.业务_废气监测点信息.排污设备代码 = dbo.业务_企业废气排放设备.排污设备代码
WHERE 
	  dbo.业务_废气监测数据.工况负荷 > 0 AND dbo.业务_企业季生产情况.平均工况负荷 IS NOT NULL AND 
	  dbo.业务_废气监测数据.污染物实测浓度 IS NOT NULL AND dbo.业务_废气监测数据.废气排放量 IS NOT NULL AND 
	  dbo.业务_企业季生产情况.生产总小时数 IS NOT NULL

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废水排放量计算]'))
DROP VIEW [dbo].[V_废水排放量计算]
GO
CREATE VIEW [dbo].[V_废水排放量计算]
AS
SELECT dbo.业务_废水监测数据.企业代码, dbo.业务_废水监测数据.监测点代码, dbo.业务_废水监测数据.监测年, dbo.业务_废水监测数据.监测项目编号, 
      dbo.业务_企业季生产情况_废水.平均工况负荷, dbo.业务_企业季生产情况_废水.季, dbo.业务_废水监测数据.季度, 
      dbo.业务_废水监测数据.污染物浓度, dbo.业务_废水监测数据.废水排放量, dbo.业务_废水监测数据.工况负荷, dbo.业务_企业基本信息.行业代码, 
      dbo.业务_废水排口信息.受纳水体代码, dbo.业务_企业基本信息.详细名称, dbo.业务_企业基本信息.行政区代码, 
      dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业季生产情况_废水.生产总天数, dbo.业务_废水监测数据.监测点名称, 
      dbo.业务_废水监测数据.次数, dbo.业务_企业基本信息.污染源控制级别代码气
FROM dbo.业务_废水监测数据 INNER JOIN dbo.业务_废水排口信息
	 ON dbo.业务_废水监测数据.监测年 = dbo.业务_废水排口信息.监测年
	 AND dbo.业务_废水监测数据.企业代码 = dbo.业务_废水排口信息.企业代码
	 AND dbo.业务_废水监测数据.监测点代码 = dbo.业务_废水排口信息.监测点代码
	 AND dbo.业务_废水监测数据.企业类型 = dbo.业务_废水排口信息.企业类型
	 AND dbo.业务_废水排口信息.企业类型 = 1
	 INNER JOIN dbo.业务_企业基本信息 
	 ON dbo.业务_企业基本信息.监测年=dbo.业务_废水排口信息.监测年
	 AND dbo.业务_企业基本信息.企业代码=dbo.业务_废水排口信息.企业代码
	 INNER JOIN dbo.业务_企业季生产情况_废水 
	 ON dbo.业务_废水监测数据.企业代码 = dbo.业务_企业季生产情况_废水.企业代码
	 AND dbo.业务_废水监测数据.监测年 = dbo.业务_企业季生产情况_废水.监测年
	 AND dbo.业务_废水监测数据.季度 = dbo.业务_企业季生产情况_废水.季
	 AND dbo.业务_废水监测数据.监测点代码 = dbo.业务_企业季生产情况_废水.废水排口
WHERE     (dbo.业务_废水监测数据.工况负荷 >0) AND (dbo.业务_企业季生产情况_废水.平均工况负荷 IS NOT NULL) AND 
      (dbo.业务_废水监测数据.污染物浓度 IS NOT NULL) AND (dbo.业务_废水监测数据.废水排放量 IS NOT NULL) AND 
      (dbo.业务_企业季生产情况_废水.生产总天数 IS NOT NULL)

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_废水排放量计算_名录库]'))
DROP VIEW [dbo].[V_废水排放量计算_名录库]
GO
--V_废水排放量计算_名录库
CREATE VIEW [dbo].[V_废水排放量计算_名录库]
AS
SELECT dbo.业务_废水监测数据.企业代码, dbo.业务_废水监测数据.监测点代码, dbo.业务_废水监测数据.监测年, dbo.业务_废水监测数据.监测项目编号, 
      dbo.业务_企业季生产情况_废水.平均工况负荷, dbo.业务_企业季生产情况_废水.季, dbo.业务_废水监测数据.季度, 
      dbo.业务_废水监测数据.污染物浓度, dbo.业务_废水监测数据.废水排放量, dbo.业务_废水监测数据.工况负荷, dbo.业务_企业基本信息.行业代码, 
      dbo.业务_废水排口信息.受纳水体代码, dbo.业务_企业基本信息.详细名称, dbo.业务_企业基本信息.行政区代码, 
      dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业季生产情况_废水.生产总天数, dbo.业务_废水监测数据.监测点名称, 
      dbo.业务_废水监测数据.次数, dbo.业务_企业基本信息.污染源控制级别代码气
FROM dbo.业务_废水监测数据 INNER JOIN dbo.业务_废水排口信息
	 ON dbo.业务_废水监测数据.监测年 = dbo.业务_废水排口信息.监测年
	 AND dbo.业务_废水监测数据.企业代码 = dbo.业务_废水排口信息.企业代码
	 AND dbo.业务_废水监测数据.监测点代码 = dbo.业务_废水排口信息.监测点代码
	 AND dbo.业务_废水监测数据.企业类型 = dbo.业务_废水排口信息.企业类型
	 INNER JOIN dbo.业务_污染源名录库_总站
	 ON dbo.业务_污染源名录库_总站.年度=dbo.业务_废水排口信息.监测年
	 AND dbo.业务_污染源名录库_总站.企业代码=dbo.业务_废水排口信息.企业代码
	 AND dbo.业务_污染源名录库_总站.企业类型 = dbo.业务_废水排口信息.企业类型
	 INNER JOIN dbo.业务_企业基本信息 
	 ON dbo.业务_企业基本信息.监测年=dbo.业务_污染源名录库_总站.年度
	 AND dbo.业务_企业基本信息.企业代码=dbo.业务_污染源名录库_总站.企业代码
	 AND dbo.业务_污染源名录库_总站.企业类型=1
	 INNER JOIN dbo.业务_企业季生产情况_废水
	 ON dbo.业务_废水监测数据.企业代码 = dbo.业务_企业季生产情况_废水.企业代码
	 AND dbo.业务_废水监测数据.监测年 = dbo.业务_企业季生产情况_废水.监测年
	 AND dbo.业务_废水监测数据.季度 = dbo.业务_企业季生产情况_废水.季
	 AND dbo.业务_废水监测数据.监测点代码 = dbo.业务_企业季生产情况_废水.废水排口
WHERE     (dbo.业务_废水监测数据.工况负荷 >0) AND (dbo.业务_企业季生产情况_废水.平均工况负荷 IS NOT NULL) AND 
      (dbo.业务_废水监测数据.污染物浓度 IS NOT NULL) AND (dbo.业务_废水监测数据.废水排放量 IS NOT NULL) AND 
      (dbo.业务_企业季生产情况_废水.生产总天数 IS NOT NULL)


GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_污水处理厂排放量计算]'))
DROP VIEW [dbo].[V_污水处理厂排放量计算]
GO

--V_污水处理厂排放量计算
Create View [dbo].[V_污水处理厂排放量计算]
as
select a.监测年,行政区代码,a.详细名称,a.企业代码,a.受纳水体代码,b.监测项目编号,c.季度,c.次数,c.出口污染物浓度*c.出口水量/1000 as 污染物排放量
	from 业务_污水处理厂信息 as a
	inner join 业务_污水处理厂污染物信息 as b
	on a.监测年=b.监测年 and a.企业代码=b.企业代码
	inner join 业务_污水处理厂监测数据 as c
	on c.出口污染物浓度 is not null and c.出口水量 is not null 
	and b.监测年=c.监测年 and b.企业代码=c.企业代码 and b.监测项目编号=c.监测项目编号

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_污水处理厂排放量计算_名录库]'))
DROP VIEW [dbo].[V_污水处理厂排放量计算_名录库]
GO

--V_污水处理厂排放量计算_名录库
Create View [dbo].[V_污水处理厂排放量计算_名录库]
as
select a.监测年,a.行政区代码,a.详细名称,a.企业代码,a.受纳水体代码,b.监测项目编号,c.季度,c.次数,c.出口污染物浓度*c.出口水量/1000 as 污染物排放量
	from 业务_污水处理厂信息 as a
	inner join 业务_污染源名录库_总站 as z
	on a.监测年=z.年度 and a.企业代码=z.企业代码 and z.企业类型=3
	inner join 业务_污水处理厂污染物信息 as b
	on a.监测年=b.监测年 and a.企业代码=b.企业代码
	inner join 业务_污水处理厂监测数据 as c
	on c.出口污染物浓度 is not null and c.出口水量 is not null 
	and b.监测年=c.监测年 and b.企业代码=c.企业代码 and b.监测项目编号=c.监测项目编号


GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_煤含硫率]'))
DROP VIEW [dbo].[V_煤含硫率]
GO

CREATE VIEW [dbo].[V_煤含硫率]
AS
SELECT b.详细名称, b.行政区代码, b.法人代码, b.企业代码,b.行业代码, 省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,
      b.监测年,c.监测月,c.监测日,c.煤含硫率, b.规模代码, b.登记注册类型代码, b.污染源类型代码,
      b.自定义属性, c.季度用煤总量, c.灰份, c.水份, c.季度,b.污染源控制级别代码,b.污染源控制级别代码气
FROM dbo.业务_企业基本信息 as b INNER JOIN
		dbo.业务_煤含硫率 as c ON b.企业代码 = c.企业代码 AND b.监测年= c.监测年 AND b.监测年 = c.监测年 
		inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
		on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
		inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
		on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
		left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
		on LEFT(b.行业代码,2)=h1.一级行业代码
		left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
		on LEFT(b.行业代码,3)=h2.二级行业代码
		left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
		on b.行业代码=h3.三级行业代码
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[废气生产情况模板]'))
DROP VIEW [dbo].[废气生产情况模板]
GO

CREATE VIEW [dbo].[废气生产情况模板]
AS
SELECT dbo.业务_企业基本信息.监测年, dbo.业务_企业基本信息.企业代码,dbo.业务_企业基本信息.行业代码, dbo.业务_企业基本信息.法人代码, dbo.业务_企业基本信息.详细名称,
	dbo.业务_企业基本信息.规模代码, dbo.业务_企业基本信息.登记注册类型代码, 
	dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业基本信息.污染源类型代码, dbo.业务_企业基本信息.中心经度, 
	dbo.业务_企业基本信息.中心纬度, dbo.业务_企业基本信息.企业详细地址, dbo.业务_企业基本信息.污染源控制级别代码气, 
	dbo.业务_企业基本信息.行政区代码, dbo.业务_企业废气排放设备.排污设备名称, dbo.业务_企业废气排放设备.排放规律代码, 
	dbo.业务_企业废气排放设备.燃料类型 AS 燃料类型代码, dbo.业务_企业季生产情况.燃料煤用量, dbo.业务_企业季生产情况.燃料煤产地, 
	dbo.业务_企业季生产情况.燃料煤平均含硫量, dbo.业务_企业季生产情况.燃料油用量, dbo.业务_企业季生产情况.燃料油平均含硫量, 
	dbo.业务_企业季生产情况.燃料气耗量, dbo.业务_企业季生产情况.生产总小时数, dbo.业务_企业季生产情况.废气排放量, 
	dbo.业务_企业季生产情况.平均工况负荷, dbo.业务_企业废气排放设备.排污设备类型 as 排污设备类型代码, dbo.业务_企业废气排放设备.生产产品, 
	dbo.业务_企业废气排放设备.生产能力, dbo.业务_企业废气排放设备.生产能力单位, dbo.业务_企业废气排放设备.燃料年消耗量, 
	dbo.业务_企业基本信息.自定义属性, dbo.业务_企业季生产情况.季 as 季度,dbo.业务_企业季生产情况.生产总天数,
	省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码
FROM dbo.业务_企业基本信息 INNER JOIN
	dbo.业务_企业废气排放设备 ON dbo.业务_企业基本信息.监测年 = dbo.业务_企业废气排放设备.监测年 AND 
	dbo.业务_企业基本信息.企业代码 = dbo.业务_企业废气排放设备.企业代码 INNER JOIN
	dbo.业务_企业季生产情况 ON dbo.业务_企业废气排放设备.排污设备代码 = dbo.业务_企业季生产情况.废气设备 AND 
	dbo.业务_企业废气排放设备.监测年 = dbo.业务_企业季生产情况.年 AND 
	dbo.业务_企业废气排放设备.企业代码 = dbo.业务_企业季生产情况.企业代码
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(业务_企业基本信息.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(业务_企业基本信息.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	on LEFT(业务_企业基本信息.行业代码,2)=h1.一级行业代码
	left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	on LEFT(业务_企业基本信息.行业代码,3)=h2.二级行业代码
	left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	on 业务_企业基本信息.行业代码=h3.三级行业代码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[废水生产情况模板]'))
DROP VIEW [dbo].[废水生产情况模板]
GO

CREATE VIEW [dbo].[废水生产情况模板]
AS
SELECT dbo.业务_企业基本信息.监测年, 业务_企业基本信息.行业代码,dbo.业务_企业基本信息.行政区代码, dbo.业务_企业基本信息.企业代码, dbo.业务_企业基本信息.法人代码, 
  dbo.业务_企业基本信息.详细名称, dbo.业务_废水排口信息.监测点名称, dbo.业务_企业基本信息.规模代码, 
  dbo.业务_企业基本信息.登记注册类型代码, dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业基本信息.企业详细地址, 
  dbo.业务_企业基本信息.污染源类型代码, dbo.业务_废水排口信息.受纳水体代码, dbo.业务_废水排口信息.排水去向类型代码, 
  dbo.业务_废水排口信息.排放规律代码, dbo.业务_企业季生产情况_废水.生产总天数, dbo.业务_企业季生产情况_废水.生产总小时数, 
  dbo.业务_企业季生产情况_废水.平均工况负荷, dbo.业务_企业季生产情况_废水.废水排放量, dbo.业务_企业季生产情况_废水.新鲜用水量, 
  dbo.业务_企业基本信息.污染源控制级别代码气, dbo.业务_企业基本信息.自定义属性, dbo.业务_企业季生产情况_废水.季 as 季度, 
  省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码
FROM dbo.业务_企业基本信息 INNER JOIN
	dbo.业务_废水排口信息 ON dbo.业务_企业基本信息.监测年 = dbo.业务_废水排口信息.监测年 AND 
	dbo.业务_企业基本信息.企业代码 = dbo.业务_废水排口信息.企业代码 INNER JOIN
	dbo.业务_企业季生产情况_废水 ON dbo.业务_废水排口信息.企业代码 = dbo.业务_企业季生产情况_废水.企业代码 AND 
	dbo.业务_废水排口信息.监测年 = dbo.业务_企业季生产情况_废水.监测年 AND 
	dbo.业务_废水排口信息.监测点代码 = dbo.业务_企业季生产情况_废水.废水排口 
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(业务_企业基本信息.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(业务_企业基本信息.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	on LEFT(业务_企业基本信息.行业代码,2)=h1.一级行业代码
	left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	on LEFT(业务_企业基本信息.行业代码,3)=h2.二级行业代码
	left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	on 业务_企业基本信息.行业代码=h3.三级行业代码
GO


IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[工业废气比对基本模板]'))
DROP VIEW [dbo].[工业废气比对基本模板]
GO

CREATE VIEW [dbo].[工业废气比对基本模板]
AS
SELECT a.监测年,a.监测月, a.监测日,a.监测时,a.监测分,b.企业代码,b.详细名称,b.行业代码,b.行政区代码,a.监测点名称,'实际样品' as 数据类型,b.污染源控制级别代码,b.污染源控制级别代码气,
	c.监测项目名称,a.监测项目编号,a.次数,a.手工监测数据, a.自动监测数据,t1.监测系统名称,t1.监测系统型号,t1.集成厂家,t2.监测原理,t2.设备生产厂家,t2.监测设备型号,
	省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码
FROM dbo.业务_废气在线比对 as a inner join dbo.业务_企业基本信息 as b on a.监测年 = b.监测年 and a.企业代码 = b.企业代码 
	inner join dbo.系统_监测项目 as c on a.监测项目编号 =c.监测项目编号  
	inner join dbo.业务_废气监测点信息 as d on a.监测年 = d.监测年 and a.企业代码 = d.企业代码 and a.监测点代码 = d.监测点代码 
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	on LEFT(b.行业代码,2)=h1.一级行业代码
	left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	on LEFT(b.行业代码,3)=h2.二级行业代码
	left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	on b.行业代码=h3.三级行业代码
	left join 业务_在线监测系统 as t1 on a.企业代码=t1.企业代码 and a.监测年=t1.监测年 and a.企业类型=t1.企业类型 and a.监测点代码=t1.监测点代码
	left join 业务_在线监测系统_项目 as t2 on t2.监测系统ID号=t1.id and t2.监测项目编号=a.监测项目编号

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[工业废气基本模板]'))
DROP VIEW [dbo].[工业废气基本模板]
GO

CREATE VIEW [dbo].[工业废气基本模板]
AS
select a.监测年,b.企业代码,b.详细名称,b.行业代码,b.法人代码,废气控制级别,c3.规模,b.行政区代码,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,a.季度,a.次数,a.监测月,a.监测日,a.监测时,
	d.排污设备名称,c6.排放设备类型,d.生产产品,d.生产能力,d.生产能力单位,d.投产日期,c7.燃料类型,d.燃料年消耗量,d.锅炉燃烧方式,d.低炭燃烧技术,d.是否循环流化床锅炉,c5.排放规律,
	c.监测点名称,c.监测点代码,c.测点烟道截面积,c.是否安装在线监测设备,e.监测项目名称,a.日生产小时数,a.工况负荷,a.测点温度,c8.治理设施情况 as 治理设施是否正常运行,a.处理设施前实测浓度,a.处理设施前实测废气排放量,a.含氧量,a.污染物实测浓度,a.污染物折算浓度,
	a.污染物浓度,标准名称,a.排放上限,a.排放下限,a.排放单位,a.超标倍数,a.浓度是否达标,a.废气排放量,a.污染物排放量,a.排放量是否达标,a.排放速率是否达标,a.数据是否完整,a.原因,a.在线监测污染物排放浓度,
	b.企业详细地址,b.废气排放设备数,b.法人代表姓名,b.污染源监测联系人,b.传真,b.电话,b.邮政编码,b.开业时间,b.产污工艺简述,b.污染处理工艺简述,b.备注,b.中心纬度,b.中心经度,b.自定义属性,
	b.污染源控制级别代码,b.污染源控制级别代码气,b.规模代码,d.排放规律代码,d.排污设备类型 as 排污设备类型代码,d.燃料类型 as 燃料类型代码,b.登记注册类型代码,b.污染源类型代码
from 业务_废气监测数据 as a
	 inner join 业务_企业基本信息 as b
	 on a.监测年 = b.监测年 and a.企业代码 = b.企业代码
	 inner join 业务_废气监测点信息 as c
	 on a.监测年 = c.监测年 and a.企业代码 = c.企业代码 and a.监测点代码 = c.监测点代码 and a.企业类型=c.企业类型
	 inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	 on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	 inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	 on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	 left join 业务_企业废气排放设备 as d
	 on c.监测年 = d.监测年 and c.企业类型=d.企业类型 and c.企业代码 = d.企业代码 
	 and c.排污设备代码 = d.排污设备代码
	 --left join dbo.业务_企业季生产情况 as t
     --on t.企业代码 = a.企业代码 and t.年 = a.监测年 and t.季 = a.季度 and t.废气设备 = c.排污设备代码
	 left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	 on LEFT(b.行业代码,2)=h1.一级行业代码
	 left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	 on LEFT(b.行业代码,3)=h2.二级行业代码
	 left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	 on b.行业代码=h3.三级行业代码
	 left join (select 代码名称 as 登记注册类型,代码编码 from 系统_代码 where 代码类型编码=2) as c2
	 on b.登记注册类型代码=c2.代码编码
	 left join (select 代码名称 as 规模,代码编码 from 系统_代码 where 代码类型编码=1) as c3
	 on b.规模代码=c3.代码编码
	 left join (select 代码名称 as 废气控制级别,代码编码 from 系统_代码 where 代码类型编码=6) as c4
	 on b.污染源控制级别代码气=c4.代码编码
	 left join (select 代码名称 as 排放规律,代码编码 from 系统_代码 where 代码类型编码=11) as c5
	 on d.排放规律代码=c5.代码编码
	 left join (select 代码名称 as 排放设备类型,代码编码 from 系统_代码 where 代码类型编码=25) as c6
	 on d.排污设备类型=c6.代码编码
	 left join (select 代码名称 as 燃料类型,代码编码 from 系统_代码 where 代码类型编码=9) as c7
	 on d.燃料类型=c7.代码编码
	 left join (select 代码名称 as 治理设施情况,代码编码 from 系统_代码 where 代码类型编码=28) as c8
	 on a.治理设施是否正常运行=c8.代码编码
	 left join 系统_监测项目 as e
     on a.监测项目编号 = e.监测项目编号
	 left join 系统_标准库 as f
	 on a.执行标准代码 = f.标准代码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[工业废水比对基本模板]'))
DROP VIEW [dbo].[工业废水比对基本模板]
GO

CREATE VIEW [dbo].[工业废水比对基本模板]
AS
SELECT a.监测年,a.监测时,a.监测分,a.监测月,a.监测日,b.企业代码,b.详细名称,b.行业代码,b.行政区代码,a.监测点名称,数据类型,b.污染源控制级别代码,b.污染源控制级别代码气,
	c.监测项目名称,a.监测项目编号,a.次数,a.手工监测数据,a.自动监测数据,d.受纳水体代码,受纳水体,t1.监测系统名称,t1.监测系统型号,t1.集成厂家,t2.监测原理,t2.设备生产厂家,t2.监测设备型号,
	省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码
FROM dbo.业务_废水在线比对 as a inner join dbo.业务_企业基本信息 as b on a.监测年 = b.监测年 and a.企业代码 = b.企业代码 
	inner join dbo.系统_监测项目 as c on a.监测项目编号 =c.监测项目编号  
	inner join dbo.业务_废水排口信息 as d on a.监测年 = d.监测年 and a.企业代码 = d.企业代码 and a.监测点代码 = d.监测点代码 
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	on LEFT(b.行业代码,2)=h1.一级行业代码
	left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	on LEFT(b.行业代码,3)=h2.二级行业代码
	left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	on b.行业代码=h3.三级行业代码
	left join (select 代码名称 as 受纳水体,代码编码 from 系统_代码 where 代码类型编码=16) as c1 on d.受纳水体代码=c1.代码编码
	left join (select 代码名称 as 数据类型,代码编码 from 系统_代码 where 代码类型编码=37) as c2 on a.数据类型编码=c2.代码编码
	left join 业务_在线监测系统 as t1 on a.企业代码=t1.企业代码 and a.监测年=t1.监测年 and a.企业类型=t1.企业类型 and a.监测点代码=t1.监测点代码
	left join 业务_在线监测系统_项目 as t2 on t2.监测系统ID号=t1.id and t2.监测项目编号=a.监测项目编号
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[工业废水基本模板]'))
DROP VIEW [dbo].[工业废水基本模板]
GO

CREATE VIEW [dbo].[工业废水基本模板]
AS
select a.监测年,a.季度,b.详细名称,b.行业代码,c.监测点名称,d.监测项目名称,a.废水处理设施进口浓度,a.污染物浓度,a.排放上限,a.排放下限,a.排放单位, 
      dbo.GetOverStarndardNum(a.污染物浓度,a.排放下限,a.排放上限,a.监测项目编号) as 超标倍数, a.污染物浓度是否达标,c.是否参与评价,
      受纳水体名称,排水去向,登记注册类型,规模,c8.治理设施运行情况 as 治理设施是否正常运行,废水控制级别,废气控制级别,b.规模代码,b.污染源控制级别代码,
      b.污染源类型代码,b.中心经度,b.中心纬度,b.企业详细地址, b.废水排放口数,b.废气排放设备数, b.废气排放口数, b.SO2总量控制值, b.COD总量控制值, 
      b.排污申报登记号,b.无组织排放点数,b.法人代表姓名, b.污染源监测联系人, b.电话, b.传真, b.邮政编码, b.开业时间, b.产污工艺简述, 
      b.污染处理工艺简述,b.备注, b.最后修改时间,b.污染源监测联系部门, b.删除状态, b.污染源控制级别代码气,
      a.执行标准代码,a.执行标准条件代码,case c.排口属性 when 1 then '外排口' else '车间排口' end as 排口属性, 
      c.监测点经度,c.监测点纬度,a.监测月,a.监测日,a.污染物排放量,a.废水排放量,a.在线监测污染物排放浓度, 
      a.工况负荷,a.数据是否完整,a.原因,a.次数,a.进口水量,b.企业代码,c.受纳水体代码,c.排水去向类型代码, 
      b.行政区代码,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,b.法人代码,c.排放规律代码,b.登记注册类型代码,b.自定义属性,e.标准名称
from  业务_废水监测数据 as a
	  inner join 业务_企业基本信息 as b
	  on a.监测年 = b.监测年 and a.企业代码 = b.企业代码
	  inner join 业务_废水排口信息 as c
	  on a.监测年 = c.监测年 and a.企业代码 = c.企业代码 and a.监测点代码 = c.监测点代码 and a.企业类型=c.企业类型
	  inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	  on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	  inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	  on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	  left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	  on LEFT(b.行业代码,2)=h1.一级行业代码
	  left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	  on LEFT(b.行业代码,3)=h2.二级行业代码
	  left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	  on b.行业代码=h3.三级行业代码
	  left join dbo.业务_企业季生产情况_废水 as t 
	  on a.企业代码 = t.企业代码 and a.监测年 = t.监测年 and a.季度 = t.季 and a.监测点代码 = t.废水排口
	  left join (SELECT 代码名称 as 登记注册类型,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 2) AS c2
	  on b.登记注册类型代码 = c2.代码编码
	  left join (SELECT 代码名称 as 规模,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 1) AS c3
      on b.规模代码 = c3.代码编码
	  left join (SELECT 代码名称 as 废水控制级别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 6) AS c4 
	  on b.污染源控制级别代码 = c4.代码编码
	  left join (SELECT 代码名称 as 废气控制级别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 6) AS c5 
      on b.污染源控制级别代码气 = c5.代码编码
      left join (SELECT 代码名称 as 受纳水体名称,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 16) as c6 
	  on c.受纳水体代码 = c6.代码编码
	  left join (SELECT 代码名称 as 排水去向,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 4) AS c7 
	  on c.排水去向类型代码 = c7.代码编码
	  left join (SELECT 代码名称 as 治理设施运行情况,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 28) as c8
	  on a.治理设施是否正常运行 = c8.代码编码
	  left join 系统_监测项目 as d
      on d.监测项目编号 = a.监测项目编号
	  left join 系统_标准库 as e
	  on a.执行标准代码 = e.标准代码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[工业信息基本模板]'))
DROP VIEW [dbo].[工业信息基本模板]
GO

--工业信息基本模板
CREATE VIEW [dbo].[工业信息基本模板]
AS
select d.监测年,d.行业代码, d.行政区代码, d.企业代码, d.法人代码, d.详细名称,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,
	c1.登记注册类型,c2.规模, c4.废气控制级别, c3.废水控制级别, d.规模代码, d.登记注册类型代码, d.污染源控制级别代码, 
	d.污染源类型代码, d.中心经度, d.中心纬度, d.企业详细地址, d.废水排放口数, d.废气排放设备数, d.废气排放口数, d.SO2总量控制值, 
	d.COD总量控制值, d.排污申报登记号, d.无组织排放点数, d.法人代表姓名, d.污染源监测联系人, d.电话, d.传真, d.邮政编码, d.开业时间, 
	d.产污工艺简述, d.污染处理工艺简述, d.备注, d.最后修改时间, d.污染源监测联系部门,
	(select 代码名称+',' from 系统_代码 where 代码类型编码='30' and d.自定义属性 like '%'+代码编码+'%' FOR XML PATH('')) as '自定义属性',
	d.污染源控制级别代码气
from dbo.业务_企业基本信息 as d
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(d.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(d.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
	on LEFT(d.行业代码,2)=h1.一级行业代码
	left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
	on LEFT(d.行业代码,3)=h2.二级行业代码
	left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
	on d.行业代码=h3.三级行业代码
	left join (select 代码名称 as 登记注册类型,代码编码 from 系统_代码 where 代码类型编码=2) as c1
	on d.登记注册类型代码 = c1.代码编码 
	left join (select 代码名称 as 规模,代码编码 from 系统_代码 where 代码类型编码=1) as c2
	on d.规模代码 = c2.代码编码 
	left join (SELECT 代码名称 as 废水控制级别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 6) AS c3 
	on d.污染源控制级别代码 = c3.代码编码
	left join (SELECT 代码名称 as 废气控制级别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 6) AS c4 
	on d.污染源控制级别代码气 = c4.代码编码
GO


IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[固废废气基本模板]'))
DROP VIEW [dbo].[固废废气基本模板]
GO

CREATE view [dbo].[固废废气基本模板] as 
select a.企业代码, a.监测点代码,d.排污设备名称, a.监测年, 
      a.季度, a.监测月, a.监测日, a.监测时, 
      a.监测点名称, e.监测项目名称, a.处理设施前实测浓度, 
      a.污染物实测浓度, a.污染物浓度,a.排放单位, 
      a.排放上限,a.排放下限, 
      dbo.GetOverStarndardNum(a.污染物浓度,a.排放下限,a.排放上限,a.监测项目编号) AS 超标倍数, 
      a.浓度是否达标, a.日生产小时数, a.工况负荷, 
      a.测点温度, a.含氧量, a.污染物排放量, a.废气排放量, 
      a.在线监测污染物排放浓度, a.排放速率是否达标, a.排放量是否达标, 
      a.数据是否完整, a.原因, a.次数, 
      a.处理设施前实测废气排放量,c.测点烟道截面积,c.是否安装在线监测设备, 
      d.燃料年消耗量,d.生产能力单位,d.生产能力, 
      d.生产产品,排放规律, c6.排放设备类型, c7.燃料类型, 
      d.排放规律代码,d.排污设备类型 as 排污设备类型代码,d.燃料类型 as 燃料类型代码,b.行政区代码,
      b.法人代码,b.详细名称,b.中心经度,b.中心纬度,b.固废处理方式代码,b.固废类型代码,b.设计处理量,b.废水排放口数, 
      b.气排放口数,b.法人代表姓名,b.监测联系人姓名,b.电话,b.传真,b.邮政编码,b.详细地址,b.开业时间,b.处理工艺简述,b.备注,b.污染源监测联系部门,
      f.标准名称,固废处理方式,固废类型,c2.治理设施情况 as 治理设施是否正常运行
from 业务_废气监测数据 as a
	 inner join 业务_固废处理厂信息 as b
	 on a.监测年 = b.监测年 and a.企业代码 = b.企业代码
	 inner join 业务_废气监测点信息 as c
	 on a.监测年 = c.监测年 and a.企业代码 = c.企业代码 and a.监测点代码 = c.监测点代码 and a.企业类型=c.企业类型
	 left join 业务_企业废气排放设备 as d
	 on c.监测年 = d.监测年 and c.企业类型=d.企业类型 and c.企业代码 =d.企业代码 
	 and c.排污设备代码 = d.排污设备代码
	 left join (select 代码名称 as 固废类型,代码编码 from 系统_代码 where 代码类型编码=23) as c1
	 on b.固废类型代码=c1.代码编码
	 left join (select 代码名称 as 治理设施情况,代码编码 from 系统_代码 where 代码类型编码=28) as c2
	 on a.治理设施是否正常运行=c2.代码编码
	 left join (select 代码名称 as 固废处理方式,代码编码 from 系统_代码 where 代码类型编码=22) as c3
	 on b.固废处理方式代码=c3.代码编码
	 left join (select 代码名称 as 排放规律,代码编码 from 系统_代码 where 代码类型编码=11) as c5
	 on d.排放规律代码=c5.代码编码
	 left join (select 代码名称 as 排放设备类型,代码编码 from 系统_代码 where 代码类型编码=25) as c6
	 on d.排污设备类型=c6.代码编码
	 left join (select 代码名称 as 燃料类型,代码编码 from 系统_代码 where 代码类型编码=9) as c7
	 on d.燃料类型=c7.代码编码
	 left join 系统_监测项目 as e
     on a.监测项目编号 = e.监测项目编号
	 left join 系统_标准库 as f
	 on a.执行标准代码 = f.标准代码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[固废废水基本模板]'))
DROP VIEW [dbo].[固废废水基本模板]
GO

CREATE VIEW [dbo].[固废废水基本模板]
AS
select a.监测年, a.季度,b.详细名称, a.监测点名称,d.监测项目名称, 
      a.废水处理设施进口浓度, a.污染物浓度,a.排放上限, 
      a.排放下限,a.排放单位, 
      dbo.GetOverStarndardNum(a.污染物浓度,a.排放下限,a.排放上限,a.监测项目编号) AS 超标倍数, 
      a.污染物浓度是否达标,受纳水体名称,排水去向,b.中心经度, 
      b.中心纬度,b.法人代表姓名,b.电话,b.传真,b.邮政编码,b.开业时间,b.备注,b.污染源监测联系部门,b.删除状态, 
      c.执行标准代码, c.执行标准条件代码, c.排口属性, 
      c.监测点经度, c.监测点纬度, a.监测月, a.监测日, 
      a.污染物排放量, a.废水排放量, a.在线监测污染物排放浓度, 
      a.工况负荷, a.治理设施是否正常运行, a.数据是否完整, 
      a.原因, a.次数, a.进口水量,b.企业代码, c.受纳水体代码, 
      c.排水去向类型代码, b.行政区代码,b.法人代码, c.排放规律代码,排放规律, 
      e.标准名称,固废处理方式,固废类型,b.处理工艺简述,b.详细地址
from 业务_废水监测数据 as a
	 inner join 业务_固废处理厂信息 as b
	 on a.监测年 = b.监测年 and a.企业代码 = b.企业代码
	 inner join 业务_废水排口信息 as c
	 on a.监测年 = c.监测年 and a.企业代码 = c.企业代码 and a.监测点代码 = c.监测点代码 and a.企业类型=c.企业类型         
	 left join (select 代码名称 as 固废处理方式,代码编码 from 系统_代码 where 代码类型编码=22) as c3
	 on b.固废处理方式代码=c3.代码编码
	 left join (select 代码名称 as 排放规律,代码编码 from 系统_代码 where 代码类型编码=11) as c5
	 on c.排放规律代码=c5.代码编码
	 left join (select 代码名称 as 固废类型,代码编码 from 系统_代码 where 代码类型编码=23) as c1
	 on b.固废类型代码=c1.代码编码
	 left join (SELECT 代码名称 as 受纳水体名称,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 16) as c6 
	 on c.受纳水体代码 = c6.代码编码
	 left join (SELECT 代码名称 as 排水去向,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 4) AS c7 
	 on c.排水去向类型代码 = c7.代码编码
	 left join 系统_监测项目 as d
     on d.监测项目编号 = a.监测项目编号
	 left join 系统_标准库 as e
	 on a.执行标准代码 = e.标准代码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[固废信息基本模板]'))
DROP VIEW [dbo].[固废信息基本模板]
GO

CREATE VIEW [dbo].[固废信息基本模板]
AS
SELECT     dbo.业务_固废处理厂信息.监测年, dbo.业务_固废处理厂信息.行政区代码, dbo.业务_固废处理厂信息.详细名称, 
                      dbo.业务_固废处理厂信息.企业代码, dbo.业务_固废处理厂信息.法人代码, dbo.业务_固废处理厂信息.中心经度, dbo.业务_固废处理厂信息.中心纬度, 
                      a.代码名称 AS 固废处理方式, b.代码名称 AS 固废类型, dbo.业务_固废处理厂信息.设计处理量, dbo.业务_固废处理厂信息.废水排放口数, 
                      dbo.业务_固废处理厂信息.气排放口数, dbo.业务_固废处理厂信息.法人代表姓名, dbo.业务_固废处理厂信息.监测联系人姓名, 
                      dbo.业务_固废处理厂信息.电话, dbo.业务_固废处理厂信息.传真, dbo.业务_固废处理厂信息.邮政编码, dbo.业务_固废处理厂信息.详细地址, 
                      dbo.业务_固废处理厂信息.开业时间, dbo.业务_固废处理厂信息.处理工艺简述, dbo.业务_固废处理厂信息.备注, 
                      dbo.业务_固废处理厂信息.污染源监测联系部门
FROM         dbo.业务_固废处理厂信息 INNER JOIN
                          (SELECT     代码名称, 代码编码
                            FROM          dbo.系统_代码 AS 系统_代码_1
                            WHERE      (代码类型编码 = 22)) AS a ON dbo.业务_固废处理厂信息.固废处理方式代码 = a.代码编码 INNER JOIN
                          (SELECT     代码名称, 代码编码
                            FROM          dbo.系统_代码 AS 系统_代码_2
                            WHERE      (代码类型编码 = 23)) AS b ON dbo.业务_固废处理厂信息.固废类型代码 = b.代码编码

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[污水处理厂比对基本模板]'))
DROP VIEW [dbo].[污水处理厂比对基本模板]
GO

CREATE VIEW [dbo].[污水处理厂比对基本模板]
AS
SELECT b.企业代码,b.详细名称,b.受纳水体代码,case when a.监测月 in (1,2,3) then 1 when a.监测月 in (4,5,6) then 2
		when a.监测月 in (7,8,9) then 3 when a.监测月 in (10,11,12) then 4 else 0 end as 季度,
		a.手工监测数据, a.自动监测数据, a.次数, a.监测年, a.监测月, a.监测日, a.监测时, 数据类型,省级行政区,市级行政区,
		a.监测分,c.监测项目名称, c.监测项目编号,b.行政区代码,a.监测点名称,受纳水体,t1.监测系统名称,t1.监测系统型号,t1.集成厂家,t2.监测原理,t2.设备生产厂家,t2.监测设备型号
FROM dbo.业务_废水在线比对 as a inner join
	dbo.业务_污水处理厂信息 as b on a.监测年 = b.监测年 and a.企业代码 = b.企业代码
	inner join dbo.系统_监测项目 as c on a.监测项目编号 =c.监测项目编号
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 受纳水体,代码编码 from 系统_代码 where 代码类型编码=16) as c1 on b.受纳水体代码=c1.代码编码
	left join (select 代码名称 as 数据类型,代码编码 from 系统_代码 where 代码类型编码=37) as c2 on a.数据类型编码=c2.代码编码
	left join 业务_在线监测系统 as t1 on a.企业代码=t1.企业代码 and a.监测年=t1.监测年 and a.企业类型=t1.企业类型 and a.监测点代码=t1.监测点代码
	left join 业务_在线监测系统_项目 as t2 on t2.监测系统ID号=t1.id and t2.监测项目编号=a.监测项目编号
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[污水处理厂废水模板]'))
DROP VIEW [dbo].[污水处理厂废水模板]
GO

CREATE VIEW [dbo].[污水处理厂废水模板]
AS
select b.监测年, b.行政区代码,省级行政区,市级行政区, b.企业代码, b.法人代码, 
      b.详细名称, b.详细地址, b.中心经度, b.中心纬度, 
      b.污水处理工艺, b.排水去向类型 AS 排水去向类型代码, b.受纳水体代码, 
      b.受纳水体功能区划水质类别, b.纳污区域面积, b.服务人口, 
      b.工业废水比例, b.建成运行时间, b.设计处理能力, 
      b.是否安装在线监测仪, a.监测月, a.监测日, 
      a.监测项目编号, a.进口污染物浓度, a.进口水量, 
      a.进口污染物量, a.出口污染物浓度, a.出口水量, 
      a.出口污染物排放量, a.出口在线监测浓度, 
      a.出口在线监测排放量, a.数据是否完整, a.原因, 
      a.次数, a.季度, c.监测项目名称,受纳水体, 
      排水去向, b.污染源监测联系部门,水质类别,a.排放单位, 
      a.排放上限,a.排放下限, 
      dbo.GetOverStarndardNum(a.出口污染物浓度,a.排放下限,a.排放上限,a.监测项目编号) AS 超标倍数,e.标准名称,处理级别
from 业务_污水处理厂监测数据 as a
	 inner join 业务_污水处理厂信息 as b
	 on a.企业代码 = b.企业代码 and a.监测年 = b.监测年
	 inner join 业务_污水处理厂污染物信息 as c
	 on a.企业代码=c.企业代码 and a.监测年=c.监测年 and a.监测项目编号=c.监测项目编号
	 inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	 on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
	 inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	 on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
	 left join (SELECT 代码名称 as 受纳水体,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 16) as c1
	 on b.受纳水体代码 = c1.代码编码
	 left join (SELECT 代码名称 as 排水去向,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 4) AS c2
	 on b.排水去向类型 = c2.代码编码
	 left join (SELECT 代码名称 as 水质类别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 17) as c3
	 on b.受纳水体功能区划水质类别 = c3.代码编码
	 left join (SELECT 代码名称 as 处理级别,代码编码 FROM dbo.系统_代码 WHERE 代码类型编码 = 9) AS c4
	 on b.污水处理级别 = c4.代码编码
	 left join 系统_监测项目 as d
     on d.监测项目编号 = a.监测项目编号
	 left join 系统_标准库 as e
	 on a.执行标准代码 = e.标准代码

GO


IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[污水处理厂基本模板]'))
DROP VIEW [dbo].[污水处理厂基本模板]
GO


CREATE VIEW [dbo].[污水处理厂基本模板]
AS
select a.监测年, a.行政区代码, 省级行政区,市级行政区,a.企业代码, a.法人代码, 
      a.详细名称, a.详细地址, a.中心经度, a.中心纬度, 
      a.污水处理级别, a.污水处理工艺, a.排水去向类型 AS 排水去向类型代码, 
      a.受纳水体代码, a.受纳水体功能区划水质类别, a.纳污区域面积, 
      a.服务人口, a.工业废水比例, a.建成运行时间, 
      a.设计处理能力, a.是否安装在线监测仪, a.执行排放标准级别, 
      a.执行排放标准条件, a.污染源监测联系部门, a.删除状态, 
      受纳水体,排水去向,功能区水质类别
from  dbo.业务_污水处理厂信息 as a
	inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
	on LEFT(a.行政区代码,2)+'0000'=r1.代码编码 
	inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
	on LEFT(a.行政区代码,4)+'00'=r2.代码编码 
	left join (select 代码名称 as 受纳水体,代码编码 from 系统_代码 where 代码类型编码=16) as c1
	on a.受纳水体代码=c1.代码编码
	left join (select 代码名称 as 排水去向,代码编码 from 系统_代码 where 代码类型编码=4) as c2
	on a.排水去向类型=c2.代码编码
	left join (select 代码名称 as 功能区水质类别,代码编码 from 系统_代码 where 代码类型编码=17) as c3
	on a.受纳水体功能区划水质类别=c3.代码编码
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[无组织废气基本模板]'))
DROP VIEW [dbo].[无组织废气基本模板]
GO

CREATE view [dbo].[无组织废气基本模板]
as
	select a.监测年,行政区代码,a.企业代码,详细名称,b.行业代码,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,次数,季度,监测月,监测日,监测时,c.监测点名称 as 排放源名称,e.监测项目名称,
		上风向监测值 as 监控点1,下风向1监测值 as 监控点2,下风向2监测值 as 监控点3,下风向3监测值 as 监控点4,
		污染物浓度 as 无组织排放浓度,排放上限 as 标准限值,dbo.GetOverStarndardNum(污染物浓度,排放下限,排放上限,a.监测项目编号) as 超标倍数,污染物浓度是否达标 as 是否达标,
		b.污染源控制级别代码,b.污染源控制级别代码气,b.自定义属性,b.登记注册类型代码,b.污染源类型代码,b.规模代码
		from 业务_废气无组织排放监测数据 as a
		inner join 业务_企业基本信息 as b
		on a.企业代码=b.企业代码 and a.监测年=b.监测年
		inner join 业务_无组织排放信息 as c
		on a.监测年 = c.监测年 and a.企业代码 = c.企业代码 and a.监测点代码 = c.监测点代码 and a.企业类型=c.企业类型
		inner join (select 代码名称 as 省级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r1 
		on LEFT(b.行政区代码,2)+'0000'=r1.代码编码 
		inner join (select 代码名称 as 市级行政区,代码编码 from 系统_代码 where 代码类型编码=14) as r2
		on LEFT(b.行政区代码,4)+'00'=r2.代码编码 
		left join (select 代码名称 as 一级行业名称,代码编码 as 一级行业代码 from 系统_代码 where 代码类型编码=15) as h1
		on LEFT(b.行业代码,2)=h1.一级行业代码
		left join (select 代码名称 as 二级行业名称,代码编码 as 二级行业代码 from 系统_代码 where 代码类型编码=15) as h2
		on LEFT(b.行业代码,3)=h2.二级行业代码
		left join (select 代码名称 as 三级行业名称,代码编码 as 三级行业代码 from 系统_代码 where 代码类型编码=15) as h3
		on b.行业代码=h3.三级行业代码
		left join 系统_监测项目 as e
		on a.监测项目编号 = e.监测项目编号
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_无组织排放]'))
DROP VIEW [dbo].[V_无组织排放]
GO

--无组织排放
CREATE VIEW [dbo].[V_无组织排放]
AS
SELECT dbo.业务_废气无组织排放监测数据.监测点代码, dbo.业务_废气无组织排放监测数据.监测项目编号, dbo.业务_废气无组织排放监测数据.污染物浓度是否达标, 
                      dbo.业务_废气无组织排放监测数据.季度, dbo.业务_废气无组织排放监测数据.次数, dbo.业务_无组织排放信息.监测点名称,  
                      dbo.业务_企业基本信息.监测年, dbo.业务_企业基本信息.行政区代码, dbo.业务_企业基本信息.企业代码, dbo.业务_企业基本信息.行业代码, 
                      dbo.业务_企业基本信息.详细名称, dbo.系统_监测项目.监测项目名称, 
                      dbo.业务_企业基本信息.污染源控制级别代码, dbo.业务_企业基本信息.污染源控制级别代码气,
                      dbo.业务_废气无组织排放监测数据.企业类型,dbo.业务_废气无组织排放监测数据.排放上限
FROM         dbo.业务_废气无组织排放监测数据 INNER JOIN
                      dbo.业务_无组织排放信息 ON dbo.业务_废气无组织排放监测数据.监测年 = dbo.业务_无组织排放信息.监测年 AND 
                      dbo.业务_废气无组织排放监测数据.企业代码 = dbo.业务_无组织排放信息.企业代码 AND 
                      dbo.业务_废气无组织排放监测数据.监测点代码 = dbo.业务_无组织排放信息.监测点代码 INNER JOIN
                      dbo.业务_企业基本信息 ON dbo.业务_废气无组织排放监测数据.监测年 = dbo.业务_企业基本信息.监测年 AND 
                      dbo.业务_无组织排放信息.企业代码 = dbo.业务_企业基本信息.企业代码 INNER JOIN
                      dbo.系统_监测项目 ON dbo.业务_废气无组织排放监测数据.监测项目编号 = dbo.系统_监测项目.监测项目编号
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_污染源名录库]'))
DROP VIEW [dbo].[V_污染源名录库]
GO

--污染源名录库
Create view [dbo].[V_污染源名录库]
as
	select a.年度 as 监测年,a.企业代码,a.企业名称 as 详细名称,a.行政区代码,b.行业代码,a.法人代码,a.污染源控制级别代码,a.污染源控制级别代码气,a.企业类型,1 as 国控类型,b.企业代码 as 基本信息企业代码
	from dbo.业务_污染源名录库_总站 as a
	left join 业务_企业基本信息 as b on a.企业代码=b.企业代码 and a.年度=b.监测年 and a.污染源控制级别代码=b.污染源控制级别代码
	where a.企业类型=1 and a.污染源控制级别代码=1
	union
	select a.年度 as 监测年,a.企业代码,a.企业名称 as 详细名称,a.行政区代码,b.行业代码,a.法人代码,a.污染源控制级别代码,a.污染源控制级别代码气,a.企业类型,2 as 国控类型,b.企业代码 as 基本信息企业代码
	from dbo.业务_污染源名录库_总站 as a
	left join 业务_企业基本信息 as b on a.企业代码=b.企业代码 and a.年度=b.监测年 and a.污染源控制级别代码气=b.污染源控制级别代码气
	where a.企业类型=1 and a.污染源控制级别代码气=1
GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_固废处理厂名录库]'))
DROP VIEW [dbo].[V_固废处理厂名录库]
GO

--固废处理厂名录库
Create view [dbo].[V_固废处理厂名录库]
as
	select a.年度 as 监测年,a.企业代码,a.企业名称 as 详细名称,a.行政区代码,'' as 行业代码,a.法人代码,a.污染源控制级别代码,a.污染源控制级别代码气,a.企业类型,1 as 国控类型,b.企业代码 as 基本信息企业代码
	from dbo.业务_污染源名录库_总站 as a
	left join 业务_固废处理厂信息 as b on a.企业代码=b.企业代码 and a.年度=b.监测年 and a.污染源控制级别代码=b.控制级别代码
	where a.企业类型=3 and a.污染源控制级别代码=1

GO

IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[V_污水处理厂名录库]'))
DROP VIEW [dbo].[V_污水处理厂名录库]
GO

--污水处理厂名录库
Create view [dbo].[V_污水处理厂名录库]
as
	select a.年度 as 监测年,a.企业代码,a.企业名称 as 详细名称,a.行政区代码,'' as 行业代码,a.法人代码,a.污染源控制级别代码,a.污染源控制级别代码气,a.企业类型,1 as 国控类型,b.企业代码 as 基本信息企业代码
	from dbo.业务_污染源名录库_总站 as a
	left join 业务_污水处理厂信息 as b on a.企业代码=b.企业代码 and a.年度=b.监测年 and a.污染源控制级别代码=b.控制级别代码
	where a.企业类型=2 and a.污染源控制级别代码=1

GO

--更新查询模板字段
update 系统_模板查询条件 set 查询条件=
'详细名称,法人代码,行政区代码,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,废水控制级别,季度,次数,监测年,监测月,监测日,监测点名称,监测项目名称,标准名称,废水处理设施进口浓度,污染物浓度,排放上限,排放下限,超标倍数,进口水量,污染物排放量,废水排放量,工况负荷,数据是否完整,原因,治理设施是否正常运行,在线监测污染物排放浓度,执行标准代码,执行标准条件代码,排口属性,监测点经度,监测点纬度,排水去向,受纳水体名称,受纳水体代码,规模,企业详细地址,法人代表姓名,污染源监测联系人,电话,传真,邮政编码,开业时间,产污工艺简述,污染处理工艺简述,备注,登记注册类型,中心经度,中心纬度'
where 表名称='工业废水基本模板'
update 系统_模板查询条件 set 查询条件=
'详细名称,法人代码,行政区代码,省级行政区,市级行政区,一级行业名称,一级行业代码,二级行业名称,二级行业代码,三级行业名称,三级行业代码,废气控制级别,规模,季度,次数,监测年,监测月,监测日,监测时,监测点名称,监测点代码,监测项目名称,测点烟道截面积,是否安装在线监测设备,标准名称,处理设施前实测浓度,污染物实测浓度,污染物浓度,排放上限,排放下限,超标倍数,处理设施前实测废气排放量,废气排放量,排放量是否达标,污染物排放量,浓度是否达标,排放速率是否达标,数据是否完整,在线监测污染物排放浓度,原因,日生产小时数,工况负荷,治理设施是否正常运行,测点温度,排污设备名称,燃料类型,燃料年消耗量,生产能力单位,生产能力,生产产品,排放规律,排放设备类型,企业详细地址,废气排放设备数,法人代表姓名,污染源监测联系人,传真,电话,邮政编码,开业时间,产污工艺简述,污染处理工艺简述,备注,中心经度,中心纬度'
where 表名称='工业废气基本模板'
update 系统_模板查询条件 set 查询条件=
'详细名称,法人代码,行政区代码,省级行政区,市级行政区,监测年,监测月,监测日,季度,次数,监测项目名称,标准名称,进口污染物浓度,出口污染物浓度,进口水量,出口水量,进口污染物量,出口污染物排放量,排放单位,排放上限,排放下限,超标倍数,数据是否完整,原因,是否安装在线监测仪,出口在线监测浓度,出口在线监测排放量,受纳水体,详细地址,污水处理工艺,处理级别,纳污区域面积,服务人口,工业废水比例,设计处理能力,排水去向,建成运行时间,污染源监测联系部门,中心经度,中心纬度,水质类别'
where 表名称='污水处理厂废水模板'
go

delete from 系统_模板字段 where 所属类别='工业基本属性' and 显示字段 in ('行业代码','行业','省级行政区','市级行政区','一级行业名称','一级行业代码','二级行业名称','二级行业代码','三级行业名称','三级行业代码')
delete from 系统_模板字段 where 所属类别='污水处理厂基本属性' and 显示字段 in ('省级行政区','市级行政区')
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','省级行政区','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','市级行政区','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','一级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','一级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','二级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','二级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','三级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废气基本模板','三级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','一级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','一级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','二级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','二级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','三级行业名称','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('工业废水基本模板','三级行业代码','工业基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('污水处理厂废水模板','省级行政区','污水处理厂基本属性',4)
insert into 系统_模板字段(模板名称,显示字段,所属类别,排列顺序) values('污水处理厂废水模板','市级行政区','污水处理厂基本属性',4)
go