148 lines
3.5 KiB
MySQL
148 lines
3.5 KiB
MySQL
|
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;
|
|||
|
|
|||
|
|