36 lines
1.2 KiB
Transact-SQL
36 lines
1.2 KiB
Transact-SQL
|
|
CREATE OR ALTER PROCEDURE [dbo].[Sp_HazardFactor_Statistics]
|
||
|
|
@year NVARCHAR(20)=NULL,
|
||
|
|
@month NVARCHAR(20)=NULL,
|
||
|
|
@unitId NVARCHAR(200)=NULL,
|
||
|
|
@projectId NVARCHAR(200)=NULL
|
||
|
|
AS
|
||
|
|
BEGIN
|
||
|
|
SET NOCOUNT ON;
|
||
|
|
WITH CTE AS (
|
||
|
|
SELECT
|
||
|
|
ROW_NUMBER() OVER (
|
||
|
|
PARTITION BY tba.Year,tba.Month,tba.WorkPlace,tba.JobStep,tba.Hazard,tba.Consequence,tba.Illegality,
|
||
|
|
tba.BaseRiskSeverity,tba.BaseRiskProbability,tba.BaseRiskScore,tba.BaseRiskLevel,tba.BaseRiskAcceptabity,
|
||
|
|
tba.NetRiskControlMeasures,tba.NetRiskSeverity,tba.NetRiskProbability,tba.NetRiskScore,tba.NetRiskLevel,
|
||
|
|
tba.NetRiskAcceptabity,tba.AdditionalControlMeasures
|
||
|
|
ORDER BY CompileDate desc
|
||
|
|
) as rn,
|
||
|
|
--tbb.ProjectName,
|
||
|
|
tba.BaseRiskLevel
|
||
|
|
FROM HazardFactor_Safety AS tba WITH(NOLOCK)
|
||
|
|
--LEFT JOIN Base_Project AS tbb WITH(NOLOCK) ON tbb.ProjectId = tba.ProjectId
|
||
|
|
WHERE 1=1
|
||
|
|
AND tba.State = 1
|
||
|
|
AND tba.Year = @year
|
||
|
|
AND tba.Month = @month
|
||
|
|
--单位条件:@unitId为空查所有,有值则过滤单位
|
||
|
|
AND (@unitId IS NULL OR @unitId = '' OR tba.UnitId = @unitId)
|
||
|
|
--项目条件:为空不过滤
|
||
|
|
AND (@projectId IS NULL OR @projectId = '' OR tba.ProjectId = @projectId)
|
||
|
|
)
|
||
|
|
SELECT BaseRiskLevel AS Title,COUNT(1) AS Num
|
||
|
|
FROM CTE
|
||
|
|
WHERE rn = 1
|
||
|
|
GROUP BY BaseRiskLevel
|
||
|
|
END
|