USE [Data Inspection]
GO
/* Object: StoredProcedure [dbo].[data_extraction] Script Date: 2018/8/4 15:04:35 */
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
–数据处理步骤
–将从数据库提取的数据导入到origin_data_temp
–将origin_data_temp中FTIR 数据复制到FTIR_original_temp
–将origin_data_temp中DOAS 数据复制到DOAS_original_temp,并转换数据单位/1000
–将origin_data_temp中重金属数据复制到metal_original_temp
–执行存储过程FTIR_DATA_PROCESSING
ALTER proc [dbo].[data_extraction]
@startime datetime,
@endtime datetime,
@Base_StationInfo_ID int, – 站房ID
@Base_InstrumentInfo_ID int – 设备ID
as
begin
Declare
@UpStartTime datetime,
@UpEndTime datetime
set @UpStartTime = DATEADD(hour,12,@startime)
set @UpEndTime = DATEADD(hour,12,@endtime)
--分离FTIR数据
if (select COUNT(*) from original_data_temp where belongDevices = 0) > 0
begin
select * into FTIR_original_data_temp from original_data_temp where belongDevices = 0 and reportTime > @UpStartTime and reportTime < @UpEndTime
end
--分离DOAS数据
if (select COUNT(*) from original_data_temp where belongDevices = 1) > 0
begin
select * into DOAS_original_data_temp from original_data_temp WHERE belongDevices = 1 and monitorName in('二氧化硫','二氧化氮','氯气','臭氧') and reportTime between @UpStartTime and @UpEndTime
if exists (select *from sysobjects where id = OBJECT_ID(N'[DOAS_original_data_temp]') and OBJECTPROPERTY(id,N'IsUserTable') = 1)
begin
UPDATE DOAS_original_data_temp SET repairValue = repairValue/1000
end
end
--分离重金属数据
--if exists (select * from original_data_temp where belongDevices = 5)
--select * into metal_original_data_temp from original_data_temp where belongDevices = 5 and reportTime between @UpStartTime and @UpEndTime
--将数据插入总表中
--insert into original_data([id],[stationID],[stationName],[devicesID],[devicesName],[monitorID],[monitorName],[belongDevices],[reportTime],[originalData],[repairValue],[unitID],[unit],[siteID],[itemID],[weatherReportTime],[temperature],[tempExplain],[humidity],[humidityExplain],[windDirection],[windDirectionExplain],[windSpeed],[windSpeedExplain])
-- select [id],[stationID],[stationName],[devicesID],[devicesName],[monitorID],[monitorName],[belongDevices],[reportTime],[originalData],[repairValue],[unitID],[unit],[siteID],[itemID],[weatherReportTime],[temperature],[tempExplain],[humidity],[humidityExplain],[windDirection],[windDirectionExplain],[windSpeed],[windSpeedExplain] from original_data_temp
--更新区域编号和删除临时表
--update original_data set area = @Base_StationInfo_ID where area is null
end