148 lines
3.5 KiB
Transact-SQL
148 lines
3.5 KiB
Transact-SQL
SET ANSI_NULLS ON;
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON;
|
|
GO
|
|
-- =============================================
|
|
-- Author: 蔡峰
|
|
-- Create date: 2024-07-20
|
|
-- Description: 根据用户的权限获取OEM 或者 KH的设备操作权限
|
|
-- =============================================
|
|
CREATE FUNCTION func_GetDeviceInfoByUserAuth
|
|
(
|
|
@LoginCode VARCHAR(50)
|
|
)
|
|
RETURNS @DevRtnView TABLE
|
|
(
|
|
AutoID INT NOT NULL,
|
|
GUID UNIQUEIDENTIFIER NOT NULL,
|
|
EquipmentID VARCHAR(50) NULL,
|
|
EquipmentName NVARCHAR(200) NULL,
|
|
Specification NVARCHAR(200) NULL,
|
|
Manufacturer NVARCHAR(200) NULL,
|
|
SerialNumber NVARCHAR(200) NULL,
|
|
UsingDate VARCHAR(10) NULL,
|
|
Totalcapacity FLOAT NULL,
|
|
Weight FLOAT NULL,
|
|
EquipmentCategory NVARCHAR(20) NULL,
|
|
EquipmentOriginalvalue MONEY NULL,
|
|
EquipmentStatus INT NULL,
|
|
WarrantyPeriod NVARCHAR(50) NULL,
|
|
InstallationLocation NVARCHAR(200) NULL,
|
|
OwningUnit NVARCHAR(200) NULL,
|
|
OperatingParameters NVARCHAR(200) NULL,
|
|
MaintenanceFormVersion INT NULL,
|
|
Route INT NULL,
|
|
CreatDate DATETIME NULL,
|
|
CreatUser INT NULL,
|
|
ChangeDate DATETIME NULL,
|
|
ChangeUser INT NULL,
|
|
Remarks NVARCHAR(2000) NULL
|
|
)
|
|
AS
|
|
BEGIN
|
|
/* 权限临时表 */
|
|
DECLARE @AuthView TABLE
|
|
(
|
|
AuthCode VARCHAR(50)
|
|
);
|
|
|
|
INSERT INTO @AuthView
|
|
(
|
|
AuthCode
|
|
)
|
|
SELECT au.AuthCode
|
|
FROM dbo.UserInfo us
|
|
INNER JOIN dbo.RoleAuths ra
|
|
ON us.RoleGroup = ra.RoleID
|
|
INNER JOIN dbo.Auths au
|
|
ON ra.AutoID = au.AutoID
|
|
AND au.AuthCode IN ( 'DEVICE_KH', 'DEVICEL_OEM' )
|
|
WHERE us.LoginCode = @LoginCode;
|
|
|
|
/* 设备ID 表 */
|
|
DECLARE @DevView TABLE
|
|
(
|
|
DevID INT
|
|
);
|
|
|
|
IF EXISTS (SELECT 1 FROM @AuthView WHERE AuthCode = 'DEVICE_KH')
|
|
BEGIN
|
|
INSERT INTO @DevView
|
|
(
|
|
DevID
|
|
)
|
|
SELECT AutoID
|
|
FROM dbo.View_DeviceRoot
|
|
WHERE RootName = 'KH';
|
|
END;
|
|
|
|
IF EXISTS (SELECT 1 FROM @AuthView WHERE AuthCode = 'DEVICEL_OEM')
|
|
BEGIN
|
|
INSERT INTO @DevView
|
|
(
|
|
DevID
|
|
)
|
|
SELECT AutoID
|
|
FROM dbo.View_DeviceRoot
|
|
WHERE RootName = 'OEM';
|
|
END;
|
|
|
|
INSERT INTO @DevRtnView
|
|
(
|
|
AutoID,
|
|
GUID,
|
|
EquipmentID,
|
|
EquipmentName,
|
|
Specification,
|
|
Manufacturer,
|
|
SerialNumber,
|
|
UsingDate,
|
|
Totalcapacity,
|
|
Weight,
|
|
EquipmentCategory,
|
|
EquipmentOriginalvalue,
|
|
EquipmentStatus,
|
|
WarrantyPeriod,
|
|
InstallationLocation,
|
|
OwningUnit,
|
|
OperatingParameters,
|
|
MaintenanceFormVersion,
|
|
Route,
|
|
CreatDate,
|
|
CreatUser,
|
|
ChangeDate,
|
|
ChangeUser,
|
|
Remarks
|
|
)
|
|
SELECT t1.AutoID,
|
|
t1.GUID,
|
|
t1.EquipmentID,
|
|
t1.EquipmentName,
|
|
t1.Specification,
|
|
t1.Manufacturer,
|
|
t1.SerialNumber,
|
|
t1.UsingDate,
|
|
t1.Totalcapacity,
|
|
t1.Weight,
|
|
t1.EquipmentCategory,
|
|
t1.EquipmentOriginalvalue,
|
|
t1.EquipmentStatus,
|
|
t1.WarrantyPeriod,
|
|
t1.InstallationLocation,
|
|
t1.OwningUnit,
|
|
t1.OperatingParameters,
|
|
t1.MaintenanceFormVersion,
|
|
t1.Route,
|
|
t1.CreatDate,
|
|
t1.CreatUser,
|
|
t1.ChangeDate,
|
|
t1.ChangeUser,
|
|
t1.Remarks
|
|
FROM dbo.DriveInformation t1
|
|
INNER JOIN @DevView t2
|
|
ON t1.AutoID = t2.DevID;
|
|
RETURN;
|
|
END;
|
|
|
|
|