--更新企业类型--
update a set a.企业类型 = 3
from dbo.业务_污染源名录库_总站 a inner join 
dbo.业务_固废处理厂信息 b
on a.行政区代码=b.行政区代码 and a.法人代码=b.法人代码 and a.企业名称=b.详细名称

update a set a.企业类型 = 2
from dbo.业务_污染源名录库_总站 a inner join 
dbo.业务_污水处理厂信息 b
on a.行政区代码=b.行政区代码 and a.法人代码=b.法人代码 and a.企业名称=b.详细名称
--先删除外键约束
if exists ( SELECT *
                from sysobjects
                where   name = 'FK_业务_抽测数据_比对数据_业务_抽测数据_基本信息'
           )
alter table [业务_抽测数据_比对数据]
drop constraint FK_业务_抽测数据_比对数据_业务_抽测数据_基本信息
GO

if exists ( SELECT *
                from sysobjects
                where   name = 'FK_业务_抽测数据_抽测数据_业务_抽测数据_基本信息'
		  )
alter table [业务_抽测数据_抽测数据]
drop constraint FK_业务_抽测数据_抽测数据_业务_抽测数据_基本信息
GO

if exists ( SELECT *
                from sysobjects
                where   name = 'FK_业务_抽测数据_基本信息_业务_抽测数据_抽测企业'
          )
alter table [业务_抽测数据_基本信息]
drop constraint FK_业务_抽测数据_基本信息_业务_抽测数据_抽测企业
GO

if exists ( SELECT *
                from sysobjects
                where   name = 'FK_业务_抽测比对评价项目标准_业务_抽测比对评价项目'
          )
alter table [业务_抽测比对评价项目标准]
drop constraint FK_业务_抽测比对评价项目标准_业务_抽测比对评价项目
GO
if not exists (select 1
            from  sysobjects
           where  id = object_id('[系统_监测产品]')
            and   type = 'U')
Begin
	CREATE TABLE [dbo].[系统_监测产品](
		[产品编码] [nvarchar](50) NOT NULL,
		[产品名称] [nvarchar](50) NULL,
	PRIMARY KEY CLUSTERED 
	(
		[产品编码] 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
--业务_抽测数据_抽测企业
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_抽测数据_抽测企业]')
            and   type = 'U')
begin
	CREATE TABLE [dbo].[业务_抽测数据_抽测企业](
	[企业代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测年] [numeric](4, 0) NOT NULL,
	[类型] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[企业名称] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[地区编码] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[地区名称] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[控制级别] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[法人代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[行业代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[行业名称] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	 CONSTRAINT [PK_业务_抽测数据_抽测企业] PRIMARY KEY CLUSTERED 
	(
		[企业代码] ASC,
		[监测年] ASC,
		[类型] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
end
GO

--业务_抽测数据_基本信息
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_抽测数据_基本信息]')
            and   type = 'U')
begin
	CREATE TABLE [dbo].[业务_抽测数据_基本信息](
	[主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_业务_抽测数据_基本信息_主键]  DEFAULT (newid()),
	[企业代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测年] [numeric](4, 0) NOT NULL,
	[类型] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测点] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测点名称] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[监测项目编号] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测项目名称] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[抽测站] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
	[抽测站监测仪器] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[抽测站监测方法] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[被抽测站] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
	[被抽测站监测仪器] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[被抽测站监测方法] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[自动监测仪器] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[自动监测方法] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	 CONSTRAINT [PK_业务_抽测数据_基本信息] PRIMARY KEY CLUSTERED 
	(
		[主键] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
end
GO

ALTER TABLE [dbo].[业务_抽测数据_基本信息]  WITH CHECK ADD  CONSTRAINT [FK_业务_抽测数据_基本信息_业务_抽测数据_抽测企业] FOREIGN KEY([企业代码], [监测年], [类型])
REFERENCES [dbo].[业务_抽测数据_抽测企业] ([企业代码], [监测年], [类型])
ON UPDATE CASCADE
ON DELETE CASCADE

GO


--业务_抽测数据_抽测数据
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_抽测数据_抽测数据]')
            and   type = 'U')
begin
	CREATE TABLE [dbo].[业务_抽测数据_抽测数据](
	[主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_业务_抽测数据_抽测数据_主键]  DEFAULT (newid()),
	[基本信息主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测日期] [datetime] NOT NULL,
	[抽测站监测值] [numeric](15, 6) NULL,
	[被抽测站监测值] [numeric](15, 6) NULL,
	 CONSTRAINT [PK_业务_抽测数据_抽测数据] PRIMARY KEY CLUSTERED 
	(
		[主键] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
	end
GO

ALTER TABLE [dbo].[业务_抽测数据_抽测数据]  WITH CHECK ADD  CONSTRAINT [FK_业务_抽测数据_抽测数据_业务_抽测数据_基本信息] FOREIGN KEY([基本信息主键])
REFERENCES [dbo].[业务_抽测数据_基本信息] ([主键])
ON UPDATE CASCADE
ON DELETE CASCADE

GO


--业务_抽测数据_比对数据
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_抽测数据_比对数据]')
            and   type = 'U')
begin
	CREATE TABLE [dbo].[业务_抽测数据_比对数据](
	[主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[基本信息主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[监测日期] [datetime] NOT NULL,
	[监测时] [int] NULL,
	[抽测站监测值] [numeric](15, 6) NULL,
	[监测仪器型号] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
		[监测值] [numeric](15, 6) NULL,
	 CONSTRAINT [PK_业务_抽测数据_比对数据] PRIMARY KEY CLUSTERED 
	(
		[主键] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
end
GO

ALTER TABLE [dbo].[业务_抽测数据_比对数据]  WITH CHECK ADD  CONSTRAINT [FK_业务_抽测数据_比对数据_业务_抽测数据_基本信息] FOREIGN KEY([基本信息主键])
REFERENCES [dbo].[业务_抽测数据_基本信息] ([主键])
ON UPDATE CASCADE
ON DELETE CASCADE

GO


--业务_抽测数据_实验室数据
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_抽测数据_实验室数据]')
            and   type = 'U')
begin
	CREATE TABLE [dbo].[业务_抽测数据_实验室数据](
	[主键] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_业务_抽测数据_实验室数据_主键]  DEFAULT (newid()),
	[地区编码] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[地区名称] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	[监测项目名称] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[测试日期] [datetime] NOT NULL,
	[测试单位] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
	[定值中位值] [numeric](15, 6) NULL,
	[允许误差] [numeric](15, 6) NULL,
	[仪器名称] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
	[仪器品牌型号] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[监测方法] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
	[测定值] [numeric](15, 6) NULL,
	 CONSTRAINT [PK_业务_抽测数据_实验室数据] PRIMARY KEY CLUSTERED 
	(
		[主键] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
end
GO

--业务_企业未监测原因
if not exists (select 1
            from  sysobjects
           where  id = object_id('[业务_企业未监测原因]')
            and   type = 'U')
begin	
	CREATE TABLE [dbo].[业务_企业未监测原因](
	[监测年] [numeric](4, 0) NOT NULL,
	[企业代码] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[企业类型] [char](1) COLLATE Chinese_PRC_CI_AS NOT NULL,
	[季度] [numeric](4, 0) NOT NULL,
	[未监测原因] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
	 CONSTRAINT [PK_业务_企业未监测原因] PRIMARY KEY CLUSTERED 
	(
		[监测年] ASC,
		[企业代码] ASC,
		[企业类型] ASC,
		[季度] ASC
	)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
	) ON [PRIMARY]
end
GO

--创建视图
--V_废气统计检查
if exists (select name
            from  sys.views 
           where  name = 'V_废气统计检查')
   drop view [V_废气统计检查]
GO
CREATE VIEW [dbo].[V_废气统计检查]
AS
select distinct a.企业代码,a.监测年 年度,a.季度,污染源控制级别代码,污染源控制级别代码气,行政区代码 
from dbo.业务_废气监测数据 a 
	inner join
dbo.业务_企业基本信息 b on a.企业代码=b.企业代码 and a.监测年=b.监测年
where a.污染物浓度 IS NOT NULL
go


--V_废气统计检查固废
if exists (select name
            from  sys.views 
           where  name = 'V_废气统计检查固废')
   drop view [V_废气统计检查固废]
GO
CREATE VIEW [dbo].[V_废气统计检查固废]
AS
select distinct a.企业代码,a.监测年 年度,a.季度,控制级别代码,行政区代码 
from dbo.业务_废气监测数据 a 
	inner join
dbo.业务_固废处理厂信息 b on a.企业代码=b.企业代码 and a.监测年=b.监测年
where a.污染物浓度 IS NOT NULL
go


--V_废水统计检查
if exists (select name
            from  sys.views 
           where  name = 'V_废水统计检查')
   drop view [V_废水统计检查]
GO
CREATE VIEW [dbo].[V_废水统计检查]
AS
select distinct a.企业代码,a.监测年 年度,a.季度,污染源控制级别代码,污染源控制级别代码气,行政区代码 
from dbo.业务_废水监测数据 a 
	inner join
dbo.业务_企业基本信息 b on a.企业代码=b.企业代码 and a.监测年=b.监测年
where a.污染物浓度 IS NOT NULL
go


--V_废水统计检查固废
if exists (select name
            from  sys.views 
           where  name = 'V_废水统计检查固废')
   drop view [V_废水统计检查固废]
GO
CREATE VIEW [dbo].[V_废水统计检查固废]
AS
select distinct a.企业代码,a.监测年 年度,a.季度,控制级别代码,行政区代码 
from dbo.业务_废水监测数据 a 
	inner join
dbo.业务_固废处理厂信息 b on a.企业代码=b.企业代码 and a.监测年=b.监测年
where a.污染物浓度 IS NOT NULL
go

--创建存储过程，获取达标评价数据GetPJBZ
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetPJBZ]') and OBJECTPROPERTY(id, N'IsProcedure') = 1) 
drop procedure [dbo].[GetPJBZ]
go
CREATE proc [dbo].[GetPJBZ]
(
	@ztType nvarchar(50),
	@sqType nvarchar(50),
	@jcItemName nvarchar(50),
	@jsValue decimal
)
as
begin
	declare @flag bit
	set @flag = 0
	declare @value nvarchar(50)
	set @value = ''
	select @flag = 是否忽略指标值,@value=标准主键 from dbo.抽测比对评价项目标准
		where 主体类别= @ztType and 水气类别=@sqType and 监测项目名称=@jcItemName
	if(@value = '')
		set @jcItemName = '其它污染物'

	if(@flag = 1 or @value = '')
		select * from dbo.抽测比对评价项目标准 
		where 主体类别= @ztType and 水气类别=@sqType and 监测项目名称=@jcItemName
	else
		select * from dbo.抽测比对评价项目标准
		where 主体类别= @ztType and 水气类别=@sqType and 监测项目名称=@jcItemName
		and 区间最小值<=@jsValue and 区间最大值>@jsValue
end
go
if exists (select name
            from  sys.views 
           where  name = 'V_抽测数据_比对数据')
   drop view [V_抽测数据_比对数据]
GO

CREATE VIEW [dbo].[V_抽测数据_比对数据]
AS
	SELECT     dbo.业务_抽测数据_比对数据.主键, dbo.业务_抽测数据_比对数据.基本信息主键, dbo.业务_抽测数据_基本信息.企业代码, 
						  dbo.业务_抽测数据_基本信息.监测年, dbo.业务_抽测数据_基本信息.类型, dbo.业务_抽测数据_基本信息.监测点, 
						  dbo.业务_抽测数据_基本信息.监测项目编号, dbo.业务_抽测数据_基本信息.监测项目名称, dbo.业务_抽测数据_比对数据.监测日期, 
						  dbo.业务_抽测数据_比对数据.监测时, dbo.业务_抽测数据_基本信息.抽测站, dbo.业务_抽测数据_基本信息.抽测站监测仪器, 
						  dbo.业务_抽测数据_基本信息.抽测站监测方法, dbo.业务_抽测数据_比对数据.抽测站监测值, 
						  dbo.业务_抽测数据_基本信息.自动监测仪器 AS 监测仪器, dbo.业务_抽测数据_比对数据.监测仪器型号, 
						  dbo.业务_抽测数据_基本信息.自动监测方法 AS 监测方法, dbo.业务_抽测数据_比对数据.监测值, dbo.业务_抽测数据_抽测企业.企业名称, 
						  dbo.业务_抽测数据_抽测企业.地区编码, dbo.业务_抽测数据_抽测企业.地区名称, dbo.业务_抽测数据_抽测企业.行业代码, 
						  dbo.业务_抽测数据_抽测企业.行业名称, dbo.业务_抽测数据_基本信息.监测点名称, dbo.业务_抽测数据_基本信息.被抽测站
	FROM         dbo.业务_抽测数据_比对数据 INNER JOIN
						  dbo.业务_抽测数据_基本信息 ON dbo.业务_抽测数据_比对数据.基本信息主键 = dbo.业务_抽测数据_基本信息.主键 INNER JOIN
						  dbo.业务_抽测数据_抽测企业 ON dbo.业务_抽测数据_基本信息.企业代码 = dbo.业务_抽测数据_抽测企业.企业代码 AND 
						  dbo.业务_抽测数据_基本信息.监测年 = dbo.业务_抽测数据_抽测企业.监测年 AND 
						  dbo.业务_抽测数据_基本信息.类型 = dbo.业务_抽测数据_抽测企业.类型
GO
if exists (select name
            from  sys.views 
           where  name = 'V_抽测数据_抽测数据')
   drop view [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.业务_抽测数据_抽测企业.地区编码, dbo.业务_抽测数据_抽测企业.行业代码, 
                      dbo.业务_抽测数据_抽测企业.行业名称, dbo.业务_抽测数据_基本信息.监测点名称
FROM         dbo.业务_抽测数据_抽测数据 INNER JOIN
                      dbo.业务_抽测数据_基本信息 ON dbo.业务_抽测数据_抽测数据.基本信息主键 = dbo.业务_抽测数据_基本信息.主键 INNER JOIN
                      dbo.业务_抽测数据_抽测企业 ON dbo.业务_抽测数据_基本信息.企业代码 = dbo.业务_抽测数据_抽测企业.企业代码 AND 
                      dbo.业务_抽测数据_基本信息.监测年 = dbo.业务_抽测数据_抽测企业.监测年 AND 
                      dbo.业务_抽测数据_基本信息.类型 = dbo.业务_抽测数据_抽测企业.类型

GO

--抽测比对评价项目标准
if exists (select name
            from  sys.views 
           where  name = '抽测比对评价项目标准')
   drop view [抽测比对评价项目标准]
GO
CREATE VIEW [dbo].[抽测比对评价项目标准]
AS
SELECT    b.标准主键, b.项目主键, a.监测项目编码, 
          a.监测项目名称, a.水气类别, a.主体类别, a.序号,
		  case when 是否忽略指标值 = 0 then isnull(b.区间最小值,-999999999.999999) end 区间最小值, 
		  case when 是否忽略指标值 = 0 then	isnull(b.区间最大值,999999999.999999) end 区间最大值, 
          b.指标单位, b.是否忽略指标值, b.标准最小值, 
          b.标准最大值,b.标准值字符串, b.标准单位, b.标准类型, 
          b.标准序号, b.备注
FROM      dbo.业务_抽测比对评价项目 a INNER JOIN
          dbo.业务_抽测比对评价项目标准 b 
		  ON a.项目主键 = b.项目主键

GO

--V_监测系统设备
if exists (select name
            from  sys.views 
           where  name = 'V_监测系统设备')
   drop view [V_监测系统设备]
GO
CREATE VIEW [dbo].[V_监测系统设备]
AS
SELECT     dbo.业务_在线监测系统设备.监测系统ID号, dbo.业务_在线监测系统.监测年, dbo.业务_在线监测系统.企业类型, dbo.业务_在线监测系统.企业代码, 
                      dbo.业务_在线监测系统.监测点代码, dbo.业务_在线监测系统.监测系统名称, dbo.业务_在线监测系统设备.监测设备名称, 
                      dbo.业务_在线监测系统设备.监测设备型号, dbo.业务_在线监测系统设备.设备生产厂家, dbo.业务_在线监测设备项目.监测设备ID号, 
                      dbo.业务_在线监测设备项目.id, dbo.业务_在线监测设备项目.监测项目代码
FROM         dbo.业务_在线监测系统 INNER JOIN
                      dbo.业务_在线监测系统设备 ON dbo.业务_在线监测系统.id = dbo.业务_在线监测系统设备.监测系统ID号 INNER JOIN
                      dbo.业务_在线监测设备项目 ON dbo.业务_在线监测系统设备.监测系统ID号 = dbo.业务_在线监测设备项目.监测系统ID号 AND 
                      dbo.业务_在线监测系统设备.id = dbo.业务_在线监测设备项目.监测设备ID号

GO
--实验室数据增加字段
if not exists(select * from syscolumns where id=object_id('业务_抽测数据_实验室数据') and name='监测项目编码')
begin
	truncate table 业务_抽测数据_实验室数据
	alter table dbo.业务_抽测数据_实验室数据
	add 监测项目编码 varchar(50)
end








--1201--

--创建视图--
if exists (select name
            from sysobjects
           where  name = 'V_名录库_固废处理厂' and xtype = 'V')
   drop view [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
GO


if exists (select name
            from sysobjects
           where  name = 'V_名录库_污染源' and xtype = 'V')
   drop view [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
	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
GO



if exists (select name
            from sysobjects
           where  name = 'V_名录库_污水处理厂' and xtype = 'V')
   drop view [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
GO


--字段字符长度设计太短 modify lizf 20120214--
ALTER   TABLE   系统_日志   ALTER   COLUMN   操作描述   nvarchar(2000) 

ALTER   TABLE   业务_抽测数据_抽测数据   ALTER   COLUMN   抽测站监测值   numeric(18, 6) 
ALTER   TABLE   业务_抽测数据_抽测数据   ALTER   COLUMN   被抽测站监测值   numeric(18, 6) 
ALTER   TABLE   业务_抽测数据_比对数据   ALTER   COLUMN   抽测站监测值   numeric(18, 6) 
ALTER   TABLE   业务_抽测数据_比对数据   ALTER   COLUMN   监测值   numeric(18, 6) 
ALTER   TABLE   业务_抽测数据_实验室数据   ALTER   COLUMN   定值中位值   numeric(18, 6) 
ALTER   TABLE   业务_抽测数据_实验室数据   ALTER   COLUMN   允许误差   numeric(18, 6)
ALTER   TABLE   业务_抽测数据_实验室数据   ALTER   COLUMN   测定值   numeric(18, 6)


ALTER   TABLE   业务_废气监测数据   ALTER   COLUMN   处理设施前实测浓度   numeric(18, 6) 
ALTER   TABLE   业务_废气监测数据   ALTER   COLUMN   污染物实测浓度   numeric(18, 6) 
ALTER   TABLE   业务_废气监测数据   ALTER   COLUMN   污染物折算浓度   numeric(18, 6) 
ALTER   TABLE   业务_废气监测数据   ALTER   COLUMN   污染物浓度   numeric(18, 6) 
ALTER   TABLE   业务_废气监测数据   ALTER   COLUMN   在线监测污染物排放浓度   numeric(18, 6) 

ALTER   TABLE   业务_废水监测数据   ALTER   COLUMN   污染物浓度   numeric(18, 6) 
ALTER   TABLE   业务_废水监测数据   ALTER   COLUMN   在线监测污染物排放浓度   numeric(18, 6) 


ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   进口污染物浓度   numeric(18, 6) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   进口污染物量   numeric(25, 6) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   出口污染物浓度   numeric(18, 6) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   出口污染物排放量   numeric(25, 6) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   出口在线监测浓度   numeric(18, 6) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   出口在线监测排放量   numeric(12, 2)
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   出口水量   numeric(12, 2) 
ALTER   TABLE   业务_污水处理厂监测数据   ALTER   COLUMN   进口水量   numeric(12, 2) 

ALTER   TABLE   业务_企业监测日生产台帐   ALTER   COLUMN   燃料煤产地   varchar(100)


--系统_标准库标准类别 增加主键
if exists ( SELECT *
                from sysobjects
                where   name = 'PK_系统_标准库标准类别'
		  )
alter table 系统_标准库标准类别 drop constraint PK_系统_标准库标准类别
alter table 系统_标准库标准类别 add constraint PK_系统_标准库标准类别 primary key (污染物监测类型编号)


--修改企业废气排放设备字段值
update 业务_企业废气排放设备
set 排放设备类型值=生产能力

--解决无组织排放未导入数据
if exists (select 1 from sysobjects where id = object_id('业务_无组织排放信息') and type = 'U')
begin
	if not exists (select 1 from sysobjects where id = object_id('Temp_业务_无组织排放信息') and type = 'U')
	begin
		create table Temp_业务_无组织排放信息
		(
			ID varchar(50) default(newid()) not null,
			监测年 int not null,
			企业代码 nvarchar(50) not null,
			监测点代码 nvarchar(50) not null,
			监测点名称 nvarchar(50) not null,		
			备注 nvarchar(MAX) null,
			企业类型 char(1) not null
		) 
	end
	insert into Temp_业务_无组织排放信息 select * from 业务_无组织排放信息
	drop table 业务_无组织排放信息
	exec sp_rename 'Temp_业务_无组织排放信息','业务_无组织排放信息','object'
	alter table 业务_无组织排放信息 add constraint PK_业务_无组织排放信息 PRIMARY KEY (ID)
end 
go


--增加字段 采用何种处理设施
if exists(
	select * from syscolumns where id=object_id('业务_企业废气处理设施信息') and name='采用何种处理设施'
)
begin
	alter table dbo.业务_企业废气处理设施信息 drop COLUMN  采用何种处理设施
	alter table dbo.业务_企业废气处理设施信息
	add 采用何种处理设施 nvarchar(50)
end
else
	alter table dbo.业务_企业废气处理设施信息 add 采用何种处理设施 nvarchar(50)


--废气在线比对_次达标情况增加主键 
alter table 业务_废气在线比对_次达标情况 alter column 监测日期 datetime not null
go
if exists ( SELECT *
                from sysobjects
                where   name = 'PK_业务_废气在线比对_次达标情况'
		  )
alter table 业务_废气在线比对_次达标情况 drop constraint PK_业务_废气在线比对_次达标情况
alter table 业务_废气在线比对_次达标情况 add constraint PK_业务_废气在线比对_次达标情况
 primary key (监测年,次数,监测日期,企业类型,企业代码,监测点代码,监测项目编号)
 go