if Exists(select name from sysobjects where name='trWaterpoint' and xtype='TR')
begin
	execute('disable trigger trWaterpoint on 业务_废水排口信息')
End
go
update 业务_废水排口信息 set 是否参与评价='1' where 是否参与评价 is null
go
if Exists(select name from sysobjects where name='trWaterpoint' and xtype='TR')
begin
	execute('enable trigger trWaterpoint on 业务_废水排口信息');
End
go
--增加字段,"业务_废气监测数据"
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排放上限')
begin
	alter table dbo.业务_废气监测数据 add 排放上限 numeric(18,6)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排放下限')
begin
	alter table dbo.业务_废气监测数据 add 排放下限 numeric(18,6)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排放上限运算符')
begin
	alter table dbo.业务_废气监测数据 add 排放上限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排放下限运算符')
begin
	alter table dbo.业务_废气监测数据 add 排放下限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排放单位')
begin
	alter table dbo.业务_废气监测数据 add 排放单位 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='排污设备代码')
begin
	alter table dbo.业务_废气监测数据 add 排污设备代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='基准浓度是否达标')
begin
	alter table dbo.业务_废气监测数据 add 基准浓度是否达标 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='是否参与基准浓度')
begin
	alter table dbo.业务_废气监测数据 add 是否参与基准浓度 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='执行标准代码')
begin
	alter table dbo.业务_废气监测数据 add 执行标准代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_废气监测数据 add 执行标准条件代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='超标倍数')
begin
	alter table dbo.业务_废气监测数据 add 超标倍数 varchar(20)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气监测数据') and name='基准超标倍数')
begin
	alter table 业务_废气监测数据 add 基准超标倍数 varchar(10)
end 
go

alter table 业务_废气监测数据
alter column 浓度是否达标 bit null
go
alter table 业务_废气监测数据
alter column 基准浓度是否达标 bit null
go



--增加字段,"业务_废水监测数据"
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='排放上限')
begin
	alter table dbo.业务_废水监测数据 add 排放上限 numeric(18,6)
END
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='排放下限')
begin
	alter table dbo.业务_废水监测数据 add 排放下限 numeric(18,6)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='排放上限运算符')
begin
	alter table dbo.业务_废水监测数据 add 排放上限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='排放下限运算符')
begin
	alter table dbo.业务_废水监测数据 add 排放下限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='排放单位')
begin
	alter table dbo.业务_废水监测数据 add 排放单位 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='基准浓度是否达标')
begin
	alter table dbo.业务_废水监测数据 add 基准浓度是否达标 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='是否参与基准浓度')
begin
	alter table dbo.业务_废水监测数据 add 是否参与基准浓度 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='执行标准代码')
begin
	alter table dbo.业务_废水监测数据 add 执行标准代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_废水监测数据 add 执行标准条件代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='超标倍数')
begin
	alter table dbo.业务_废水监测数据 add 超标倍数 varchar(20)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水监测数据') and name='基准超标倍数')
begin
	alter table 业务_废水监测数据 add 基准超标倍数 varchar(10)
end 
go
alter table 业务_废水监测数据
alter column 基准浓度是否达标 bit null
go
alter table 业务_废水监测数据
alter column 污染物浓度是否达标 bit null
go

--增加字段,"业务_在线监测废气数据"
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='排放上限')
begin
	alter table dbo.业务_在线监测废气数据 add 排放上限 numeric(18,6)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='排放下限')
begin
	alter table dbo.业务_在线监测废气数据 add 排放下限 numeric(18,6)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='排放上限运算符')
begin
	alter table dbo.业务_在线监测废气数据 add 排放上限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='排放下限运算符')
begin
	alter table dbo.业务_在线监测废气数据 add 排放下限运算符 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='排放单位')
begin
	alter table dbo.业务_在线监测废气数据 add 排放单位 varchar(50)
End
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='执行标准代码')
begin
	alter table dbo.业务_在线监测废气数据 add 执行标准代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_在线监测废气数据 add 执行标准条件代码 varchar(50)
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='污染物浓度是否达标')
begin
	alter table dbo.业务_在线监测废气数据 add 污染物浓度是否达标 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='基准浓度是否达标')
begin
	alter table dbo.业务_在线监测废气数据 add 基准浓度是否达标 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='是否参与基准浓度')
begin
	alter table dbo.业务_在线监测废气数据 add 是否参与基准浓度 bit
End
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废气数据') and name='监测设备ID')
begin
	alter table dbo.业务_在线监测废气数据 add 监测设备ID nvarchar(200)
End
alter table 业务_在线监测废气数据 alter column 监测设备ID nvarchar(200) null
go

alter table 业务_在线监测废气数据
alter column 污染物浓度是否达标 bit null
go
alter table 业务_在线监测废气数据
alter column 基准浓度是否达标 bit null
go

--增加字段,"业务_在线监测废水数据"
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='排放上限')
begin
	alter table dbo.业务_在线监测废水数据 add 排放上限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='排放下限')
begin
	alter table dbo.业务_在线监测废水数据 add 排放下限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='排放上限运算符')
begin
	alter table dbo.业务_在线监测废水数据 add 排放上限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='排放下限运算符')
begin
	alter table dbo.业务_在线监测废水数据 add 排放下限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='排放单位')
begin
	alter table dbo.业务_在线监测废水数据 add 排放单位 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='执行标准代码')
begin
	alter table dbo.业务_在线监测废水数据 add 执行标准代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_在线监测废水数据 add 执行标准条件代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='污染物浓度是否达标')
begin
	alter table dbo.业务_在线监测废水数据 add 污染物浓度是否达标 bit
END
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='基准浓度是否达标')
begin
	alter table dbo.业务_在线监测废水数据 add 基准浓度是否达标 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='是否参与基准浓度')
begin
	alter table dbo.业务_在线监测废水数据 add 是否参与基准浓度 bit
End
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='监测设备ID')
begin
	alter table dbo.业务_在线监测废水数据 add 监测设备ID nvarchar(200)
End
go
alter table 业务_在线监测废水数据 alter column 监测设备ID nvarchar(200) null
go
if NOT exists(select * from syscolumns where id=object_id('业务_在线监测废水数据') and name='评价标准')
begin
	alter table dbo.业务_在线监测废水数据 add 评价标准 varchar(50)
end
go

alter table 业务_在线监测废水数据
alter column 污染物浓度是否达标 bit null
go
alter table 业务_在线监测废水数据
alter column 基准浓度是否达标 bit null
go


--增加字段,"业务_污水处理厂监测数据"
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='排放上限')
begin
	alter table dbo.业务_污水处理厂监测数据 add 排放上限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='排放下限')
begin
	alter table dbo.业务_污水处理厂监测数据 add 排放下限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='排放上限运算符')
begin
	alter table dbo.业务_污水处理厂监测数据 add 排放上限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='排放下限运算符')
begin
	alter table dbo.业务_污水处理厂监测数据 add 排放下限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='排放单位')
begin
	alter table dbo.业务_污水处理厂监测数据 add 排放单位 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='浓度是否达标')
begin
	alter table dbo.业务_污水处理厂监测数据 add 浓度是否达标 bit
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='基准浓度是否达标')
begin
	alter table dbo.业务_污水处理厂监测数据 add 基准浓度是否达标 bit
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='是否参与基准浓度')
begin
	alter table dbo.业务_污水处理厂监测数据 add 是否参与基准浓度 bit
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='执行标准代码')
begin
	alter table dbo.业务_污水处理厂监测数据 add 执行标准代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_污水处理厂监测数据 add 执行标准条件代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='超标倍数')
begin
	alter table dbo.业务_污水处理厂监测数据 add 超标倍数 varchar(20)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_污水处理厂监测数据') and name='基准超标倍数')
begin
	alter table 业务_污水处理厂监测数据 add 基准超标倍数 varchar(10)
end 
go

--"业务_废气无组织排放监测数据"表增加字段
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='上风向监测值')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [上风向监测值] [numeric](15, 6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='下风向1监测值')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [下风向1监测值] [numeric](15, 6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='下风向2监测值')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [下风向2监测值] [numeric](15, 6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='下风向3监测值')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [下风向3监测值] [numeric](15, 6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='季度')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [季度] int
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='次数')
begin
	alter table dbo.业务_废气无组织排放监测数据 add [次数] int
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='排放上限')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 排放上限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='排放下限')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 排放下限 numeric(18,6)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='排放上限运算符')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 排放上限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='排放下限运算符')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 排放下限运算符 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='排放单位')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 排放单位 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='执行标准代码')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 执行标准代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='执行标准条件代码')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 执行标准条件代码 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='温度')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 温度 numeric(6,1)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='压力')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 压力 varchar(50)
end
go 
if not exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='风向')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 风向 varchar(50)
end 
go

if not exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='风速')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 风速 varchar(50)
end 
go

if NOT exists(select * from syscolumns where id=object_id('业务_废气无组织排放监测数据') and name='数据是否完整')
begin
	alter table dbo.业务_废气无组织排放监测数据 add 数据是否完整 bit
end
go

--"业务_废气在线比对"表增加字段
if NOT exists(select * from syscolumns where id=object_id('业务_废气在线比对') and name='监测设备ID')
begin
	alter table dbo.业务_废气在线比对 add [监测设备ID] nvarchar(200)
end 
go
alter table 业务_废气在线比对 alter column 监测设备ID nvarchar(200) null
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气在线比对') and name='监测系统ID')
begin
	alter table dbo.业务_废气在线比对 add [监测系统ID] nvarchar(200)
end
alter table 业务_废气在线比对 alter column 监测系统ID nvarchar(200) not null
go
if NOT exists(select * from syscolumns where id=object_id('业务_废气在线比对') and name='季度')
begin
	alter table dbo.业务_废气在线比对 add [季度] int
end
go

--"业务_废水在线比对"表增加字段
if NOT exists(select * from syscolumns where id=object_id('业务_废水在线比对') and name='监测设备ID')
begin
	alter table dbo.业务_废水在线比对 add [监测设备ID] nvarchar(200)
end
go
alter table 业务_废水在线比对 alter column 监测设备ID nvarchar(200) null
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水在线比对') and name='监测系统ID')
begin
	alter table dbo.业务_废水在线比对 add [监测系统ID] nvarchar(200) null
end
go
alter table 业务_废水在线比对 alter column 监测系统ID nvarchar(200) not null
go

if NOT exists(select * from syscolumns where id=object_id('业务_废水在线比对') and name='季度')
begin
	alter table dbo.业务_废水在线比对 add [季度] int
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水在线比对') and name='评价标准')
begin
	alter table dbo.业务_废水在线比对 add 评价标准 varchar(50)
end
go
if NOT exists(select * from syscolumns where id=object_id('业务_废水在线比对') and name='单位')
begin
	alter table dbo.业务_废水在线比对 add 单位 varchar(50)
end
go

--修改视图[V_工业和固废企业]
ALTER VIEW [dbo].[V_工业和固废企业]
AS
select a.监测年,a.行政区代码,a.企业代码,a.行业代码,a.详细名称,a.污染源控制级别代码,
a.污染源控制级别代码气,a.企业类型,d.行政区,e.行业,f.控制级别,a.自定义属性
from 
(
	select 监测年,行政区代码,企业代码,行业代码,详细名称,污染源控制级别代码,污染源控制级别代码气,自定义属性,1 as 企业类型
	from 业务_企业基本信息
	union all
	select 监测年,行政区代码,企业代码,'8024' as 行业代码,详细名称,5 as 污染源控制级别代码,5 as 污染源控制级别代码气,'',3 as 企业类型
	from 业务_固废处理厂信息
) as a
join (select 代码编码,代码名称 as 行政区 from 系统_代码 where 代码类型编码=14) d
on a.行政区代码=d.代码编码
join (select 代码编码,代码名称 as 行业 from 系统_代码 where 代码类型编码=15) e
on a.行业代码=e.代码编码
join (select 代码编码,代码名称 as 控制级别 from 系统_代码 where 代码类型编码=6) f
on a.污染源控制级别代码= f.代码编码
go
--创建视图[V_工业和固废企业_简单]
if EXISTS (SELECT 1 FROM sysobjects WHERE ID=object_id('V_工业和固废企业_简单') AND type = 'V')
DROP VIEW [dbo].[V_工业和固废企业_简单]
GO
CREATE VIEW [dbo].[V_工业和固废企业_简单]
AS
select 监测年,行政区代码,企业代码,行业代码,详细名称,污染源控制级别代码,污染源控制级别代码气,自定义属性,1 as 企业类型
from 业务_企业基本信息
union all
select 监测年,行政区代码,企业代码,'8024' as 行业代码,详细名称,5 as 污染源控制级别代码,5 as 污染源控制级别代码气,'',3 as 企业类型
from 业务_固废处理厂信息
go

--增加"工业污染源/监测数据趋势图"模块
if not exists(select * from 系统_功能 where id=21)
INSERT INTO [系统_功能]([ID],[功能编码],[功能名称],[功能大类编码],[功能大类名称],[描述])
     VALUES(21,'20105','工业污染源/监测数据趋势图','2','污染源',null)
go
--给默认admin管理员添加"工业污染源/监测数据趋势图"模块权限
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=21)
INSERT INTO [系统_角色功能关系]([角色ID],[功能模块ID]) VALUES(1,21)

go
--增加"污水处理厂/监测数据趋势图"模块
if not exists(select * from 系统_功能 where id=52)
INSERT INTO [系统_功能]([ID],[功能编码],[功能名称],[功能大类编码],[功能大类名称],[描述])
     VALUES(52,'20205','污水处理厂/监测数据趋势图','2','污染源',null)
go
--给默认admin管理员添加"污水处理厂/监测数据趋势图"模块权限
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=52)
INSERT INTO [系统_角色功能关系]([角色ID],[功能模块ID]) VALUES(1,52)

go
--增加"固废处理厂/监测数据趋势图"模块
if not exists(select * from 系统_功能 where id=35)
INSERT INTO [系统_功能]([ID],[功能编码],[功能名称],[功能大类编码],[功能大类名称],[描述])
     VALUES(35,'20305','固废处理厂/监测数据趋势图','2','污染源',null)
go
--给默认admin管理员添加"固废处理厂/监测数据趋势图"模块权限
if not exists(select * from [系统_角色功能关系] where 角色ID=1 and 功能模块ID=35)
INSERT INTO [系统_角色功能关系]([角色ID],[功能模块ID]) VALUES(1,35)
go


if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_废气在线比对_次达标情况]')
            and   type = 'U')
Begin
	CREATE TABLE [dbo].[业务_废气在线比对_次达标情况](
	[监测年] [numeric](4, 0) NOT NULL,
	[季度] [int] NULL,
	[次数] [numeric](4, 0) NOT NULL,
	[监测日期] [datetime] NULL,
	[企业类型] [char](1) NOT NULL,
	[企业代码] [varchar](20) NOT NULL,
	[监测点代码] [nvarchar](50) NOT NULL,
	[监测设备ID] [nvarchar](200)  NULL,
	[监测系统ID] [nvarchar](200)  NULL,
	[监测项目编号] [nvarchar](50) NOT NULL,
	[手工监测数据] [numeric](38, 6) NULL,
	[自动监测数据] [numeric](38, 6) NULL,
	[比对结果] [numeric](38, 6) NULL,
	[评判标准] [nvarchar](200) NULL,
	[是否达标] [int] NOT NULL,
	[单位] [varchar](20) NULL
) ON [PRIMARY]
End
go

if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_无组织排放信息]')
            and   type = 'U')
Begin
	CREATE TABLE [dbo].[业务_无组织排放信息](
	[ID] [int] IDENTITY(1,1) NOT NULL,
	[监测年] [numeric](4, 0) NOT NULL,
	[企业代码] [nvarchar](20) NOT NULL,
	[监测点代码] [nvarchar](20) NOT NULL,
	[监测点名称] [nvarchar](50) NOT NULL,
	[备注] [nvarchar](max) NULL,
	[企业类型] [char](1) NULL,
	 CONSTRAINT [PK_业务_无组织排放信息] PRIMARY KEY CLUSTERED 
	(
		[ID] ASC
	)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
	) ON [PRIMARY]	
End
GO
------------------------------
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetOverStarndardNum]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetOverStarndardNum]
GO

--=======================================
-- Author:      hanfei modify
-- Date:	    2011-10-24
-- Description: 计算监测项目的超标倍数
-- 超标倍数计算方法如下：
--=======================================
CREATE function [dbo].[GetOverStarndardNum] 
(
    @污染物浓度 numeric(18,6),	--废水/废气污染物浓度
    @排放下限 numeric(18,6),	--废水/废气排放下限
    @排放上限 numeric(18,6),	--废水/废气排放上限
    @监测项目编号 varchar(50)	--废水/废气监测项目编号
)
returns varchar(10) 
as
begin
    --定义返回值
    declare @returnvalue varchar(10)
    set @returnvalue=NULL
    declare @rlst numeric(18,6)
    set @rlst=0
    if(@污染物浓度 is not null and @排放上限 is not null)
    begin
		if(@排放上限=0)
		begin
			set @returnvalue=''
			return @returnvalue
		end
		if(@排放上限>0)
		begin
			if(@污染物浓度<=0)
			begin
				set @污染物浓度 = ABS(@污染物浓度)/2
			end
			if(@污染物浓度>@排放上限)
			begin
				set @rlst=(@污染物浓度-@排放上限)/@排放上限
			end
		end
		if(upper(rtrim(@监测项目编号))='W_1' and @排放下限>0 and @污染物浓度<@排放下限 )
		begin
			set @rlst=(@排放下限-@污染物浓度)/@排放下限
		end
    end
    
    --格式化超标倍数
    if(upper(rtrim(@监测项目编号))='W_1')
    begin
		set @returnvalue=''
		return @returnvalue
    end
    else
    begin
		if(@rlst>0)
		begin
		/*
		关于小数位数：
		A、当超标倍数整数位大于等于2位时，只保留整数部分；
		B、当超标倍数整数位等于1位时，保留一位小数；
		C、当超标倍数小于0.05时，超标倍数为<0.05，但“是否超标”仍为超标。 
		*/	
		set @returnvalue=case when @rlst>=10 then cast(cast(Round(@rlst,0) as float) as varchar)
							  when @rlst>=0.05 then cast(cast(Round(@rlst,1) as float) as varchar)
							  else cast(@rlst as varchar) end
		end
	end
    return @returnvalue
end

GO

----------------------------------

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetOverStandardDesc]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetOverStandardDesc]
GO

--超标说明
CREATE FUNCTION [dbo].[GetOverStandardDesc]
(
	@JoinType int,--应测未测 1:不参加评价,2:以不达标参加评价
	@Year int,--监测年
	@Quarter int,--季度
	@Num int,--次数
	@Date datetime,--监测日期
	@EnterpriseCode varchar(50),--企业代码
	@MonitorStationCode varchar(50),--监测点代码
	@MonitorItemCode varchar(max),--监测项目编号
	@PollutantType int--监测项目类型 1,废水监测点;2,废气监测点;3,废水受纳水体;4,废气排放设备;5.污水处理厂受纳水体		
)
RETURNS varchar(1000)
AS
BEGIN
	DECLARE @OverStandardDesc varchar(1000)
	--将监测项目存到临时表变量中
	declare @tmp_监测项目 table(监测项目编号 nvarchar(50))
	declare @location int
	declare @start int
	set @location = charindex(',',@MonitorItemCode)
	while charindex(',',@MonitorItemCode)<>0
	begin
		insert into @tmp_监测项目 values (substring(@MonitorItemCode,1,charindex(',',@MonitorItemCode)-1))
		set @MonitorItemCode = stuff(@MonitorItemCode,1,charindex(',',@MonitorItemCode),'')
	end
	insert into @tmp_监测项目 values (@MonitorItemCode)
	if(@MonitorItemCode='')
	begin
		insert into @tmp_监测项目 select distinct 监测项目编号 from 系统_监测项目
	end
	--开始判断类型
	if @PollutantType=1
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.监测点代码=@MonitorStationCode and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.污染物浓度是否达标=0 or a.污染物浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=2 
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.监测点代码=@MonitorStationCode and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.浓度是否达标=0 or a.浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
		
	end
	if @PollutantType=3
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			join 业务_废水排口信息 c
			on a.监测年=c.监测年 and a.企业代码=c.企业代码 and a.监测点代码=c.监测点代码 and a.企业类型=c.企业类型
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and c.受纳水体代码=@MonitorStationCode and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and (a.污染物浓度是否达标=0 or a.污染物浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=4
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			inner join 业务_废气监测点信息 as e
	        on a.监测年 = e.监测年 and a.企业代码 = e.企业代码 and a.监测点代码 = e.监测点代码 and a.企业类型=e.企业类型
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and e.排污设备代码=@MonitorStationCode and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.浓度是否达标=0 or a.浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
	end
	if @PollutantType=5
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.出口污染物浓度 is null then ''	
					 when @JoinType=2 and a.出口污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_污水处理厂监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			join 业务_污水处理厂信息 c
			on a.监测年=c.监测年 and a.企业代码=c.企业代码
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and c.受纳水体代码=@MonitorStationCode and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.浓度是否达标=0 or a.浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=6
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.浓度是否达标=0 or a.浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
	end
	if @PollutantType=7
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.污染物浓度 is null then ''	
					 when @JoinType=2 and a.污染物浓度 is null then b.监测项目名称+'(未监测);'
				else case 
					 when a.超标倍数<>'' and cast(a.超标倍数 as float)<0.05 then b.监测项目名称+'(<0.05)'
					 when a.超标倍数<>'' then b.监测项目名称+'('+a.超标倍数+');' 
					 else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.次数=@Num and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and (a.污染物浓度是否达标=0 or a.污染物浓度是否达标 is null) and a.排放上限 is not null
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end

	RETURN @OverStandardDesc

END

GO

----------------------------------------
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetJZOverStandardDesc]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetJZOverStandardDesc]
GO

--基准排放达标获取超标说明
CREATE FUNCTION [dbo].[GetJZOverStandardDesc]
(
	@JoinType int,--应测未测 1:不参加评价,2:以不达标参加评价
	@Year int,--监测年
	@Quarter int,--季度
	@Num int,--次数
	@Date datetime,--监测日期
	@EnterpriseCode varchar(50),--企业代码
	@MonitorStationCode varchar(50),--监测点代码
	@MonitorItemCode varchar(max),--监测项目编号
	@PollutantType int--监测项目类型 1,废水监测点;2,废气监测点;3,废水受纳水体;4,废气排放设备;5.污水处理厂受纳水体	
)
RETURNS varchar(1000)
AS
BEGIN
	DECLARE @OverStandardDesc varchar(1000)
	--将监测项目存到临时表变量中
	declare @tmp_监测项目 table(监测项目编号 nvarchar(50))
	declare @location int
	declare @start int
	set @location = charindex(',',@MonitorItemCode)
	while charindex(',',@MonitorItemCode)<>0
	begin
		insert into @tmp_监测项目 values (substring(@MonitorItemCode,1,charindex(',',@MonitorItemCode)-1))
		set @MonitorItemCode = stuff(@MonitorItemCode,1,charindex(',',@MonitorItemCode),'')
	end
	insert into @tmp_监测项目 values (@MonitorItemCode)
	if(@MonitorItemCode='')
	begin
		insert into @tmp_监测项目 select distinct 监测项目编号 from 系统_监测项目
	end
	--开始判断类型
	if @PollutantType=1
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.监测点代码=@MonitorStationCode and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=2 
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.监测点代码=@MonitorStationCode and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
	end
	if @PollutantType=3
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			join 业务_废水排口信息 c
			on a.监测年=c.监测年 and a.企业代码=c.企业代码 and a.监测点代码=c.监测点代码 and a.企业类型=c.企业类型
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and c.受纳水体代码=@MonitorStationCode and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=4
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.排污设备代码=@MonitorStationCode and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
	end
	if @PollutantType=5
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_污水处理厂监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			join 业务_污水处理厂信息 c
			on a.监测年=c.监测年 and a.企业代码=c.企业代码
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and c.受纳水体代码=@MonitorStationCode and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end
	if @PollutantType=6
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废气监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=2 FOR XML PATH('')
		)
	end
	if @PollutantType=7
	begin
		select @OverStandardDesc=
		(
			select
			(
				case when @JoinType=1 and a.基准超标倍数 is null then ''	
					 when @JoinType=2 and a.基准超标倍数 is null then b.监测项目名称+'(未监测);'
				else case when a.基准超标倍数<>'' then b.监测项目名称+'('+a.基准超标倍数+');' else b.监测项目名称+';' end end
			)
			from 业务_废水监测数据 a join 系统_监测项目 b
			on a.监测项目编号=b.监测项目编号
			where a.监测年=@Year and a.季度=@Quarter and a.企业代码=@EnterpriseCode
			and a.次数=@Num  and a.监测项目编号 in (select 监测项目编号 from @tmp_监测项目)
			and convert(datetime,convert(varchar,a.监测年)+'-'+convert(varchar,a.监测月)+'-'+convert(varchar,a.监测日))=@Date
			and a.是否参与基准浓度 is not null and a.基准浓度是否达标=0
			and b.监测项目类别编号=1 FOR XML PATH('')
		)
	end

	RETURN @OverStandardDesc

END

GO

-----------------------------------------------
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetIsOverStarndard]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetIsOverStarndard]
GO

--=======================================
-- Author:      hanfei modify
-- Date:	    2011-10-24
-- Description: 计算监测项目是否超标 1:达标,0:未达标,NULL:不参与计算
-- 是否超标判断方法如下：
--=======================================
CREATE function [dbo].[GetIsOverStarndard] 
(
    @污染物浓度 numeric(18,6),	--废水/废气污染物浓度
    @排放下限 numeric(18,6),	--废水/废气排放下限
    @排放上限 numeric(18,6),	--废水/废气排放上限
    @监测项目编号 varchar(50)	--废水/废气监测项目编号
)
returns bit
as
begin
    --定义返回值
    declare @returnvalue bit
    set @returnvalue = NULL
    if(@污染物浓度 is not null and @排放上限 is not null)
    begin
		set @returnvalue = 1
		--如果标准限值为0
		if(@排放上限=0)
		begin
			if(@污染物浓度<=0)
			begin 
				set @returnvalue=1 
			end
			else
			begin
				set @returnvalue=0
			end
		end
		--如果标准限值大于0
		if(@排放上限>0)
		begin
			if(@污染物浓度<=0)
			begin
				set @污染物浓度 = ABS(@污染物浓度)/2
			end
			if(@污染物浓度>@排放上限)
			begin
				set @returnvalue=0
			end
			if(upper(rtrim(@监测项目编号))='W_1' and @排放下限>0 and @污染物浓度<@排放下限)
			begin
				set @returnvalue=0
			end
		end
	end
    return @returnvalue
end
GO

-----------------------------------------------


IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetAllStandardConditions]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetAllStandardConditions]
GO
CREATE FUNCTION [dbo].[GetAllStandardConditions] 
(
	@standardcode varchar(50),
	@standardcondition varchar(50)
)
RETURNS varchar(max)
AS
BEGIN
-- Declare the return variable here
declare @rlst varchar(max)
declare @parentcode varchar(50)
declare @conditionname varchar(200)
select @rlst=''
select @parentcode=条件父编码,@conditionname=条件名称项 from 系统_标准库条件 
where 条件编码=@standardcondition and 标准代码=@standardcode
if (@parentcode!='0' and @parentcode!='' and @parentcode is not null)
begin
	select @rlst=@rlst+[dbo].[GetAllStandardConditions](@standardcode,@parentcode)
end
select @rlst=@rlst+'/'+@conditionname
-- Return the result of the function
RETURN @rlst
END

GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetStarndardRange]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[GetStarndardRange]
GO
CREATE FUNCTION [dbo].[GetStarndardRange] 
(
	@排放下限 numeric(18,6),
	@排放上限 numeric(18,6)
)
RETURNS varchar(50)
AS
BEGIN
	-- Declare the return variable here
	DECLARE @rlst varchar(50)  
	select @rlst=''
	                                    	
	if(@排放下限>0)
	begin
		select @rlst=convert(varchar,isnull(@排放下限,0))+'-'
		+convert(varchar,isnull(@排放上限,0))
	end
	else 
	begin
		select @rlst=convert(varchar,isnull(@排放上限,0))
	end
	-- Return the result of the function
	RETURN @rlst
END

---------------------------------------------------------------------------------
GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[IsOverStandard]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
DROP FUNCTION [dbo].[IsOverStandard]
GO
/****** Object:  UserDefinedFunction [dbo].[IsOverStandard]    Script Date: 12/03/2011 15:35:53 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION [dbo].[IsOverStandard] 
(
	@排放浓度 numeric(12,2),
	@排放下限 numeric(18,6),
	@排放上限 numeric(18,6)
)
RETURNS varchar(10) 
AS
BEGIN
-- Declare the return variable here

DECLARE @rlst bit 
set @rlst=null

-- Add the T-SQL statements to compute the return value here
             
if(@排放上限 is null and @排放下限 is null)
begin
	select @rlst=null
end
else
begin                   	
	if(@排放下限>0)
	begin
		if(@排放浓度<=@排放上限 and @排放浓度>=@排放下限)
			select @rlst=1
		else
			select @rlst=0
	end
	else 
		begin
		if (@排放浓度<=@排放上限)
			select @rlst=1
		else
			select @rlst=0
	end
end
                                    	
-- Return the result of the function
RETURN @rlst
END
                                     
GO


