feat: 同步全部系统改动与文档
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -38,3 +38,9 @@ debug.log
|
|||||||
|
|
||||||
# ===== Webpack 缓存 =====
|
# ===== Webpack 缓存 =====
|
||||||
node_modules/.cache/
|
node_modules/.cache/
|
||||||
|
|
||||||
|
# MES takeover recovery tooling and generated build outputs
|
||||||
|
.tools/
|
||||||
|
server_baseline/**/decompiled/**/bin/
|
||||||
|
server_baseline/**/decompiled/**/obj/
|
||||||
|
!server_baseline/**/*.sln
|
||||||
|
|||||||
193
db_backups/add_install_task_budget_progress_20260725.sql
Normal file
193
db_backups/add_install_task_budget_progress_20260725.sql
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_预算前_20260725', N'P') IS NOT NULL
|
||||||
|
THROW 51400, N'预算功能部署前备份过程已存在,停止重复部署。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务预算', N'U') IS NULL
|
||||||
|
BEGIN
|
||||||
|
CREATE TABLE dbo.[计划排产_装配任务预算]
|
||||||
|
(
|
||||||
|
[订单号] int NOT NULL,
|
||||||
|
[任务预算装配工时] decimal(18, 2) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配任务预算_工时] DEFAULT (0),
|
||||||
|
[最后编辑人] nvarchar(100) NULL,
|
||||||
|
[最后编辑时间] datetime2(0) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配任务预算_编辑时间] DEFAULT (SYSDATETIME()),
|
||||||
|
CONSTRAINT [PK_计划排产_装配任务预算] PRIMARY KEY CLUSTERED ([订单号]),
|
||||||
|
CONSTRAINT [CK_装配任务预算_工时] CHECK ([任务预算装配工时] >= 0)
|
||||||
|
);
|
||||||
|
END;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配合同预算', N'U') IS NULL
|
||||||
|
BEGIN
|
||||||
|
CREATE TABLE dbo.[计划排产_装配合同预算]
|
||||||
|
(
|
||||||
|
[合同号] nvarchar(50) NOT NULL,
|
||||||
|
[合同预算测试工时] decimal(18, 2) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配合同预算_工时] DEFAULT (0),
|
||||||
|
[最后编辑人] nvarchar(100) NULL,
|
||||||
|
[最后编辑时间] datetime2(0) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配合同预算_编辑时间] DEFAULT (SYSDATETIME()),
|
||||||
|
CONSTRAINT [PK_计划排产_装配合同预算] PRIMARY KEY CLUSTERED ([合同号]),
|
||||||
|
CONSTRAINT [CK_装配合同预算_工时] CHECK ([合同预算测试工时] >= 0)
|
||||||
|
);
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE dbo.[计划排产_装配任务预算_保存]
|
||||||
|
@预算类型 nvarchar(10),
|
||||||
|
@订单号 int = 0,
|
||||||
|
@合同号 nvarchar(50) = N'',
|
||||||
|
@预算工时 decimal(18, 2),
|
||||||
|
@最后编辑人 nvarchar(100) = N''
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
IF @预算工时 IS NULL OR @预算工时 < 0
|
||||||
|
THROW 51401, N'预算工时必须大于或等于 0。', 1;
|
||||||
|
|
||||||
|
IF @预算类型 = N'任务'
|
||||||
|
BEGIN
|
||||||
|
IF @订单号 <= 0
|
||||||
|
THROW 51402, N'任务预算缺少有效订单号。', 1;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
UPDATE dbo.[计划排产_装配任务预算] WITH (UPDLOCK, SERIALIZABLE)
|
||||||
|
SET [任务预算装配工时] = @预算工时,
|
||||||
|
[最后编辑人] = NULLIF(@最后编辑人, N''),
|
||||||
|
[最后编辑时间] = SYSDATETIME()
|
||||||
|
WHERE [订单号] = @订单号;
|
||||||
|
|
||||||
|
IF @@ROWCOUNT = 0
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO dbo.[计划排产_装配任务预算]
|
||||||
|
([订单号], [任务预算装配工时], [最后编辑人])
|
||||||
|
VALUES
|
||||||
|
(@订单号, @预算工时, NULLIF(@最后编辑人, N''));
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END
|
||||||
|
ELSE IF @预算类型 = N'合同'
|
||||||
|
BEGIN
|
||||||
|
SET @合同号 = LTRIM(RTRIM(@合同号));
|
||||||
|
IF @合同号 = N''
|
||||||
|
THROW 51403, N'合同预算缺少合同号。', 1;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
UPDATE dbo.[计划排产_装配合同预算] WITH (UPDLOCK, SERIALIZABLE)
|
||||||
|
SET [合同预算测试工时] = @预算工时,
|
||||||
|
[最后编辑人] = NULLIF(@最后编辑人, N''),
|
||||||
|
[最后编辑时间] = SYSDATETIME()
|
||||||
|
WHERE [合同号] = @合同号;
|
||||||
|
|
||||||
|
IF @@ROWCOUNT = 0
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO dbo.[计划排产_装配合同预算]
|
||||||
|
([合同号], [合同预算测试工时], [最后编辑人])
|
||||||
|
VALUES
|
||||||
|
(@合同号, @预算工时, NULLIF(@最后编辑人, N''));
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
THROW 51404, N'预算类型只允许“任务”或“合同”。', 1;
|
||||||
|
|
||||||
|
SELECT CAST(1 AS int) AS [result];
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
DECLARE @Definition nvarchar(max) =
|
||||||
|
OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务查询_核心'));
|
||||||
|
DECLARE @BackupDefinition nvarchar(max);
|
||||||
|
DECLARE @ProcedurePosition int;
|
||||||
|
DECLARE @FieldMarker nvarchar(200) =
|
||||||
|
N'ISNULL(ht.[合同质检工时], 0) AS [合同质检工时],';
|
||||||
|
DECLARE @JoinMarker nvarchar(200) =
|
||||||
|
N'LEFT JOIN #合同工时 AS ht ON v.[合同号] = ht.[合同号]';
|
||||||
|
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51405, N'未找到装配任务核心查询过程。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @FieldMarker, N''))) / LEN(@FieldMarker) <> 2
|
||||||
|
THROW 51406, N'核心查询的工时字段结构与预期不一致,停止部署。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @JoinMarker, N''))) / LEN(@JoinMarker) <> 2
|
||||||
|
THROW 51407, N'核心查询的合同工时连接结构与预期不一致,停止部署。', 1;
|
||||||
|
|
||||||
|
SET @BackupDefinition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心]',
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心_预算前_20260725]'
|
||||||
|
);
|
||||||
|
|
||||||
|
EXEC sys.sp_executesql @BackupDefinition;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@FieldMarker,
|
||||||
|
@FieldMarker + N'
|
||||||
|
ISNULL(rw.[任务预算装配工时], 0) AS [任务预算装配工时],
|
||||||
|
CAST(CASE
|
||||||
|
WHEN ISNULL(rw.[任务预算装配工时], 0) > 0
|
||||||
|
THEN ISNULL(zp.[装配工时], 0) / 3600.0 / rw.[任务预算装配工时] * 100.0
|
||||||
|
ELSE 0
|
||||||
|
END AS decimal(18, 2)) AS [任务预算装配进度],
|
||||||
|
ISNULL(cw.[合同预算测试工时], 0) AS [合同预算测试工时],
|
||||||
|
CAST(CASE
|
||||||
|
WHEN ISNULL(cw.[合同预算测试工时], 0) > 0
|
||||||
|
THEN ISNULL(ht.[合同质检工时], 0) / 3600.0 / cw.[合同预算测试工时] * 100.0
|
||||||
|
ELSE 0
|
||||||
|
END AS decimal(18, 2)) AS [合同预算测试进度],'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@JoinMarker,
|
||||||
|
@JoinMarker + N'
|
||||||
|
LEFT JOIN dbo.[计划排产_装配任务预算] AS rw ON v.[订单编号] = rw.[订单号]
|
||||||
|
LEFT JOIN dbo.[计划排产_装配合同预算] AS cw ON v.[合同号] = cw.[合同号]'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @ProcedurePosition = CHARINDEX(N'PROCEDURE', @Definition);
|
||||||
|
IF @ProcedurePosition = 0
|
||||||
|
THROW 51408, N'未识别核心查询过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @Definition = N'ALTER ' + SUBSTRING(@Definition, @ProcedurePosition, LEN(@Definition));
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务预算', N'U') IS NULL
|
||||||
|
THROW 51409, N'任务预算表部署校验失败。', 1;
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配合同预算', N'U') IS NULL
|
||||||
|
THROW 51410, N'合同预算表部署校验失败。', 1;
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务预算_保存', N'P') IS NULL
|
||||||
|
THROW 51411, N'预算保存过程部署校验失败。', 1;
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_预算前_20260725', N'P') IS NULL
|
||||||
|
THROW 51412, N'核心查询备份过程部署校验失败。', 1;
|
||||||
|
|
||||||
|
SELECT [name], [type_desc], [create_date], [modify_date]
|
||||||
|
FROM sys.objects
|
||||||
|
WHERE [name] IN
|
||||||
|
(
|
||||||
|
N'计划排产_装配任务预算',
|
||||||
|
N'计划排产_装配合同预算',
|
||||||
|
N'计划排产_装配任务预算_保存',
|
||||||
|
N'计划排产_装配任务查询_核心',
|
||||||
|
N'计划排产_装配任务查询_核心_预算前_20260725'
|
||||||
|
)
|
||||||
|
ORDER BY [name];
|
||||||
|
GO
|
||||||
@@ -0,0 +1,228 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF COL_LENGTH(N'dbo.计划排产_装配任务预算', N'任务预算质检工时') IS NULL
|
||||||
|
BEGIN
|
||||||
|
ALTER TABLE dbo.[计划排产_装配任务预算]
|
||||||
|
ADD [任务预算质检工时] decimal(18, 2) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配任务预算_质检工时] DEFAULT (0) WITH VALUES,
|
||||||
|
CONSTRAINT [CK_装配任务预算_质检工时] CHECK ([任务预算质检工时] >= 0);
|
||||||
|
END;
|
||||||
|
|
||||||
|
IF COL_LENGTH(N'dbo.计划排产_装配合同预算', N'合同预算装配工时') IS NULL
|
||||||
|
BEGIN
|
||||||
|
ALTER TABLE dbo.[计划排产_装配合同预算]
|
||||||
|
ADD [合同预算装配工时] decimal(18, 2) NOT NULL
|
||||||
|
CONSTRAINT [DF_装配合同预算_装配工时] DEFAULT (0) WITH VALUES,
|
||||||
|
CONSTRAINT [CK_装配合同预算_装配工时] CHECK ([合同预算装配工时] >= 0);
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
|
|
||||||
|
DECLARE @SaveProcedureDefinition nvarchar(max) =
|
||||||
|
OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务预算_保存'));
|
||||||
|
DECLARE @SaveProcedurePosition int;
|
||||||
|
|
||||||
|
IF @SaveProcedureDefinition IS NULL
|
||||||
|
THROW 51420, N'未找到装配任务预算保存过程。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务预算_保存_预算扩展前_20260727', N'P') IS NULL
|
||||||
|
BEGIN
|
||||||
|
SET @SaveProcedureDefinition = REPLACE(
|
||||||
|
@SaveProcedureDefinition,
|
||||||
|
N'[计划排产_装配任务预算_保存]',
|
||||||
|
N'[计划排产_装配任务预算_保存_预算扩展前_20260727]'
|
||||||
|
);
|
||||||
|
SET @SaveProcedurePosition = CHARINDEX(N'PROCEDURE', @SaveProcedureDefinition);
|
||||||
|
IF @SaveProcedurePosition = 0
|
||||||
|
THROW 51434, N'未识别预算保存过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @SaveProcedureDefinition = N'CREATE ' + SUBSTRING(
|
||||||
|
@SaveProcedureDefinition,
|
||||||
|
@SaveProcedurePosition,
|
||||||
|
LEN(@SaveProcedureDefinition)
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @SaveProcedureDefinition;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE dbo.[计划排产_装配任务预算_保存]
|
||||||
|
@预算类型 nvarchar(10),
|
||||||
|
@订单号 int = 0,
|
||||||
|
@合同号 nvarchar(50) = N'',
|
||||||
|
@预算工时 decimal(18, 2),
|
||||||
|
@最后编辑人 nvarchar(100) = N''
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
IF @预算工时 IS NULL OR @预算工时 < 0
|
||||||
|
THROW 51421, N'预算工时必须大于或等于 0。', 1;
|
||||||
|
|
||||||
|
IF @预算类型 IN (N'任务', N'任务装配', N'任务质检')
|
||||||
|
BEGIN
|
||||||
|
IF @订单号 <= 0
|
||||||
|
THROW 51422, N'任务预算缺少有效订单号。', 1;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
UPDATE dbo.[计划排产_装配任务预算] WITH (UPDLOCK, SERIALIZABLE)
|
||||||
|
SET [任务预算装配工时] = CASE WHEN @预算类型 IN (N'任务', N'任务装配') THEN @预算工时 ELSE [任务预算装配工时] END,
|
||||||
|
[任务预算质检工时] = CASE WHEN @预算类型 = N'任务质检' THEN @预算工时 ELSE [任务预算质检工时] END,
|
||||||
|
[最后编辑人] = NULLIF(@最后编辑人, N''),
|
||||||
|
[最后编辑时间] = SYSDATETIME()
|
||||||
|
WHERE [订单号] = @订单号;
|
||||||
|
|
||||||
|
IF @@ROWCOUNT = 0
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO dbo.[计划排产_装配任务预算]
|
||||||
|
([订单号], [任务预算装配工时], [任务预算质检工时], [最后编辑人])
|
||||||
|
VALUES
|
||||||
|
(@订单号,
|
||||||
|
CASE WHEN @预算类型 IN (N'任务', N'任务装配') THEN @预算工时 ELSE 0 END,
|
||||||
|
CASE WHEN @预算类型 = N'任务质检' THEN @预算工时 ELSE 0 END,
|
||||||
|
NULLIF(@最后编辑人, N''));
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END
|
||||||
|
ELSE IF @预算类型 IN (N'合同', N'合同测试', N'合同装配')
|
||||||
|
BEGIN
|
||||||
|
SET @合同号 = LTRIM(RTRIM(@合同号));
|
||||||
|
IF @合同号 = N''
|
||||||
|
THROW 51423, N'合同预算缺少合同号。', 1;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
UPDATE dbo.[计划排产_装配合同预算] WITH (UPDLOCK, SERIALIZABLE)
|
||||||
|
SET [合同预算测试工时] = CASE WHEN @预算类型 IN (N'合同', N'合同测试') THEN @预算工时 ELSE [合同预算测试工时] END,
|
||||||
|
[合同预算装配工时] = CASE WHEN @预算类型 = N'合同装配' THEN @预算工时 ELSE [合同预算装配工时] END,
|
||||||
|
[最后编辑人] = NULLIF(@最后编辑人, N''),
|
||||||
|
[最后编辑时间] = SYSDATETIME()
|
||||||
|
WHERE [合同号] = @合同号;
|
||||||
|
|
||||||
|
IF @@ROWCOUNT = 0
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO dbo.[计划排产_装配合同预算]
|
||||||
|
([合同号], [合同预算测试工时], [合同预算装配工时], [最后编辑人])
|
||||||
|
VALUES
|
||||||
|
(@合同号,
|
||||||
|
CASE WHEN @预算类型 IN (N'合同', N'合同测试') THEN @预算工时 ELSE 0 END,
|
||||||
|
CASE WHEN @预算类型 = N'合同装配' THEN @预算工时 ELSE 0 END,
|
||||||
|
NULLIF(@最后编辑人, N''));
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
THROW 51424, N'预算类型只允许任务装配、任务质检、合同装配或合同测试。', 1;
|
||||||
|
|
||||||
|
SELECT CAST(1 AS int) AS [result];
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
DECLARE @Definition nvarchar(max) =
|
||||||
|
OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务查询_核心'));
|
||||||
|
DECLARE @BackupDefinition nvarchar(max);
|
||||||
|
DECLARE @ProcedurePosition int;
|
||||||
|
DECLARE @TaskQualityMarker nvarchar(200) =
|
||||||
|
N'ISNULL(zp.[质检工时], 0) AS [任务质检工时],';
|
||||||
|
DECLARE @ContractAssemblyMarker nvarchar(200) =
|
||||||
|
N'ISNULL(ht.[合同装配工时], 0) AS [合同装配工时],';
|
||||||
|
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51425, N'未找到装配任务核心查询过程。', 1;
|
||||||
|
|
||||||
|
IF CHARINDEX(N'[任务预算质检工时]', @Definition) = 0
|
||||||
|
BEGIN
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @TaskQualityMarker, N''))) / LEN(@TaskQualityMarker) <> 2
|
||||||
|
THROW 51426, N'核心查询的任务质检工时字段结构与预期不一致,停止部署。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @ContractAssemblyMarker, N''))) / LEN(@ContractAssemblyMarker) <> 2
|
||||||
|
THROW 51427, N'核心查询的合同装配工时字段结构与预期不一致,停止部署。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_预算扩展前_20260727', N'P') IS NULL
|
||||||
|
BEGIN
|
||||||
|
SET @BackupDefinition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心]',
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心_预算扩展前_20260727]'
|
||||||
|
);
|
||||||
|
SET @ProcedurePosition = CHARINDEX(N'PROCEDURE', @BackupDefinition);
|
||||||
|
IF @ProcedurePosition = 0
|
||||||
|
THROW 51428, N'未识别核心查询过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @BackupDefinition = N'CREATE ' + SUBSTRING(
|
||||||
|
@BackupDefinition,
|
||||||
|
@ProcedurePosition,
|
||||||
|
LEN(@BackupDefinition)
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @BackupDefinition;
|
||||||
|
END;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@TaskQualityMarker,
|
||||||
|
@TaskQualityMarker + N'
|
||||||
|
ISNULL(rw.[任务预算质检工时], 0) AS [任务预算质检工时],
|
||||||
|
CAST(CASE
|
||||||
|
WHEN ISNULL(rw.[任务预算质检工时], 0) > 0
|
||||||
|
THEN ISNULL(zp.[质检工时], 0) / 3600.0 / rw.[任务预算质检工时] * 100.0
|
||||||
|
ELSE 0
|
||||||
|
END AS decimal(18, 2)) AS [任务预算质检进度],'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@ContractAssemblyMarker,
|
||||||
|
@ContractAssemblyMarker + N'
|
||||||
|
ISNULL(cw.[合同预算装配工时], 0) AS [合同预算装配工时],
|
||||||
|
CAST(CASE
|
||||||
|
WHEN ISNULL(cw.[合同预算装配工时], 0) > 0
|
||||||
|
THEN ISNULL(ht.[合同装配工时], 0) / 3600.0 / cw.[合同预算装配工时] * 100.0
|
||||||
|
ELSE 0
|
||||||
|
END AS decimal(18, 2)) AS [合同预算装配进度],'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @ProcedurePosition = CHARINDEX(N'PROCEDURE', @Definition);
|
||||||
|
IF @ProcedurePosition = 0
|
||||||
|
THROW 51429, N'未识别核心查询过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @Definition = N'ALTER ' + SUBSTRING(@Definition, @ProcedurePosition, LEN(@Definition));
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
END;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF COL_LENGTH(N'dbo.计划排产_装配任务预算', N'任务预算质检工时') IS NULL
|
||||||
|
THROW 51430, N'任务预算质检工时字段部署校验失败。', 1;
|
||||||
|
IF COL_LENGTH(N'dbo.计划排产_装配合同预算', N'合同预算装配工时') IS NULL
|
||||||
|
THROW 51431, N'合同预算装配工时字段部署校验失败。', 1;
|
||||||
|
IF OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务查询_核心')) NOT LIKE N'%任务预算质检进度%'
|
||||||
|
THROW 51432, N'任务预算质检进度字段部署校验失败。', 1;
|
||||||
|
IF OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务查询_核心')) NOT LIKE N'%合同预算装配进度%'
|
||||||
|
THROW 51433, N'合同预算装配进度字段部署校验失败。', 1;
|
||||||
|
GO
|
||||||
103
db_backups/fix_install_task_contract_hours_20260725.sql
Normal file
103
db_backups/fix_install_task_contract_hours_20260725.sql
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
DECLARE @ProcedureName sysname;
|
||||||
|
DECLARE @Definition nvarchar(max);
|
||||||
|
DECLARE @CreatePosition int;
|
||||||
|
DECLARE @AssemblySelect nvarchar(200) = N'SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时';
|
||||||
|
DECLARE @QualitySelect nvarchar(200) = N'SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时';
|
||||||
|
DECLARE @GroupBy nvarchar(100) = N'GROUP BY gs.合同号';
|
||||||
|
|
||||||
|
DECLARE ProcedureCursor CURSOR LOCAL FAST_FORWARD FOR
|
||||||
|
SELECT [name]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
|
||||||
|
OPEN ProcedureCursor;
|
||||||
|
FETCH NEXT FROM ProcedureCursor INTO @ProcedureName;
|
||||||
|
|
||||||
|
WHILE @@FETCH_STATUS = 0
|
||||||
|
BEGIN
|
||||||
|
SET @Definition = OBJECT_DEFINITION(OBJECT_ID(N'dbo.' + QUOTENAME(@ProcedureName)));
|
||||||
|
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51000, N'未找到待修改的存储过程。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @AssemblySelect, N''))) / LEN(@AssemblySelect) <> 1
|
||||||
|
THROW 51001, N'合同装配工时汇总代码与预期不一致,已停止部署。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @QualitySelect, N''))) / LEN(@QualitySelect) <> 1
|
||||||
|
THROW 51002, N'合同质检工时汇总代码与预期不一致,已停止部署。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @GroupBy, N''))) / LEN(@GroupBy) <> 2
|
||||||
|
THROW 51003, N'合同工时分组代码与预期不一致,已停止部署。', 1;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@AssemblySelect,
|
||||||
|
N'SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同装配工时'
|
||||||
|
);
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@QualitySelect,
|
||||||
|
N'SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同质检工时'
|
||||||
|
);
|
||||||
|
SET @Definition = REPLACE(@Definition, @GroupBy, N'GROUP BY gs.订单合同号');
|
||||||
|
|
||||||
|
SET @CreatePosition = CHARINDEX(N'CREATE PROCEDURE', @Definition);
|
||||||
|
IF @CreatePosition = 0
|
||||||
|
THROW 51004, N'存储过程定义中未找到 CREATE PROCEDURE。', 1;
|
||||||
|
|
||||||
|
SET @Definition = STUFF(
|
||||||
|
@Definition,
|
||||||
|
@CreatePosition,
|
||||||
|
LEN(N'CREATE PROCEDURE'),
|
||||||
|
N'ALTER PROCEDURE'
|
||||||
|
);
|
||||||
|
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
|
||||||
|
FETCH NEXT FROM ProcedureCursor INTO @ProcedureName;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CLOSE ProcedureCursor;
|
||||||
|
DEALLOCATE ProcedureCursor;
|
||||||
|
|
||||||
|
IF EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
OBJECT_DEFINITION([object_id]) NOT LIKE N'%SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同装配工时%'
|
||||||
|
OR OBJECT_DEFINITION([object_id]) NOT LIKE N'%SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同质检工时%'
|
||||||
|
OR OBJECT_DEFINITION([object_id]) LIKE N'%GROUP BY gs.合同号%'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
THROW 51005, N'存储过程修改后校验失败。', 1;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
|
||||||
|
SELECT [name], [modify_date]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF CURSOR_STATUS('local', 'ProcedureCursor') >= 0
|
||||||
|
CLOSE ProcedureCursor;
|
||||||
|
IF CURSOR_STATUS('local', 'ProcedureCursor') > -3
|
||||||
|
DEALLOCATE ProcedureCursor;
|
||||||
|
IF XACT_STATE() <> 0
|
||||||
|
ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
469
db_backups/optimize_install_task_queries_20260725.sql
Normal file
469
db_backups/optimize_install_task_queries_20260725.sql
Normal file
@@ -0,0 +1,469 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
DECLARE @Name sysname;
|
||||||
|
DECLARE @BackupName sysname;
|
||||||
|
DECLARE @Definition nvarchar(max);
|
||||||
|
DECLARE @HeaderPosition int;
|
||||||
|
DECLARE @HeaderLength int;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_系统类任务查询_优化前_20260725', N'P') IS NOT NULL
|
||||||
|
THROW 51200, N'系统类优化前备份过程已存在,停止重复部署。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_阀类任务查询_优化前_20260725', N'P') IS NOT NULL
|
||||||
|
THROW 51201, N'阀类优化前备份过程已存在,停止重复部署。', 1;
|
||||||
|
|
||||||
|
DECLARE BackupCursor CURSOR LOCAL FAST_FORWARD FOR
|
||||||
|
SELECT [name], [name] + N'_优化前_20260725'
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
|
||||||
|
OPEN BackupCursor;
|
||||||
|
FETCH NEXT FROM BackupCursor INTO @Name, @BackupName;
|
||||||
|
|
||||||
|
WHILE @@FETCH_STATUS = 0
|
||||||
|
BEGIN
|
||||||
|
SET @Definition = OBJECT_DEFINITION(OBJECT_ID(N'dbo.' + QUOTENAME(@Name)));
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51202, N'未找到待优化过程定义。', 1;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
N'[dbo].[' + @Name + N']',
|
||||||
|
N'[dbo].[' + @BackupName + N']'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @HeaderPosition = CHARINDEX(N'ALTER PROCEDURE', @Definition);
|
||||||
|
SET @HeaderLength = LEN(N'ALTER PROCEDURE');
|
||||||
|
IF @HeaderPosition = 0
|
||||||
|
BEGIN
|
||||||
|
SET @HeaderPosition = CHARINDEX(N'CREATE PROCEDURE', @Definition);
|
||||||
|
SET @HeaderLength = LEN(N'CREATE PROCEDURE');
|
||||||
|
END;
|
||||||
|
IF @HeaderPosition = 0
|
||||||
|
THROW 51203, N'未识别过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @Definition = STUFF(
|
||||||
|
@Definition,
|
||||||
|
@HeaderPosition,
|
||||||
|
@HeaderLength,
|
||||||
|
N'CREATE PROCEDURE'
|
||||||
|
);
|
||||||
|
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
FETCH NEXT FROM BackupCursor INTO @Name, @BackupName;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CLOSE BackupCursor;
|
||||||
|
DEALLOCATE BackupCursor;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[计划排产_装配任务查询_核心]
|
||||||
|
@任务分类 nvarchar(10),
|
||||||
|
@订单号 int = 0,
|
||||||
|
@物料类型 nvarchar(50) = N'',
|
||||||
|
@合同号 nvarchar(50) = N'',
|
||||||
|
@产品编码 nvarchar(50) = N'',
|
||||||
|
@产品名称 nvarchar(50) = N'',
|
||||||
|
@工序名称 nvarchar(50) = N'',
|
||||||
|
@要求完工日期1 nvarchar(50) = N'',
|
||||||
|
@要求完工日期2 nvarchar(50) = N'',
|
||||||
|
@计划开始 nvarchar(50) = N'',
|
||||||
|
@计划完成 nvarchar(50) = N'',
|
||||||
|
@排产状态 nvarchar(50) = N'全部',
|
||||||
|
@指派对象 nvarchar(50) = N'全部',
|
||||||
|
@辅助配件 nvarchar(50) = N'不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
-- 原过程只有“自制件”分支会生成查询,保持该行为不变。
|
||||||
|
IF @物料类型 <> N'自制件'
|
||||||
|
RETURN;
|
||||||
|
|
||||||
|
DECLARE @要求开始日期 datetime = CASE WHEN @要求完工日期1 = N'' THEN NULL ELSE CONVERT(datetime, @要求完工日期1) END;
|
||||||
|
DECLARE @要求结束日期 datetime = CASE WHEN @要求完工日期2 = N'' THEN NULL ELSE CONVERT(datetime, @要求完工日期2) END;
|
||||||
|
DECLARE @计划开始日期 datetime = CASE WHEN @计划开始 = N'' THEN NULL ELSE CONVERT(datetime, @计划开始) END;
|
||||||
|
DECLARE @计划完成日期 datetime = CASE WHEN @计划完成 = N'' THEN NULL ELSE CONVERT(datetime, @计划完成) END;
|
||||||
|
|
||||||
|
SELECT v.*
|
||||||
|
INTO #任务
|
||||||
|
FROM dbo.View_生产订单_MES AS v
|
||||||
|
WHERE v.[物料类型] = N'pit_Resource'
|
||||||
|
AND v.[自制件属性] LIKE N'%装配%'
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
(@任务分类 = N'系统' AND v.[物料描述] LIKE N'%系统%')
|
||||||
|
OR (@任务分类 = N'阀类' AND v.[物料描述] NOT LIKE N'%系统%')
|
||||||
|
)
|
||||||
|
AND ISNULL(v.[任务状态], 0) < 4
|
||||||
|
AND (@订单号 = 0 OR v.[订单编号] = @订单号)
|
||||||
|
AND (@合同号 = N'' OR v.[合同号] LIKE N'%' + @合同号 + N'%')
|
||||||
|
AND (@产品编码 = N'' OR v.[物料编号] LIKE N'%' + @产品编码 + N'%')
|
||||||
|
AND (@产品名称 = N'' OR v.[物料描述] LIKE N'%' + @产品名称 + N'%')
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
@辅助配件 <> N'不含'
|
||||||
|
OR
|
||||||
|
(
|
||||||
|
v.[物料描述] NOT LIKE N'%软管总成%'
|
||||||
|
AND v.[物料描述] NOT LIKE N'%发货部件%'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
AND (@工序名称 = N'' OR v.[工序名称] = @工序名称)
|
||||||
|
AND (@要求开始日期 IS NULL OR v.[计划完成] >= @要求开始日期)
|
||||||
|
AND (@要求结束日期 IS NULL OR v.[计划完成] <= @要求结束日期)
|
||||||
|
AND (@计划开始日期 IS NULL OR v.[计划开始时间] >= @计划开始日期)
|
||||||
|
AND (@计划完成日期 IS NULL OR v.[计划完成时间] <= @计划完成日期)
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
@排产状态 = N'全部'
|
||||||
|
OR (@排产状态 = N'未完成' AND ISNULL(v.[排产状态], 0) = 0)
|
||||||
|
OR (@排产状态 = N'已完成' AND v.[排产状态] = 1)
|
||||||
|
)
|
||||||
|
AND v.[不装配] <> N'否'
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
@指派对象 = N'全部'
|
||||||
|
OR EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM STRING_SPLIT(@指派对象, N',') AS ss
|
||||||
|
WHERE ss.[value] = v.[指派对象]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
OPTION (RECOMPILE);
|
||||||
|
|
||||||
|
CREATE CLUSTERED INDEX [CX_任务_订单]
|
||||||
|
ON #任务 ([订单编号], [订单行号], [订单拆分内码]);
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_任务_合同物料]
|
||||||
|
ON #任务 ([合同号], [物料编号]);
|
||||||
|
|
||||||
|
SELECT DISTINCT [订单编号]
|
||||||
|
INTO #订单
|
||||||
|
FROM #任务;
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_订单] ON #订单 ([订单编号]);
|
||||||
|
|
||||||
|
SELECT DISTINCT [合同号]
|
||||||
|
INTO #合同
|
||||||
|
FROM #任务
|
||||||
|
WHERE [合同号] IS NOT NULL;
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_合同] ON #合同 ([合同号]);
|
||||||
|
|
||||||
|
-- 原过程对同一复杂工时视图扫描四次;改为一次扫描后再按订单和合同汇总。
|
||||||
|
SELECT
|
||||||
|
TRY_CONVERT(int, gs.[订单号]) AS [订单号],
|
||||||
|
gs.[订单合同号] AS [合同号],
|
||||||
|
SUM(CASE WHEN ry.[班组] IN (N'装配', N'电气') THEN gs.[总时长] ELSE 0 END) AS [装配工时],
|
||||||
|
SUM(CASE WHEN ry.[班组] = N'质检' THEN gs.[总时长] ELSE 0 END) AS [质检工时],
|
||||||
|
MAX(CASE WHEN ry.[班组] IN (N'装配', N'电气') THEN gs.[工序说明] END) AS [装配工序说明],
|
||||||
|
MAX(CASE WHEN ry.[班组] = N'质检' THEN gs.[工序说明] END) AS [质检工序说明]
|
||||||
|
INTO #工时粒度
|
||||||
|
FROM dbo.View_生产工时视图 AS gs
|
||||||
|
INNER JOIN dbo.[登录基础数据_人员信息] AS ry
|
||||||
|
ON gs.[操作人] = ry.[Personnel_Name]
|
||||||
|
WHERE ry.[班组] IN (N'装配', N'电气', N'质检')
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM #订单 AS od
|
||||||
|
WHERE od.[订单编号] = TRY_CONVERT(int, gs.[订单号])
|
||||||
|
)
|
||||||
|
OR EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM #合同 AS ht
|
||||||
|
WHERE ht.[合同号] = gs.[订单合同号]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
GROUP BY TRY_CONVERT(int, gs.[订单号]), gs.[订单合同号]
|
||||||
|
OPTION (RECOMPILE);
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
[订单号],
|
||||||
|
SUM([装配工时]) AS [装配工时],
|
||||||
|
SUM([质检工时]) AS [质检工时],
|
||||||
|
MAX([装配工序说明]) AS [装配工序说明],
|
||||||
|
MAX([质检工序说明]) AS [质检工序说明]
|
||||||
|
INTO #任务工时
|
||||||
|
FROM #工时粒度
|
||||||
|
WHERE [订单号] IS NOT NULL
|
||||||
|
GROUP BY [订单号];
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_任务工时] ON #任务工时 ([订单号]);
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
[合同号],
|
||||||
|
SUM([装配工时]) AS [合同装配工时],
|
||||||
|
SUM([质检工时]) AS [合同质检工时]
|
||||||
|
INTO #合同工时
|
||||||
|
FROM #工时粒度
|
||||||
|
WHERE [合同号] IS NOT NULL
|
||||||
|
GROUP BY [合同号];
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_合同工时] ON #合同工时 ([合同号]);
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
lc.[已关联计划号] AS [订单编号],
|
||||||
|
STRING_AGG(CONVERT(nvarchar(max), lc.[流程描述]), N',')
|
||||||
|
WITHIN GROUP (ORDER BY lc.[流程ID]) AS [异常报警信息]
|
||||||
|
INTO #流程
|
||||||
|
FROM dbo.[流程表] AS lc
|
||||||
|
INNER JOIN #订单 AS od
|
||||||
|
ON od.[订单编号] = lc.[已关联计划号]
|
||||||
|
GROUP BY lc.[已关联计划号];
|
||||||
|
|
||||||
|
SELECT DISTINCT
|
||||||
|
pt.[订单编号],
|
||||||
|
CASE WHEN ry.[班组] = N'质检' THEN N'质检' ELSE N'装配' END AS [类型],
|
||||||
|
t.[操作人],
|
||||||
|
t.[开始时间]
|
||||||
|
INTO #进行中明细
|
||||||
|
FROM dbo.[YL_加工中心_操作记录表] AS t
|
||||||
|
INNER JOIN dbo.[MES_接口_生产计划_生产任务] AS pt
|
||||||
|
ON t.[TaskAID] = pt.[AID]
|
||||||
|
INNER JOIN #订单 AS od
|
||||||
|
ON od.[订单编号] = pt.[订单编号]
|
||||||
|
INNER JOIN dbo.[登录基础数据_人员信息] AS ry
|
||||||
|
ON t.[操作人] = ry.[Personnel_Name]
|
||||||
|
WHERE t.[操作类别] = N'开始加工'
|
||||||
|
AND t.[结束时间] IS NULL
|
||||||
|
AND t.[操作数值] IS NOT NULL
|
||||||
|
AND ry.[班组] IN (N'装配', N'电气', N'质检');
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
[订单编号],
|
||||||
|
[类型],
|
||||||
|
STRING_AGG(
|
||||||
|
CONVERT(nvarchar(max), [操作人] + N': ' + CONVERT(varchar(19), [开始时间], 120)),
|
||||||
|
N','
|
||||||
|
) WITHIN GROUP (ORDER BY [开始时间] DESC) AS [进行中信息]
|
||||||
|
INTO #进行中聚合
|
||||||
|
FROM #进行中明细
|
||||||
|
GROUP BY [订单编号], [类型];
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
[订单编号],
|
||||||
|
MAX(CASE WHEN [类型] = N'装配' THEN [进行中信息] END) AS [装配进行中],
|
||||||
|
MAX(CASE WHEN [类型] = N'质检' THEN [进行中信息] END) AS [质检进行中]
|
||||||
|
INTO #进行中
|
||||||
|
FROM #进行中聚合
|
||||||
|
GROUP BY [订单编号];
|
||||||
|
|
||||||
|
SELECT DISTINCT q.[计划号]
|
||||||
|
INTO #终检
|
||||||
|
FROM dbo.[YL_质量检验_质检记录] AS q
|
||||||
|
INNER JOIN #订单 AS od
|
||||||
|
ON od.[订单编号] = q.[计划号]
|
||||||
|
WHERE q.[质检类型] = N'终检';
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_终检] ON #终检 ([计划号]);
|
||||||
|
|
||||||
|
SELECT DISTINCT [合同号], [物料编号]
|
||||||
|
INTO #交货键
|
||||||
|
FROM #任务
|
||||||
|
WHERE [合同号] IS NOT NULL
|
||||||
|
AND [物料编号] IS NOT NULL;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
k.[合同号],
|
||||||
|
k.[物料编号],
|
||||||
|
MIN(s.[交货日期理论齐套日期]) AS [交货日期理论齐套日期]
|
||||||
|
INTO #交货
|
||||||
|
FROM #交货键 AS k
|
||||||
|
LEFT JOIN [SAP].[SBO_YL].[dbo].[UBT_MES_ORDROPEN2] AS s
|
||||||
|
ON s.[项目号] = k.[合同号]
|
||||||
|
AND s.[物料号] = k.[物料编号]
|
||||||
|
GROUP BY k.[合同号], k.[物料编号];
|
||||||
|
CREATE UNIQUE CLUSTERED INDEX [CX_交货] ON #交货 ([合同号], [物料编号]);
|
||||||
|
|
||||||
|
IF @任务分类 = N'系统'
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
v.[计划数量订单], ISNULL(v.[开工时间], 0) AS [开工时间], ISNULL(v.[进度], 0) AS [进度],
|
||||||
|
v.[TaskAID], v.[合同号], v.[订单编号] AS [订单号], v.[订单行号], v.[订单拆分内码] AS [拆分内码],
|
||||||
|
v.[物料编号] AS [产品编码], v.[物料描述] AS [产品名称],
|
||||||
|
TRIM('.' FROM TRIM('0' FROM CAST(v.[计划数量] AS varchar(30)))) AS [计划数量],
|
||||||
|
v.[计划完成] AS [要求完工日期], v.[工序名称], v.[完成数量], v.[计划号], v.[收料数量],
|
||||||
|
v.[外协分组], v.[任务状态], v.[齐套时间], v.[派工时间], v.[齐套], v.[要求发货日期],
|
||||||
|
CASE WHEN v.[加急状态] = 1 THEN N'加急' ELSE N'' END AS [加急状态], v.[性质],
|
||||||
|
ISNULL(v.[总工时], 0) AS [总工时], v.[占用情况], v.[排产状态], v.[工序计划数量],
|
||||||
|
v.[指派对象编号], v.[指派对象],
|
||||||
|
TRIM('.' FROM TRIM('0' FROM CAST(v.[指派数量] AS varchar(30)))) AS [指派数量],
|
||||||
|
v.[计划开始时间], v.[计划完成时间], v.[最晚开始时间], v.[派工状态], v.[外协通知], v.[优先级],
|
||||||
|
v.[未完成说明], v.[派工特殊说明], v.[最后编辑人], v.[最后编辑时间], v.[二次派工],
|
||||||
|
jh.[交货日期理论齐套日期] AS [交货日期],
|
||||||
|
CASE WHEN zj.[计划号] IS NOT NULL THEN N'是' ELSE N'否' END AS [终检],
|
||||||
|
ISNULL(g.[标准工时], 0) AS [标准工时], v.[钣金预达时间],
|
||||||
|
ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[钣金预达时间])) AS [预计送检日期],
|
||||||
|
ISNULL(v.[销售要求日期], jh.[交货日期理论齐套日期]) AS [销售要求日期],
|
||||||
|
CASE
|
||||||
|
WHEN ISNULL(v.[发料状态], 0) = 1 THEN N'发料齐套'
|
||||||
|
WHEN ISNULL(v.[发料状态], 0) = 2 THEN N'发料缺件'
|
||||||
|
WHEN ISNULL(v.[发料状态], 0) = 0 THEN N'未发料'
|
||||||
|
END AS [发料状态],
|
||||||
|
ISNULL(zp.[装配工时], 0) AS [任务装配工时],
|
||||||
|
ISNULL(zp.[质检工时], 0) AS [任务质检工时],
|
||||||
|
ISNULL(ht.[合同装配工时], 0) AS [合同装配工时],
|
||||||
|
ISNULL(ht.[合同质检工时], 0) AS [合同质检工时],
|
||||||
|
ISNULL(zp.[装配工序说明], N'') AS [装配工序说明],
|
||||||
|
ISNULL(zp.[质检工序说明], N'') AS [质检工序说明],
|
||||||
|
ISNULL(lc.[异常报警信息], N'') AS [异常报警信息],
|
||||||
|
ISNULL(jxz.[装配进行中], N'') AS [装配进行中],
|
||||||
|
ISNULL(jxz.[质检进行中], N'') AS [质检进行中]
|
||||||
|
FROM #任务 AS v
|
||||||
|
LEFT JOIN #终检 AS zj ON v.[订单编号] = zj.[计划号]
|
||||||
|
LEFT JOIN dbo.[车间生产管理工艺_零件生产工艺_工艺库] AS g
|
||||||
|
ON v.[订单编号] = g.[订单编号] AND v.[订单行号] = g.[工艺顺序]
|
||||||
|
LEFT JOIN #任务工时 AS zp ON v.[订单编号] = zp.[订单号]
|
||||||
|
LEFT JOIN #合同工时 AS ht ON v.[合同号] = ht.[合同号]
|
||||||
|
LEFT JOIN #交货 AS jh ON v.[合同号] = jh.[合同号] AND v.[物料编号] = jh.[物料编号]
|
||||||
|
LEFT JOIN #流程 AS lc ON v.[订单编号] = lc.[订单编号]
|
||||||
|
LEFT JOIN #进行中 AS jxz ON v.[订单编号] = jxz.[订单编号]
|
||||||
|
ORDER BY
|
||||||
|
CASE WHEN v.[钣金预达时间] IS NULL THEN 1 ELSE 0 END,
|
||||||
|
v.[钣金预达时间], v.[合同号];
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
v.[计划数量订单], ISNULL(v.[开工时间], 0) AS [开工时间], ISNULL(v.[进度], 0) AS [进度],
|
||||||
|
v.[TaskAID], v.[合同号], v.[订单编号] AS [订单号], v.[订单行号], v.[订单拆分内码] AS [拆分内码],
|
||||||
|
v.[物料编号] AS [产品编码], v.[物料描述] AS [产品名称],
|
||||||
|
TRIM('.' FROM TRIM('0' FROM CAST(v.[计划数量] AS varchar(30)))) AS [计划数量],
|
||||||
|
v.[计划完成] AS [要求完工日期], v.[工序名称], v.[完成数量], v.[计划号], v.[收料数量],
|
||||||
|
v.[外协分组], v.[任务状态], v.[齐套时间], v.[派工时间], v.[齐套], v.[要求发货日期],
|
||||||
|
CASE WHEN v.[加急状态] = 1 THEN N'加急' ELSE N'' END AS [加急状态], v.[性质],
|
||||||
|
ISNULL(v.[总工时], 0) AS [总工时], v.[占用情况], v.[排产状态], v.[工序计划数量],
|
||||||
|
v.[指派对象编号], v.[指派对象],
|
||||||
|
TRIM('.' FROM TRIM('0' FROM CAST(v.[指派数量] AS varchar(30)))) AS [指派数量],
|
||||||
|
v.[计划开始时间], v.[计划完成时间], v.[最晚开始时间], v.[派工状态], v.[外协通知], v.[优先级],
|
||||||
|
v.[未完成说明], v.[派工特殊说明], v.[最后编辑人], v.[最后编辑时间], v.[二次派工],
|
||||||
|
jh.[交货日期理论齐套日期] AS [交货日期],
|
||||||
|
CASE WHEN zj.[计划号] IS NOT NULL THEN N'是' ELSE N'否' END AS [终检],
|
||||||
|
ISNULL(g.[标准工时], 0) AS [标准工时],
|
||||||
|
ISNULL(v.[预计送检日期], DATEADD(DAY, 3, v.[齐套时间])) AS [预计送检日期],
|
||||||
|
ISNULL(v.[销售要求日期], jh.[交货日期理论齐套日期]) AS [销售要求日期],
|
||||||
|
ISNULL(zp.[装配工时], 0) AS [任务装配工时],
|
||||||
|
ISNULL(zp.[质检工时], 0) AS [任务质检工时],
|
||||||
|
ISNULL(ht.[合同装配工时], 0) AS [合同装配工时],
|
||||||
|
ISNULL(ht.[合同质检工时], 0) AS [合同质检工时],
|
||||||
|
ISNULL(zp.[装配工序说明], N'') AS [装配工序说明],
|
||||||
|
ISNULL(zp.[质检工序说明], N'') AS [质检工序说明],
|
||||||
|
ISNULL(lc.[异常报警信息], N'') AS [异常报警信息],
|
||||||
|
ISNULL(jxz.[装配进行中], N'') AS [装配进行中],
|
||||||
|
ISNULL(jxz.[质检进行中], N'') AS [质检进行中]
|
||||||
|
FROM #任务 AS v
|
||||||
|
LEFT JOIN #终检 AS zj ON v.[订单编号] = zj.[计划号]
|
||||||
|
LEFT JOIN dbo.[车间生产管理工艺_零件生产工艺_工艺库] AS g
|
||||||
|
ON v.[订单编号] = g.[订单编号] AND v.[订单行号] = g.[工艺顺序]
|
||||||
|
LEFT JOIN #任务工时 AS zp ON v.[订单编号] = zp.[订单号]
|
||||||
|
LEFT JOIN #合同工时 AS ht ON v.[合同号] = ht.[合同号]
|
||||||
|
LEFT JOIN #交货 AS jh ON v.[合同号] = jh.[合同号] AND v.[物料编号] = jh.[物料编号]
|
||||||
|
LEFT JOIN #流程 AS lc ON v.[订单编号] = lc.[订单编号]
|
||||||
|
LEFT JOIN #进行中 AS jxz ON v.[订单编号] = jxz.[订单编号]
|
||||||
|
ORDER BY
|
||||||
|
CASE WHEN v.[齐套时间] IS NULL THEN 1 ELSE 0 END,
|
||||||
|
v.[齐套时间], v.[计划开始时间];
|
||||||
|
END;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[计划排产_系统类任务查询]
|
||||||
|
@订单号 int = 0,
|
||||||
|
@物料类型 nvarchar(50) = N'',
|
||||||
|
@合同号 nvarchar(50) = N'',
|
||||||
|
@产品编码 nvarchar(50) = N'',
|
||||||
|
@产品名称 nvarchar(50) = N'',
|
||||||
|
@工序名称 nvarchar(50) = N'',
|
||||||
|
@要求完工日期1 nvarchar(50) = N'',
|
||||||
|
@要求完工日期2 nvarchar(50) = N'',
|
||||||
|
@计划开始 nvarchar(50) = N'',
|
||||||
|
@计划完成 nvarchar(50) = N'',
|
||||||
|
@排产状态 nvarchar(50) = N'全部',
|
||||||
|
@指派对象 nvarchar(50) = N'全部',
|
||||||
|
@辅助配件 nvarchar(50) = N'不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
EXEC dbo.[计划排产_装配任务查询_核心]
|
||||||
|
@任务分类 = N'系统',
|
||||||
|
@订单号 = @订单号,
|
||||||
|
@物料类型 = @物料类型,
|
||||||
|
@合同号 = @合同号,
|
||||||
|
@产品编码 = @产品编码,
|
||||||
|
@产品名称 = @产品名称,
|
||||||
|
@工序名称 = @工序名称,
|
||||||
|
@要求完工日期1 = @要求完工日期1,
|
||||||
|
@要求完工日期2 = @要求完工日期2,
|
||||||
|
@计划开始 = @计划开始,
|
||||||
|
@计划完成 = @计划完成,
|
||||||
|
@排产状态 = @排产状态,
|
||||||
|
@指派对象 = @指派对象,
|
||||||
|
@辅助配件 = @辅助配件;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER PROCEDURE [dbo].[计划排产_阀类任务查询]
|
||||||
|
@订单号 int = 0,
|
||||||
|
@物料类型 nvarchar(50) = N'',
|
||||||
|
@合同号 nvarchar(50) = N'',
|
||||||
|
@产品编码 nvarchar(50) = N'',
|
||||||
|
@产品名称 nvarchar(50) = N'',
|
||||||
|
@工序名称 nvarchar(50) = N'',
|
||||||
|
@要求完工日期1 nvarchar(50) = N'',
|
||||||
|
@要求完工日期2 nvarchar(50) = N'',
|
||||||
|
@计划开始 nvarchar(50) = N'',
|
||||||
|
@计划完成 nvarchar(50) = N'',
|
||||||
|
@排产状态 nvarchar(50) = N'全部',
|
||||||
|
@指派对象 nvarchar(50) = N'全部',
|
||||||
|
@辅助配件 nvarchar(50) = N'不含'
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
EXEC dbo.[计划排产_装配任务查询_核心]
|
||||||
|
@任务分类 = N'阀类',
|
||||||
|
@订单号 = @订单号,
|
||||||
|
@物料类型 = @物料类型,
|
||||||
|
@合同号 = @合同号,
|
||||||
|
@产品编码 = @产品编码,
|
||||||
|
@产品名称 = @产品名称,
|
||||||
|
@工序名称 = @工序名称,
|
||||||
|
@要求完工日期1 = @要求完工日期1,
|
||||||
|
@要求完工日期2 = @要求完工日期2,
|
||||||
|
@计划开始 = @计划开始,
|
||||||
|
@计划完成 = @计划完成,
|
||||||
|
@排产状态 = @排产状态,
|
||||||
|
@指派对象 = @指派对象,
|
||||||
|
@辅助配件 = @辅助配件;
|
||||||
|
END;
|
||||||
|
GO
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心', N'P') IS NULL
|
||||||
|
THROW 51210, N'核心过程创建失败。', 1;
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_系统类任务查询_优化前_20260725', N'P') IS NULL
|
||||||
|
THROW 51211, N'系统类备份过程创建失败。', 1;
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_阀类任务查询_优化前_20260725', N'P') IS NULL
|
||||||
|
THROW 51212, N'阀类备份过程创建失败。', 1;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
SELECT [name], [modify_date]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN
|
||||||
|
(
|
||||||
|
N'计划排产_装配任务查询_核心',
|
||||||
|
N'计划排产_系统类任务查询',
|
||||||
|
N'计划排产_阀类任务查询',
|
||||||
|
N'计划排产_系统类任务查询_优化前_20260725',
|
||||||
|
N'计划排产_阀类任务查询_优化前_20260725'
|
||||||
|
)
|
||||||
|
ORDER BY [name];
|
||||||
|
GO
|
||||||
79
db_backups/optimize_install_task_query_indexes_20260725.sql
Normal file
79
db_backups/optimize_install_task_query_indexes_20260725.sql
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF NOT EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1 FROM sys.indexes
|
||||||
|
WHERE object_id = OBJECT_ID(N'dbo.物料基础数据_零件图纸')
|
||||||
|
AND name = N'IX_零件图纸_num'
|
||||||
|
)
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_零件图纸_num]
|
||||||
|
ON [dbo].[物料基础数据_零件图纸] ([num])
|
||||||
|
INCLUDE ([worker]);
|
||||||
|
|
||||||
|
IF NOT EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1 FROM sys.indexes
|
||||||
|
WHERE object_id = OBJECT_ID(N'dbo.车间生产管理工艺_零件生产工艺_工艺库')
|
||||||
|
AND name = N'IX_工艺库_订单_顺序'
|
||||||
|
)
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_工艺库_订单_顺序]
|
||||||
|
ON [dbo].[车间生产管理工艺_零件生产工艺_工艺库] ([订单编号], [工艺顺序])
|
||||||
|
INCLUDE ([标准工时]);
|
||||||
|
|
||||||
|
IF NOT EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1 FROM sys.indexes
|
||||||
|
WHERE object_id = OBJECT_ID(N'dbo.YL_质量检验_质检记录')
|
||||||
|
AND name = N'IX_质检记录_质检类型_计划号'
|
||||||
|
)
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_质检记录_质检类型_计划号]
|
||||||
|
ON [dbo].[YL_质量检验_质检记录] ([质检类型], [计划号]);
|
||||||
|
|
||||||
|
IF NOT EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1 FROM sys.indexes
|
||||||
|
WHERE object_id = OBJECT_ID(N'dbo.登录基础数据_人员信息')
|
||||||
|
AND name = N'IX_人员信息_姓名_班组'
|
||||||
|
)
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_人员信息_姓名_班组]
|
||||||
|
ON [dbo].[登录基础数据_人员信息] ([Personnel_Name])
|
||||||
|
INCLUDE ([班组]);
|
||||||
|
|
||||||
|
IF NOT EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1 FROM sys.indexes
|
||||||
|
WHERE object_id = OBJECT_ID(N'dbo.流程表')
|
||||||
|
AND name = N'IX_流程表_关联计划_流程'
|
||||||
|
)
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_流程表_关联计划_流程]
|
||||||
|
ON [dbo].[流程表] ([已关联计划号], [流程ID])
|
||||||
|
INCLUDE ([流程描述]);
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0
|
||||||
|
ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
|
|
||||||
|
SELECT OBJECT_NAME(i.object_id) AS [表名], i.name AS [索引名]
|
||||||
|
FROM sys.indexes AS i
|
||||||
|
WHERE i.name IN
|
||||||
|
(
|
||||||
|
N'IX_零件图纸_num',
|
||||||
|
N'IX_工艺库_订单_顺序',
|
||||||
|
N'IX_质检记录_质检类型_计划号',
|
||||||
|
N'IX_人员信息_姓名_班组',
|
||||||
|
N'IX_流程表_关联计划_流程'
|
||||||
|
)
|
||||||
|
ORDER BY [表名], [索引名];
|
||||||
|
GO
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
DECLARE @Definition nvarchar(max) =
|
||||||
|
OBJECT_DEFINITION(OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_预算前_20260725'));
|
||||||
|
DECLARE @ProcedurePosition int;
|
||||||
|
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51500, N'未找到预算功能部署前的核心查询备份过程。', 1;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心_预算前_20260725]',
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心]'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @ProcedurePosition = CHARINDEX(N'PROCEDURE', @Definition);
|
||||||
|
IF @ProcedurePosition = 0
|
||||||
|
THROW 51501, N'未识别核心查询备份过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @Definition = N'ALTER ' + SUBSTRING(@Definition, @ProcedurePosition, LEN(@Definition));
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
|
||||||
|
DROP PROCEDURE IF EXISTS dbo.[计划排产_装配任务预算_保存];
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- 两张预算表可能已包含人工录入数据,回滚时有意保留,避免数据丢失。
|
||||||
|
SELECT [name], [type_desc], [modify_date]
|
||||||
|
FROM sys.objects
|
||||||
|
WHERE [name] IN
|
||||||
|
(
|
||||||
|
N'计划排产_装配任务预算',
|
||||||
|
N'计划排产_装配合同预算',
|
||||||
|
N'计划排产_装配任务查询_核心',
|
||||||
|
N'计划排产_装配任务查询_核心_预算前_20260725'
|
||||||
|
)
|
||||||
|
ORDER BY [name];
|
||||||
|
GO
|
||||||
82
db_backups/rollback_install_task_contract_hours_20260725.sql
Normal file
82
db_backups/rollback_install_task_contract_hours_20260725.sql
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
DECLARE @ProcedureName sysname;
|
||||||
|
DECLARE @Definition nvarchar(max);
|
||||||
|
DECLARE @AlterPosition int;
|
||||||
|
DECLARE @AssemblySelect nvarchar(250) = N'SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同装配工时';
|
||||||
|
DECLARE @QualitySelect nvarchar(250) = N'SELECT gs.订单合同号 AS 合同号, SUM(gs.总时长) as 合同质检工时';
|
||||||
|
DECLARE @GroupBy nvarchar(100) = N'GROUP BY gs.订单合同号';
|
||||||
|
|
||||||
|
DECLARE ProcedureCursor CURSOR LOCAL FAST_FORWARD FOR
|
||||||
|
SELECT [name]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
|
||||||
|
OPEN ProcedureCursor;
|
||||||
|
FETCH NEXT FROM ProcedureCursor INTO @ProcedureName;
|
||||||
|
|
||||||
|
WHILE @@FETCH_STATUS = 0
|
||||||
|
BEGIN
|
||||||
|
SET @Definition = OBJECT_DEFINITION(OBJECT_ID(N'dbo.' + QUOTENAME(@ProcedureName)));
|
||||||
|
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51100, N'未找到待回滚的存储过程。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @AssemblySelect, N''))) / LEN(@AssemblySelect) <> 1
|
||||||
|
THROW 51101, N'合同装配工时汇总代码与修复版本不一致,已停止回滚。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @QualitySelect, N''))) / LEN(@QualitySelect) <> 1
|
||||||
|
THROW 51102, N'合同质检工时汇总代码与修复版本不一致,已停止回滚。', 1;
|
||||||
|
|
||||||
|
IF (LEN(@Definition) - LEN(REPLACE(@Definition, @GroupBy, N''))) / LEN(@GroupBy) <> 2
|
||||||
|
THROW 51103, N'合同工时分组代码与修复版本不一致,已停止回滚。', 1;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@AssemblySelect,
|
||||||
|
N'SELECT gs.合同号, SUM(gs.总时长) as 合同装配工时'
|
||||||
|
);
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
@QualitySelect,
|
||||||
|
N'SELECT gs.合同号, SUM(gs.总时长) as 合同质检工时'
|
||||||
|
);
|
||||||
|
SET @Definition = REPLACE(@Definition, @GroupBy, N'GROUP BY gs.合同号');
|
||||||
|
|
||||||
|
SET @AlterPosition = CHARINDEX(N'ALTER PROCEDURE', @Definition);
|
||||||
|
IF @AlterPosition = 0
|
||||||
|
THROW 51104, N'存储过程定义中未找到 ALTER PROCEDURE。', 1;
|
||||||
|
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
|
||||||
|
FETCH NEXT FROM ProcedureCursor INTO @ProcedureName;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CLOSE ProcedureCursor;
|
||||||
|
DEALLOCATE ProcedureCursor;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
|
||||||
|
SELECT [name], [modify_date]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF CURSOR_STATUS('local', 'ProcedureCursor') >= 0
|
||||||
|
CLOSE ProcedureCursor;
|
||||||
|
IF CURSOR_STATUS('local', 'ProcedureCursor') > -3
|
||||||
|
DEALLOCATE ProcedureCursor;
|
||||||
|
IF XACT_STATE() <> 0
|
||||||
|
ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
72
db_backups/rollback_install_task_queries_20260725.sql
Normal file
72
db_backups/rollback_install_task_queries_20260725.sql
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
DECLARE @Name sysname;
|
||||||
|
DECLARE @BackupName sysname;
|
||||||
|
DECLARE @Definition nvarchar(max);
|
||||||
|
DECLARE @HeaderPosition int;
|
||||||
|
DECLARE @HeaderLength int;
|
||||||
|
|
||||||
|
DECLARE RestoreCursor CURSOR LOCAL FAST_FORWARD FOR
|
||||||
|
SELECT v.[name], v.[backup_name]
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
VALUES
|
||||||
|
(N'计划排产_系统类任务查询', N'计划排产_系统类任务查询_优化前_20260725'),
|
||||||
|
(N'计划排产_阀类任务查询', N'计划排产_阀类任务查询_优化前_20260725')
|
||||||
|
) AS v([name], [backup_name]);
|
||||||
|
|
||||||
|
OPEN RestoreCursor;
|
||||||
|
FETCH NEXT FROM RestoreCursor INTO @Name, @BackupName;
|
||||||
|
|
||||||
|
WHILE @@FETCH_STATUS = 0
|
||||||
|
BEGIN
|
||||||
|
SET @Definition = OBJECT_DEFINITION(OBJECT_ID(N'dbo.' + QUOTENAME(@BackupName)));
|
||||||
|
IF @Definition IS NULL
|
||||||
|
THROW 51300, N'未找到优化前备份过程,停止回滚。', 1;
|
||||||
|
|
||||||
|
SET @Definition = REPLACE(
|
||||||
|
@Definition,
|
||||||
|
N'[dbo].[' + @BackupName + N']',
|
||||||
|
N'[dbo].[' + @Name + N']'
|
||||||
|
);
|
||||||
|
|
||||||
|
SET @HeaderPosition = CHARINDEX(N'CREATE PROCEDURE', @Definition);
|
||||||
|
SET @HeaderLength = LEN(N'CREATE PROCEDURE');
|
||||||
|
IF @HeaderPosition = 0
|
||||||
|
BEGIN
|
||||||
|
SET @HeaderPosition = CHARINDEX(N'ALTER PROCEDURE', @Definition);
|
||||||
|
SET @HeaderLength = LEN(N'ALTER PROCEDURE');
|
||||||
|
END;
|
||||||
|
IF @HeaderPosition = 0
|
||||||
|
THROW 51301, N'未识别备份过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @Definition = STUFF(
|
||||||
|
@Definition,
|
||||||
|
@HeaderPosition,
|
||||||
|
@HeaderLength,
|
||||||
|
N'ALTER PROCEDURE'
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @Definition;
|
||||||
|
|
||||||
|
FETCH NEXT FROM RestoreCursor INTO @Name, @BackupName;
|
||||||
|
END;
|
||||||
|
|
||||||
|
CLOSE RestoreCursor;
|
||||||
|
DEALLOCATE RestoreCursor;
|
||||||
|
|
||||||
|
DROP PROCEDURE IF EXISTS dbo.[计划排产_装配任务查询_核心];
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
GO
|
||||||
|
|
||||||
|
SELECT [name], [modify_date]
|
||||||
|
FROM sys.procedures
|
||||||
|
WHERE [name] IN (N'计划排产_系统类任务查询', N'计划排产_阀类任务查询')
|
||||||
|
ORDER BY [name];
|
||||||
|
GO
|
||||||
32
db_backups/rollback_install_task_query_indexes_20260725.sql
Normal file
32
db_backups/rollback_install_task_query_indexes_20260725.sql
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.物料基础数据_零件图纸') AND name = N'IX_零件图纸_num')
|
||||||
|
DROP INDEX [IX_零件图纸_num] ON [dbo].[物料基础数据_零件图纸];
|
||||||
|
|
||||||
|
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.车间生产管理工艺_零件生产工艺_工艺库') AND name = N'IX_工艺库_订单_顺序')
|
||||||
|
DROP INDEX [IX_工艺库_订单_顺序] ON [dbo].[车间生产管理工艺_零件生产工艺_工艺库];
|
||||||
|
|
||||||
|
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.YL_质量检验_质检记录') AND name = N'IX_质检记录_质检类型_计划号')
|
||||||
|
DROP INDEX [IX_质检记录_质检类型_计划号] ON [dbo].[YL_质量检验_质检记录];
|
||||||
|
|
||||||
|
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.登录基础数据_人员信息') AND name = N'IX_人员信息_姓名_班组')
|
||||||
|
DROP INDEX [IX_人员信息_姓名_班组] ON [dbo].[登录基础数据_人员信息];
|
||||||
|
|
||||||
|
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.流程表') AND name = N'IX_流程表_关联计划_流程')
|
||||||
|
DROP INDEX [IX_流程表_关联计划_流程] ON [dbo].[流程表];
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0
|
||||||
|
ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
47
db_backups/rollback_secure_test_login_response_20260725.sql
Normal file
47
db_backups/rollback_secure_test_login_response_20260725.sql
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据_安全修复前_20260725', N'P') IS NULL
|
||||||
|
THROW 51610, N'未找到登录查询过程安全修复前备份。', 1;
|
||||||
|
|
||||||
|
DECLARE @definition nvarchar(max) = OBJECT_DEFINITION(
|
||||||
|
OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据_安全修复前_20260725')
|
||||||
|
);
|
||||||
|
DECLARE @procedurePosition int;
|
||||||
|
|
||||||
|
SET @definition = REPLACE(
|
||||||
|
@definition,
|
||||||
|
N'dbo.菜单模块系统_用户名密码_查询数据_安全修复前_20260725',
|
||||||
|
N'dbo.菜单模块系统_用户名密码_查询数据'
|
||||||
|
);
|
||||||
|
SET @definition = REPLACE(
|
||||||
|
@definition,
|
||||||
|
N'[dbo].[菜单模块系统_用户名密码_查询数据_安全修复前_20260725]',
|
||||||
|
N'[dbo].[菜单模块系统_用户名密码_查询数据]'
|
||||||
|
);
|
||||||
|
SET @procedurePosition = CHARINDEX(N'PROCEDURE', @definition);
|
||||||
|
|
||||||
|
IF @procedurePosition = 0
|
||||||
|
THROW 51611, N'登录查询过程备份结构异常,停止回滚。', 1;
|
||||||
|
|
||||||
|
SET @definition = N'ALTER ' + SUBSTRING(
|
||||||
|
@definition,
|
||||||
|
@procedurePosition,
|
||||||
|
LEN(@definition)
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @definition;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_测试跳过SAP前_20260725', N'P') IS NULL
|
||||||
|
THROW 51510, N'未找到测试环境 SAP 适配前备份过程。', 1;
|
||||||
|
|
||||||
|
DECLARE @sql nvarchar(max) = OBJECT_DEFINITION(
|
||||||
|
OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_测试跳过SAP前_20260725')
|
||||||
|
);
|
||||||
|
DECLARE @procedurePosition int;
|
||||||
|
|
||||||
|
SET @sql = REPLACE(
|
||||||
|
@sql,
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心_测试跳过SAP前_20260725]',
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心]'
|
||||||
|
);
|
||||||
|
SET @procedurePosition = CHARINDEX(N'PROCEDURE', @sql);
|
||||||
|
|
||||||
|
IF @procedurePosition = 0
|
||||||
|
OR CHARINDEX(N'[SAP].[SBO_YL].[dbo].[UBT_MES_ORDROPEN2]', @sql) = 0
|
||||||
|
THROW 51511, N'测试环境 SAP 适配备份结构异常,停止回滚。', 1;
|
||||||
|
|
||||||
|
SET @sql = N'ALTER ' + SUBSTRING(@sql, @procedurePosition, LEN(@sql));
|
||||||
|
EXEC sys.sp_executesql @sql;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
76
db_backups/secure_test_login_response_20260725.sql
Normal file
76
db_backups/secure_test_login_response_20260725.sql
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据', N'P') IS NULL
|
||||||
|
THROW 51600, N'未找到登录查询过程。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据_安全修复前_20260725', N'P') IS NOT NULL
|
||||||
|
THROW 51601, N'登录查询过程安全修复前备份已存在,停止重复部署。', 1;
|
||||||
|
|
||||||
|
DECLARE @definition nvarchar(max) = OBJECT_DEFINITION(
|
||||||
|
OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据')
|
||||||
|
);
|
||||||
|
DECLARE @procedurePosition int = CHARINDEX(N'PROCEDURE', @definition);
|
||||||
|
|
||||||
|
IF @procedurePosition = 0
|
||||||
|
THROW 51602, N'无法识别登录查询过程定义。', 1;
|
||||||
|
|
||||||
|
SET @definition = REPLACE(
|
||||||
|
@definition,
|
||||||
|
N'dbo.菜单模块系统_用户名密码_查询数据',
|
||||||
|
N'dbo.菜单模块系统_用户名密码_查询数据_安全修复前_20260725'
|
||||||
|
);
|
||||||
|
SET @definition = REPLACE(
|
||||||
|
@definition,
|
||||||
|
N'[dbo].[菜单模块系统_用户名密码_查询数据]',
|
||||||
|
N'[dbo].[菜单模块系统_用户名密码_查询数据_安全修复前_20260725]'
|
||||||
|
);
|
||||||
|
SET @definition = N'CREATE ' + SUBSTRING(
|
||||||
|
@definition,
|
||||||
|
@procedurePosition,
|
||||||
|
LEN(@definition)
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @definition;
|
||||||
|
|
||||||
|
EXEC sys.sp_executesql N'
|
||||||
|
ALTER PROCEDURE [dbo].[菜单模块系统_用户名密码_查询数据]
|
||||||
|
@用户名 nvarchar(50) = NULL,
|
||||||
|
@密码 nvarchar(50) = NULL
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
[Roles_number],
|
||||||
|
[Roles_Function],
|
||||||
|
[Personnel_Number],
|
||||||
|
[account],
|
||||||
|
[Personnel_Name],
|
||||||
|
[Departments_ID],
|
||||||
|
[Quit],
|
||||||
|
[部门名称],
|
||||||
|
[OrgUnit],
|
||||||
|
[班组]
|
||||||
|
FROM [dbo].[登录基础数据_管理人员权限视图]
|
||||||
|
WHERE [account] = @用户名
|
||||||
|
AND [password] = @密码
|
||||||
|
AND [Quit] = 0;
|
||||||
|
END;';
|
||||||
|
|
||||||
|
IF OBJECT_DEFINITION(OBJECT_ID(N'dbo.菜单模块系统_用户名密码_查询数据')) LIKE N'%SELECT *%'
|
||||||
|
THROW 51603, N'登录查询过程仍包含 SELECT *,停止部署。', 1;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
SET XACT_ABORT ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
BEGIN TRY
|
||||||
|
BEGIN TRANSACTION;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心', N'P') IS NULL
|
||||||
|
THROW 51500, N'未找到装配任务核心查询过程。', 1;
|
||||||
|
|
||||||
|
IF OBJECT_ID(N'dbo.计划排产_装配任务查询_核心_测试跳过SAP前_20260725', N'P') IS NOT NULL
|
||||||
|
THROW 51501, N'测试环境 SAP 适配前备份过程已存在,停止重复部署。', 1;
|
||||||
|
|
||||||
|
DECLARE @sql nvarchar(max) = OBJECT_DEFINITION(
|
||||||
|
OBJECT_ID(N'dbo.计划排产_装配任务查询_核心')
|
||||||
|
);
|
||||||
|
DECLARE @backupSql nvarchar(max) = REPLACE(
|
||||||
|
@sql,
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心]',
|
||||||
|
N'[dbo].[计划排产_装配任务查询_核心_测试跳过SAP前_20260725]'
|
||||||
|
);
|
||||||
|
DECLARE @procedurePosition int = CHARINDEX(N'PROCEDURE', @backupSql);
|
||||||
|
|
||||||
|
IF @procedurePosition = 0
|
||||||
|
THROW 51502, N'未识别核心查询过程定义头。', 1;
|
||||||
|
|
||||||
|
SET @backupSql = N'CREATE ' + SUBSTRING(
|
||||||
|
@backupSql,
|
||||||
|
@procedurePosition,
|
||||||
|
LEN(@backupSql)
|
||||||
|
);
|
||||||
|
EXEC sys.sp_executesql @backupSql;
|
||||||
|
|
||||||
|
DECLARE @keysPosition int = CHARINDEX(N'INTO #交货键', @sql);
|
||||||
|
DECLARE @blockStart int = CHARINDEX(N' SELECT', @sql, @keysPosition + 1);
|
||||||
|
DECLARE @blockEnd int = CHARINDEX(
|
||||||
|
N' CREATE UNIQUE CLUSTERED INDEX [CX_交货]',
|
||||||
|
@sql,
|
||||||
|
@blockStart
|
||||||
|
);
|
||||||
|
DECLARE @oldBlock nvarchar(max);
|
||||||
|
|
||||||
|
IF @keysPosition = 0 OR @blockStart = 0 OR @blockEnd = 0
|
||||||
|
THROW 51503, N'未找到核心查询的 SAP 交货日期代码块。', 1;
|
||||||
|
|
||||||
|
SET @oldBlock = SUBSTRING(@sql, @blockStart, @blockEnd - @blockStart);
|
||||||
|
IF CHARINDEX(N'[SAP].[SBO_YL].[dbo].[UBT_MES_ORDROPEN2]', @oldBlock) = 0
|
||||||
|
THROW 51504, N'交货日期代码块不是预期的 SAP 链接查询。', 1;
|
||||||
|
|
||||||
|
DECLARE @newBlock nvarchar(max) = N' -- 测试环境无法连接现场 SAP,保留返回结构但不等待远程交货日期。
|
||||||
|
SELECT
|
||||||
|
k.[合同号],
|
||||||
|
k.[物料编号],
|
||||||
|
CAST(NULL AS datetime) AS [交货日期理论齐套日期]
|
||||||
|
INTO #交货
|
||||||
|
FROM #交货键 AS k;
|
||||||
|
|
||||||
|
';
|
||||||
|
|
||||||
|
SET @sql = STUFF(
|
||||||
|
@sql,
|
||||||
|
@blockStart,
|
||||||
|
@blockEnd - @blockStart,
|
||||||
|
@newBlock
|
||||||
|
);
|
||||||
|
|
||||||
|
IF CHARINDEX(N'[SAP].[SBO_YL].[dbo].[UBT_MES_ORDROPEN2]', @sql) > 0
|
||||||
|
OR CHARINDEX(N'测试环境无法连接现场 SAP', @sql) = 0
|
||||||
|
THROW 51505, N'测试环境 SAP 适配替换失败。', 1;
|
||||||
|
|
||||||
|
SET @procedurePosition = CHARINDEX(N'PROCEDURE', @sql);
|
||||||
|
SET @sql = N'ALTER ' + SUBSTRING(@sql, @procedurePosition, LEN(@sql));
|
||||||
|
EXEC sys.sp_executesql @sql;
|
||||||
|
|
||||||
|
COMMIT TRANSACTION;
|
||||||
|
END TRY
|
||||||
|
BEGIN CATCH
|
||||||
|
IF XACT_STATE() <> 0 ROLLBACK TRANSACTION;
|
||||||
|
THROW;
|
||||||
|
END CATCH;
|
||||||
|
GO
|
||||||
|
|
||||||
119
db_backups/update_design_report_hours_report_fields_20260727.sql
Normal file
119
db_backups/update_design_report_hours_report_fields_20260727.sql
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
USE [YL_MESDB];
|
||||||
|
GO
|
||||||
|
|
||||||
|
SET ANSI_NULLS ON;
|
||||||
|
GO
|
||||||
|
SET QUOTED_IDENTIFIER ON;
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[设计报工_工时报表_任务工时_查询]
|
||||||
|
@开始日期 nvarchar(30) = N'',
|
||||||
|
@结束日期 nvarchar(30) = N'',
|
||||||
|
@操作人 nvarchar(100) = N'',
|
||||||
|
@项目号 nvarchar(100) = N'',
|
||||||
|
@物料编码 nvarchar(100) = N'',
|
||||||
|
@类别 nvarchar(100) = N'',
|
||||||
|
@任务描述 nvarchar(500) = N'',
|
||||||
|
@DID int = NULL,
|
||||||
|
@当前操作人 nvarchar(100) = N'',
|
||||||
|
@角色编号 nvarchar(100) = N''
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
|
||||||
|
DECLARE @开始 datetime = TRY_CONVERT(datetime, NULLIF(@开始日期, N''));
|
||||||
|
DECLARE @结束 datetime = TRY_CONVERT(datetime, NULLIF(@结束日期, N''));
|
||||||
|
DECLARE @可查看全部 bit = CASE WHEN EXISTS
|
||||||
|
(
|
||||||
|
SELECT 1
|
||||||
|
FROM [dbo].[登录基础数据_角色信息]
|
||||||
|
WHERE CONVERT(nvarchar(100), [Roles_number]) = @角色编号
|
||||||
|
AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%')
|
||||||
|
) THEN 1 ELSE 0 END;
|
||||||
|
|
||||||
|
;WITH base AS
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
r.[RID], r.[DID], ISNULL(r.[操作人], N'') AS [操作人],
|
||||||
|
t.[项目号], t.[物料编码], t.[物料名称], t.[图号], t.[类别],
|
||||||
|
t.[任务描述], ISNULL(t.[设计要求], N'') AS [设计要求],
|
||||||
|
r.[开始时间], r.[结束时间], ISNULL(r.[工时秒数], 0) AS [工时秒数],
|
||||||
|
r.[已校验], r.[进度说明],
|
||||||
|
ISNULL(notes.[异常说明], N'') AS [异常说明],
|
||||||
|
ISNULL(notes.[奇思妙想], N'') AS [奇思妙想],
|
||||||
|
r.[备注]
|
||||||
|
FROM [dbo].[MES_设计报工_记录] AS r
|
||||||
|
INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID]
|
||||||
|
OUTER APPLY
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
STRING_AGG(CASE WHEN n.[说明类型] = N'异常说明' THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), n.[录入时间], 120) + N' ' + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + NCHAR(13) + NCHAR(10) + n.[说明内容]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [异常说明],
|
||||||
|
STRING_AGG(CASE WHEN n.[说明类型] = N'奇思妙想' THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), n.[录入时间], 120) + N' ' + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + NCHAR(13) + NCHAR(10) + n.[说明内容]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [奇思妙想]
|
||||||
|
FROM [dbo].[MES_设计报工_任务说明] AS n
|
||||||
|
WHERE n.[DID] = t.[DID]
|
||||||
|
) AS notes
|
||||||
|
WHERE r.[开始时间] IS NOT NULL
|
||||||
|
AND r.[结束时间] IS NOT NULL
|
||||||
|
AND (@开始 IS NULL OR r.[开始时间] >= @开始)
|
||||||
|
AND (@结束 IS NULL OR r.[开始时间] < DATEADD(day, 1, @结束))
|
||||||
|
AND (ISNULL(@操作人, N'') = N'' OR r.[操作人] LIKE N'%' + @操作人 + N'%')
|
||||||
|
AND (ISNULL(@项目号, N'') = N'' OR t.[项目号] LIKE N'%' + @项目号 + N'%')
|
||||||
|
AND (ISNULL(@物料编码, N'') = N'' OR t.[物料编码] LIKE N'%' + @物料编码 + N'%')
|
||||||
|
AND (ISNULL(@类别, N'') = N'' OR t.[类别] LIKE N'%' + @类别 + N'%')
|
||||||
|
AND (ISNULL(@任务描述, N'') = N'' OR t.[任务描述] LIKE N'%' + @任务描述 + N'%')
|
||||||
|
AND (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID)
|
||||||
|
AND (@可查看全部 = 1 OR (NULLIF(LTRIM(RTRIM(@当前操作人)), N'') IS NOT NULL AND (ISNULL(t.[创建人], N'') = LTRIM(RTRIM(@当前操作人)) OR ISNULL(r.[操作人], N'') = LTRIM(RTRIM(@当前操作人)))))
|
||||||
|
), result AS
|
||||||
|
(
|
||||||
|
SELECT 1 AS [Level], N't-' + CAST([DID] AS nvarchar(20)) AS [id], CAST(N'' AS nvarchar(120)) AS [parentId], CAST(N'' AS nvarchar(100)) AS [操作人], CAST(N'' AS nvarchar(20)) AS [工作日期], CAST(NULL AS int) AS [RID], [DID], ISNULL(MAX([项目号]), N'') AS [项目号], ISNULL(MAX([物料编码]), N'') AS [物料编码], ISNULL(MAX([物料名称]), N'') AS [物料名称], ISNULL(MAX([图号]), N'') AS [图号], ISNULL(MAX([类别]), N'') AS [类别], ISNULL(MAX([任务描述]), N'') AS [任务描述], ISNULL(MAX([设计要求]), N'') AS [设计要求], CONVERT(varchar(19), MIN([开始时间]), 120) AS [开始时间], CONVERT(varchar(19), MAX([结束时间]), 120) AS [结束时间], COUNT(1) AS [报工次数], CAST(SUM([工时秒数]) / 3600.0 AS decimal(18, 2)) AS [工时小时], CASE WHEN SUM(CONVERT(int, [已校验])) = COUNT(1) THEN N'已校验' WHEN SUM(CONVERT(int, [已校验])) = 0 THEN N'未校验' ELSE N'部分校验' END AS [校验状态], ISNULL(STRING_AGG(CASE WHEN NULLIF(LTRIM(RTRIM([进度说明])), N'') IS NOT NULL THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), [结束时间], 120) + NCHAR(13) + NCHAR(10) + [进度说明]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY [开始时间], [RID]), N'') AS [进度说明], ISNULL(MAX([异常说明]), N'') AS [异常说明], ISNULL(MAX([奇思妙想]), N'') AS [奇思妙想], ISNULL(STRING_AGG(CASE WHEN NULLIF(LTRIM(RTRIM([备注])), N'') IS NOT NULL THEN CONVERT(nvarchar(max), [备注]) END, NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY [开始时间], [RID]), N'') AS [备注]
|
||||||
|
FROM base GROUP BY [DID]
|
||||||
|
UNION ALL
|
||||||
|
SELECT 2 AS [Level], N't-' + CAST([DID] AS nvarchar(20)) + N'-o-' + [操作人], N't-' + CAST([DID] AS nvarchar(20)), [操作人], CAST(N'' AS nvarchar(20)), CAST(NULL AS int), [DID], CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(200)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(500)), CAST(N'' AS nvarchar(max)), CONVERT(varchar(19), MIN([开始时间]), 120), CONVERT(varchar(19), MAX([结束时间]), 120), COUNT(1), CAST(SUM([工时秒数]) / 3600.0 AS decimal(18, 2)), CASE WHEN SUM(CONVERT(int, [已校验])) = COUNT(1) THEN N'已校验' WHEN SUM(CONVERT(int, [已校验])) = 0 THEN N'未校验' ELSE N'部分校验' END, ISNULL(STRING_AGG(CASE WHEN NULLIF(LTRIM(RTRIM([进度说明])), N'') IS NOT NULL THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), [结束时间], 120) + NCHAR(13) + NCHAR(10) + [进度说明]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY [开始时间], [RID]), N''), CAST(N'' AS nvarchar(max)), CAST(N'' AS nvarchar(max)), ISNULL(STRING_AGG(CASE WHEN NULLIF(LTRIM(RTRIM([备注])), N'') IS NOT NULL THEN CONVERT(nvarchar(max), [备注]) END, NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY [开始时间], [RID]), N'')
|
||||||
|
FROM base GROUP BY [DID], [操作人]
|
||||||
|
)
|
||||||
|
SELECT * FROM result ORDER BY [DID] DESC, [Level], [操作人];
|
||||||
|
END
|
||||||
|
GO
|
||||||
|
|
||||||
|
CREATE OR ALTER PROCEDURE [dbo].[设计报工_工时报表_作业者工时_查询]
|
||||||
|
@开始日期 nvarchar(30) = N'',
|
||||||
|
@结束日期 nvarchar(30) = N'',
|
||||||
|
@操作人 nvarchar(100) = N'',
|
||||||
|
@项目号 nvarchar(100) = N'',
|
||||||
|
@物料编码 nvarchar(100) = N'',
|
||||||
|
@类别 nvarchar(100) = N'',
|
||||||
|
@任务描述 nvarchar(500) = N'',
|
||||||
|
@DID int = NULL,
|
||||||
|
@当前操作人 nvarchar(100) = N'',
|
||||||
|
@角色编号 nvarchar(100) = N''
|
||||||
|
AS
|
||||||
|
BEGIN
|
||||||
|
SET NOCOUNT ON;
|
||||||
|
DECLARE @开始 datetime = TRY_CONVERT(datetime, NULLIF(@开始日期, N''));
|
||||||
|
DECLARE @结束 datetime = TRY_CONVERT(datetime, NULLIF(@结束日期, N''));
|
||||||
|
DECLARE @可查看全部 bit = CASE WHEN EXISTS (SELECT 1 FROM [dbo].[登录基础数据_角色信息] WHERE CONVERT(nvarchar(100), [Roles_number]) = @角色编号 AND ([Roles_Function] LIKE N'%领导%' OR [Roles_Function] LIKE N'%管理员%')) THEN 1 ELSE 0 END;
|
||||||
|
;WITH base AS
|
||||||
|
(
|
||||||
|
SELECT r.[RID], r.[DID], ISNULL(r.[操作人], N'') AS [操作人], CONVERT(varchar(10), r.[开始时间], 120) AS [工作日期], t.[项目号], t.[物料编码], t.[物料名称], t.[图号], t.[类别], t.[任务描述], ISNULL(t.[设计要求], N'') AS [设计要求], r.[开始时间], r.[结束时间], ISNULL(r.[工时秒数], 0) AS [工时秒数], r.[已校验], r.[进度说明], ISNULL(notes.[异常说明], N'') AS [异常说明], ISNULL(notes.[奇思妙想], N'') AS [奇思妙想], r.[备注]
|
||||||
|
FROM [dbo].[MES_设计报工_记录] AS r
|
||||||
|
INNER JOIN [dbo].[MES_设计报工_任务] AS t ON r.[DID] = t.[DID]
|
||||||
|
OUTER APPLY
|
||||||
|
(
|
||||||
|
SELECT STRING_AGG(CASE WHEN n.[说明类型] = N'异常说明' THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), n.[录入时间], 120) + N' ' + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + NCHAR(13) + NCHAR(10) + n.[说明内容]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [异常说明], STRING_AGG(CASE WHEN n.[说明类型] = N'奇思妙想' THEN CONVERT(nvarchar(max), CONVERT(nvarchar(19), n.[录入时间], 120) + N' ' + COALESCE(NULLIF(LTRIM(RTRIM(n.[操作人])), N''), NULLIF(LTRIM(RTRIM(n.[操作人ID])), N''), N'未填写编辑人') + NCHAR(13) + NCHAR(10) + n.[说明内容]) END, NCHAR(13) + NCHAR(10) + NCHAR(13) + NCHAR(10)) WITHIN GROUP (ORDER BY n.[录入时间] DESC, n.[SID] DESC) AS [奇思妙想]
|
||||||
|
FROM [dbo].[MES_设计报工_任务说明] AS n WHERE n.[DID] = t.[DID]
|
||||||
|
) AS notes
|
||||||
|
WHERE r.[开始时间] IS NOT NULL AND r.[结束时间] IS NOT NULL AND (@开始 IS NULL OR r.[开始时间] >= @开始) AND (@结束 IS NULL OR r.[开始时间] < DATEADD(day, 1, @结束)) AND (ISNULL(@操作人, N'') = N'' OR r.[操作人] LIKE N'%' + @操作人 + N'%') AND (ISNULL(@项目号, N'') = N'' OR t.[项目号] LIKE N'%' + @项目号 + N'%') AND (ISNULL(@物料编码, N'') = N'' OR t.[物料编码] LIKE N'%' + @物料编码 + N'%') AND (ISNULL(@类别, N'') = N'' OR t.[类别] LIKE N'%' + @类别 + N'%') AND (ISNULL(@任务描述, N'') = N'' OR t.[任务描述] LIKE N'%' + @任务描述 + N'%') AND (@DID IS NULL OR @DID = 0 OR r.[DID] = @DID) AND (@可查看全部 = 1 OR (NULLIF(LTRIM(RTRIM(@当前操作人)), N'') IS NOT NULL AND (ISNULL(t.[创建人], N'') = LTRIM(RTRIM(@当前操作人)) OR ISNULL(r.[操作人], N'') = LTRIM(RTRIM(@当前操作人)))))
|
||||||
|
), result AS
|
||||||
|
(
|
||||||
|
SELECT 1 AS [Level], N'p-' + [操作人] AS [id], CAST(N'' AS nvarchar(100)) AS [parentId], [操作人], CAST(N'' AS nvarchar(20)) AS [工作日期], CAST(NULL AS int) AS [RID], CAST(NULL AS int) AS [DID], CAST(N'' AS nvarchar(100)) AS [项目号], CAST(N'' AS nvarchar(100)) AS [物料编码], CAST(N'' AS nvarchar(200)) AS [物料名称], CAST(N'' AS nvarchar(100)) AS [图号], CAST(N'' AS nvarchar(100)) AS [类别], CAST(N'' AS nvarchar(500)) AS [任务描述], CAST(N'' AS nvarchar(max)) AS [设计要求], CAST(N'' AS varchar(19)) AS [开始时间], CAST(N'' AS varchar(19)) AS [结束时间], COUNT(1) AS [报工次数], CAST(SUM([工时秒数]) / 3600.0 AS decimal(18, 2)) AS [工时小时], CAST(N'' AS nvarchar(20)) AS [校验状态], CAST(N'' AS nvarchar(max)) AS [进度说明], CAST(N'' AS nvarchar(max)) AS [异常说明], CAST(N'' AS nvarchar(max)) AS [奇思妙想], CAST(N'' AS nvarchar(max)) AS [备注]
|
||||||
|
FROM base GROUP BY [操作人]
|
||||||
|
UNION ALL
|
||||||
|
SELECT 2 AS [Level], N'd-' + [操作人] + N'-' + [工作日期], N'p-' + [操作人], [操作人], [工作日期], CAST(NULL AS int), CAST(NULL AS int), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(200)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(100)), CAST(N'' AS nvarchar(500)), CAST(N'' AS nvarchar(max)), CAST(N'' AS varchar(19)), CAST(N'' AS varchar(19)), COUNT(1), CAST(SUM([工时秒数]) / 3600.0 AS decimal(18, 2)), CAST(N'' AS nvarchar(20)), CAST(N'' AS nvarchar(max)), CAST(N'' AS nvarchar(max)), CAST(N'' AS nvarchar(max)), CAST(N'' AS nvarchar(max))
|
||||||
|
FROM base GROUP BY [操作人], [工作日期]
|
||||||
|
UNION ALL
|
||||||
|
SELECT 3 AS [Level], N'r-' + CAST([RID] AS nvarchar(20)), N'd-' + [操作人] + N'-' + [工作日期], [操作人], [工作日期], [RID], [DID], ISNULL([项目号], N''), ISNULL([物料编码], N''), ISNULL([物料名称], N''), ISNULL([图号], N''), ISNULL([类别], N''), ISNULL([任务描述], N''), ISNULL([设计要求], N''), CONVERT(varchar(19), [开始时间], 120), CONVERT(varchar(19), [结束时间], 120), 1, CAST([工时秒数] / 3600.0 AS decimal(18, 2)), CASE WHEN [已校验] = 1 THEN N'已校验' ELSE N'未校验' END, ISNULL([进度说明], N''), ISNULL([异常说明], N''), ISNULL([奇思妙想], N''), ISNULL([备注], N'')
|
||||||
|
FROM base
|
||||||
|
)
|
||||||
|
SELECT * FROM result ORDER BY [操作人], [工作日期], [Level], [RID];
|
||||||
|
END
|
||||||
|
GO
|
||||||
35
doc/2026年7月27日_工作总结.txt
Normal file
35
doc/2026年7月27日_工作总结.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
2026年7月27日(周一)—— MES主页与报工优化、计划大屏梳理、装配预算扩展
|
||||||
|
一、今日完成情况
|
||||||
|
1. 08:30-09:30
|
||||||
|
修改MES主页页面,补齐未配置图标的功能连接;梳理动态菜单图标来源,为主页大图标和左侧二级菜单建立统一的图标兜底规则,保证缺失图标的功能入口均可正常显示。
|
||||||
|
2. 09:30-10:30
|
||||||
|
修复主页大图标点击后进入404的问题,调整研发管理等动态菜单的路由拼接逻辑,区分页面组件路径和浏览器访问路由;同时优化主页图标颜色显示,统一指定菜单图标的蓝色样式。
|
||||||
|
3. 10:30-11:50
|
||||||
|
完成设计工时任务报表字段配置和页面样式调整,补充任务描述筛选、调整字段及导出顺序,并实现表格内容超过三行省略、鼠标移入查看完整内容;检查计划大屏机加和装配数据,修改质检任务看板当天已完成任务的数据及样式。
|
||||||
|
4. 13:20-14:20
|
||||||
|
测试使用AI生成计划大屏说明文档,生成HTML页面展示接口数据,梳理页面数据来源、接口返回结构和展示方式,为后续大屏验收提供说明材料。
|
||||||
|
5. 14:20-15:20
|
||||||
|
修改计划大屏设备运行状态明细的数据来源和计算方法,并生成配套说明文档;整理八个大屏需要修改的内容和文档,明确待调整项及验收范围。
|
||||||
|
6. 15:20-16:20
|
||||||
|
完善系统类装配任务和阀类装配任务界面,新增合同预算装配工时、合同预算装配进度、任务预算质检工时和任务预算质检进度字段;扩展预算保存和查询计算逻辑,支持手工输入预算工时后自动计算进度。
|
||||||
|
7. 16:20-17:20
|
||||||
|
修改加工中心和装配中心报工结束时的默认日期状态,按报工日期自动判断周六、周日并默认选择休息日,工作日默认工作日,保留法定休息日的人工选择。
|
||||||
|
8. 17:20-18:00
|
||||||
|
复查今日主页、报表、装配预算和报工状态修改结果,确认页面及数据库逻辑可用;下班后继续执行八个大屏需要修改的文档整理工作,准备明日验收。
|
||||||
|
二、明日计划
|
||||||
|
1. 08:30-09:30
|
||||||
|
验收八个大屏需要修改的内容,逐项核对数据来源、计算口径、页面展示和说明文档是否一致,整理问题清单。
|
||||||
|
2. 09:30-10:30
|
||||||
|
继续完成八个大屏验收问题的修改和回归验证,确认无误后更新上线版本,并检查接口数据和页面加载状态。
|
||||||
|
3. 10:30-11:50
|
||||||
|
梳理当前主系统中由后端查询基础数据、前端承担计算逻辑的页面,建立页面、接口、数据字段和计算规则的对应清单。
|
||||||
|
4. 13:20-14:20
|
||||||
|
分析已梳理页面的前端计算逻辑,区分可继续保留的展示计算和应下沉至后端的业务计算,明确改造优先级和影响范围。
|
||||||
|
5. 14:20-15:20
|
||||||
|
修改当前主系统中后端仅查询基础数据、前端进行业务计算的页面,按梳理结果调整接口返回和页面计算实现,并进行单页回归。
|
||||||
|
6. 15:20-16:20
|
||||||
|
继续处理主系统页面计算逻辑改造,检查计算结果、异常数据和分页筛选场景,避免前后端口径不一致。
|
||||||
|
7. 16:20-17:20
|
||||||
|
梳理生产动态页面的菜单、功能入口、操作流程和相关业务说明,明确各入口对应的用户角色、数据来源和操作顺序。
|
||||||
|
8. 17:20-18:00
|
||||||
|
搭建生产动态页面的菜单、功能入口、操作流程和相关业务说明文档,整理页面结构和后续开发、验收所需的基础材料。
|
||||||
139
doc/MES后台网页版功能与存储过程全量盘点_20260725.md
Normal file
139
doc/MES后台网页版功能与存储过程全量盘点_20260725.md
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
# MES 后台网页版功能与存储过程全量盘点
|
||||||
|
|
||||||
|
盘点日期:2026-07-25 | 环境:测试数据库 YL_MESDB | 角色:1
|
||||||
|
|
||||||
|
## 1. 盘点范围
|
||||||
|
|
||||||
|
- 前端源码:185 个文件,其中 108 个 Vue、77 个 JS。
|
||||||
|
- 菜单:84 条,其中模块 9 个、可进入页面 75 个;75 个页面全部映射到源码文件。
|
||||||
|
- 前端过程调用:772 次 CreateData,281 个唯一字面量过程名,6 次动态调用。
|
||||||
|
- 数据库对象:432 个存储过程、63 张表、27 个视图。
|
||||||
|
- 数据库表达式依赖:836 条,其中跨服务器依赖 75 条,跨库依赖 106 条。
|
||||||
|
|
||||||
|
## 2. 页面到过程映射
|
||||||
|
|
||||||
|
| 模块 | 页面 | 源码 | 主要操作 | 过程调用 | B1 GET/POST/PATCH | TM GET/POST/PATCH |
|
||||||
|
| --- | --- | --- | --- | --- | --- | --- |
|
||||||
|
| SystemMaintenance | 人员管理 | SystemMaintenance/PersonnelManagement/index.vue | 查询、新增、重置密码、编辑、删除、确 定、取消 | 人员管理_角色信息初始化查询_查询 , 登录基础数据_人员信息_切换是否用户 , 人员管理_人员信息查询_查询 , 人员管理_人员信息修改_编辑 , 人员管理_人员信息修改_删除 , 人员管理_人员信息新增_新增 , WEB_摄像头查看权限_查询 , WEB_登录基础数据_人员信息_重置密码 , WEB_人员设备查看权限_查询 , WEB_人员设备查看权限_权限切换 , WEB_人员摄像头查看权限_权限切换 | 0/0/0 | 0/0/0 |
|
||||||
|
| SystemMaintenance | 菜单管理 | SystemMaintenance/MenuManagement/index.vue | 取消、确定 | 菜单系统模块_项目角色_查询数据_MESWORK | 0/0/0 | 0/0/0 |
|
||||||
|
| SystemMaintenance | 角色管理 | SystemMaintenance/SystemRrolemaintenance/index.vue | 查询、新增、编辑、删除、确 定、取消 | 菜单系统模块_项目角色_查询数据_MESWORK , 菜单系统模块_项目角色_修改数据_MESWORK , 菜单系统模块_项目角色_增加_MESWORK , 菜单系统模块_项目角色_删除_MESWORK | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 机加件排产 | PlanManagement/SelfMakePlan/index.vue | 查询、批量排产、排产完成、确定、派工、计划排产、编辑、取 消 等 | 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , MES_OrderPlanned_Query , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/0/1 | 0/0/0 |
|
||||||
|
| PlanManagement | 装配件排产 | PlanManagement/InstallMakePlan/index.vue | 查询、批量排产、排产完成、确定、派工、计划排产、编辑、取 消 等 | 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , MES_OrderPlanned_Queryzp , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/1/1 | 0/0/0 |
|
||||||
|
| ProductionManagement | 生产计划跟踪 | ProductionManagement/ProductionPlanTrack/index.vue | 查询、关闭 | 加急订单_加急明细查询 , 生产管理_生产计划跟踪 , MES_OrderPlanned_DescriptionEdit , Prog_MES_LoadStations | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 加工中心 | ProductionManagement/MachiningCenter/index.vue | 查询 --> 0 ? 'status-light-green' : 'status-light-gray' " />、取 消、确 定、上一个 下一个、删除当前记录 关闭、上一个 下一个 保存当前记录 删除当前记录 关闭、确定 关闭、查询 --> 检验详情 物料名称: 物料编码: 工序名称: 检验数量: 合格数: 不合格数: 检测详情 等 | 生产管理_加工中心_获取设备人员 , 生产管理_加工中心_获取班次信息 , 加急订单_加急明细查询 , 生产管理_获取人员绑定 , 工时校验_获取订单工序 , 工时校验_获取订单列表 , 异常工时_新增操作记录 , MES_操作记录_获取暂停状态 , MES_操作记录_获取任务暂停状态 , MES_登录_工位与名称_查询 , Prog_MES_LoadProcess , 查询字典 , 人员管理_人员信息查询_质检部门_查询 , MES_ProductTask_HelpStart , Prog_MES_GetProductOrder_byAID , MES_ProductCenter_GetTask , MES_ProductTask_WorkTimeSum , MES_ProductTask_HelpEnd , MES_ProductTask_MaterialRecieved , MES_ProductTask_Rest , 生产管理_加工中心_设备是否正在加工 , MES_ProductTask_WorkingStart , MES_ProductCenter_GetOrderTasks , 生产管理_加工中心_班次信息 , 生产管理_加工中心_开始时间 , MES_ProductTask_ProdReport , MES_ProductCenter_DoingTask , MES_QulityInspection_CheckItemData_Save , MES_QulityInspection_GetItemStandard , 加工中心_收检_读取收检记录 , MES_QulityInspection_ReceiveCheck , MES_QualityInspection_CheckRecord_Query , MES_QualityInspection_GetInspectionParts , MES_QualityInspection_GetInspectionDetails , 加工中心_异常工时_获取操作记录列表 , 加工中心_修改工时_保存修改记录 , sp_获取最近处理任务 , 人员管理_人员信息查询 , sp_获取我的流程 , sp_获取待处理任务 , MES_ProductAdmin_Query , sp_创建流程_简化版 , sp_处理审批 , sp_转办流程 , sp_完成流程 , sp_获取流程详情 , 生产管理_加工中心_生产发料查询 , 生产管理_加工中心_领料物料查询 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 生产管理_加工中心_退库 | 1/0/0 | 0/2/0 |
|
||||||
|
| ProcessManagement | 工序管理 | ProcessManagement/ProcedureManagement/index.vue | 新增工艺、确 定 | MES_ProcessManagement_ProcessGet , MES_ProcessManagement_ProcessAdd , MES_ProcessManagement_ProcessEdit , MES_ProcessManagement_Processdel | 1/1/1 | 0/0/0 |
|
||||||
|
| ProcessManagement | 制定标准工艺 | ProcessManagement/ProcessesDevelop/index.vue | 查询、拷贝、图纸、已保存、保存、导出、确定 | 工艺管理_获取物料原料信息 , 设备管理_设备信息_查询 , 工艺管理_生产计划物料查询 , 工艺管理_生产工艺_生产工艺拷贝 , 工艺管理_生产工艺_标准工艺拷贝 , MES_ProcessManagement_ProcessBindGet , 工艺管理_制定标准工艺_拷贝生产工艺 , MES_ProcessManagement_ProcessGet , 工艺管理_制定标准工艺_拷贝工艺保存 , 工艺管理_工艺维护_查看图纸 , 车间生产管理工艺_零件工序_修改数据_工艺库 , 车间生产管理工艺_零件工序_查询工序信息_工艺库 , 车间生产管理工艺_零件工序_编辑_工艺库 , 车间生产管理工艺_零件工序_编辑插入行 , 车间生产管理工艺_零件工序_删除工序_工艺库 , 车间生产管理工艺_零件工序_上移工序_工艺库 , 车间生产管理工艺_零件工序_下移工序_工艺库 , 车间生产管理工艺_零件工序_插入工序_工艺库 , 车间生产管理工艺_零件工序_启用 | 0/0/0 | 0/0/0 |
|
||||||
|
| DeviceManagement | 设备信息维护 | DeviceManagement/DeviceInformation/index.vue | 查询、设备、小时 取消、确定 | 查询字典 , MES_登录_工位与名称_查询 , 设备管理_设备信息_查询 , 设备管理_设备信息_增加 , 设备管理_设备信息_编辑 , 设备管理_设备信息_删除 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 生产工艺 | ProcessManagement/ProcessProduct/index.vue | 查询、批量生成生产工艺、编辑工艺、拷贝、零件图纸、工艺图纸、保存为标准工艺、下发任务 等 | 工艺管理_获取物料原料信息 , 工艺管理_生产工艺_查询生产工艺 , 工艺管理_生产工艺_工艺拷贝 , 工艺管理_生产工艺_生产工艺拷贝 , 工艺管理_生产工艺_标准工艺拷贝 , 计划排产_生产订单_订单查询 , 计划排产_生产订单_订单任务_生产工艺任务下发 , 计划排产_生产订单_订单任务_单条生产工艺任务下发 , 工艺管理_零件工序_生产工艺_批量生成生产工艺 , 设备管理_设备信息_查询 , MES_ProcessManagement_ProcessBindGet , 工艺管理_制定标准工艺_拷贝生产工艺 , MES_ProcessManagement_ProcessGet , 车间生产管理工艺_零件工序_保存为标准工艺 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 工艺管理_零件工序_生产工艺_修改数据 , 工艺管理_零件工序_生产工艺_编辑 , 工艺管理_零件工序_生产工艺_编辑插入工序 , 工艺管理_零件工序_生产工艺_删除工序 , 工艺管理_零件工序_生产工艺_上移工序 , 工艺管理_零件工序_生产工艺_下移工序 , 工艺管理_零件工序_生产工艺_插入工序 , 工艺管理_生产工艺_启用 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 过程异常管控 | ProductionManagement/AbnormalControl/index.vue | | | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 工艺查询 | ProcessManagement/ProcessInquiry/index.vue | 查询、打印 | 工艺管理_获取物料原料信息 , MES_ProcessManagement_PartGet , 工艺管理_工艺查询_查询生产工艺 , 工艺管理_工艺查询_更新打印次数 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 工艺任务 | ProcessManagement/ProductionOrder/index.vue | 查询、批量生成任务、查看生产工艺、查看标准工艺 | 设备管理_设备信息_查询 , 工艺管理_生产工艺_查询生产工艺 , 工艺管理_生产工艺_查询标准工艺 , 工艺管理_工艺任务_订单查询 , 计划排产_生产订单_订单任务 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 图纸维护 | ProcessManagement/PartDrawing/index.vue | 查询、零件图、选零件上传零件图、查看删除记录、查看、删除、取消、确定 等 | 工艺管理_图纸维护_查询删除记录 , 工艺管理_图纸维护_零件图查询 , 工艺管理_图纸维护_物料查询 , 工艺管理_图纸维护_验证名称 , 工艺管理_图纸维护_查看图纸 , 工艺管理_图纸维护_删除图纸 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 工时校验 | ProductionManagement/WorkHoursCheck/index.vue | 查询、一键校验、直接校验、新增工时记录、设备工时、关闭、确 定、取消 | usp_BatchValidateWorkTime , usp_ValidateWorkTime , 人员管理_人员信息查询_质检部门_查询 , 系统管理_人员管理_所有有效人员查询 , 工时校验_获取订单列表 , 工时校验_获取订单工序 , 工时校验_获取昨日之前操作记录列表 , 工时校验_获取资源 , 工时校验_获取设备数据 , 工时校验_保存校验记录 , 工时校验_批量保存校验记录 , 工时校验_新增操作记录 | 3/1/2 | 0/0/0 |
|
||||||
|
| ProcessManagement | 工艺维护 | ProcessManagement/ProcessDrawing/index.vue | 查询、工艺图、选零件上传工艺图、选订单上传工艺图、查看、删除、取消、确定 | 工艺管理_工艺维护_工艺图查询 , 工艺管理_图纸维护_物料查询 , 工艺管理_工艺维护_验证名称 , 工艺管理_工艺维护_查看图纸 , 工艺管理_工艺维护_删除图纸 , 工艺管理_图纸维护_查看图纸 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 终检 | QualityManagement/CheckTask/final.vue | 查询、导出 --> -->、终检 终检记录 加急明细 --> 物料名称 销售订单 零件编码 生产订单 工序名称 已检测数量 检测数量 合格数 不合格数 --> 检验人 检验时间 放行数量 检测说明、取 消、关闭 | 加急订单_加急明细查询 , 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_质量检验_终检数据_查询 , 质量管理_质量检验_终检记录_查询 , MES_QulityInspection_FinalCheck , 工时校验_获取工序和指派对象 | 1/0/1 | 0/0/0 |
|
||||||
|
| QualityManagement | 采购入库检 | QualityManagement/CheckTask/purchaseIncoming.vue | 查询、入库检 图纸 物料名称 物料编码 生产订单 到货总数 已检验数量 剩余待检数量 本次检验数量 合格数 (自动计算: ) --> 不合格数 检验人 检验时间 放行数量 检测说明 确 定、取 消、关闭 | 加急订单_加急明细查询 , 工艺管理_图纸维护_查看图纸 , 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_质量检验_入库质检任务_查询 , 质量管理_来料检验_更新 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 销售退货检 | QualityManagement/CheckTask/salesReturn.vue | 查询、导出 --> --> 退货检 零件图纸 工艺图纸、确 定、取 消 | 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_质量检验_退货质检任务_查询 , 质量管理_销售退货检_更新 | 0/0/0 | 0/1/0 |
|
||||||
|
| QualityManagement | 原材料退库检 | QualityManagement/CheckTask/materialReturn.vue | 查询、扫码、导出 --> 退库检 物料名称 物料编码 生产订单 到货数 送检数量 合格数 不合格数 检验人 检验时间 放行数量 检测说明 确 定、取 消 | 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_原材料退库_查询 , 质量管理_原材料退库检验_更新 | 1/0/0 | 0/1/0 |
|
||||||
|
| QualityManagement | 序检收检 | QualityManagement/CheckTask/processReceive.vue | 查询、导出 -->、收检 零件图纸 工艺图纸 物料名称 销售订单 物料编码 生产订单 工序名称 完成数量 送检数量 --> 合格数 不合格数 检验人 检验时间 放行数量 检测说明 确 定、取 消、关闭 | 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 加急订单_加急明细查询 , 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_质量检验_收检记录_查询 , 质量管理_序检收检_新增 | 0/4/0 | 0/0/0 |
|
||||||
|
| SystemMaintenance | 工位管理 | SystemMaintenance/WorkstationManagement/index.vue | 查询、新增、编辑、删除、确 定、取消 | MES_登录_工位与名称_查询 , 系统管理_工位管理_工位信息修改 , 系统管理_工位管理_工位信息增加 , 系统管理_工位管理_工位信息删除 | 0/1/1 | 0/0/0 |
|
||||||
|
| ProductionManagement | 外协管理 | ProductionManagement/OutsourceMange/index.vue | 查询 派工并同步SAP、打印、发料、收货、编辑、历史记录、查看图纸、工艺图纸 等 | 生产管理_外协管理_外协历史查询 , 计划排产_派工 , 生产管理_外协管理_更新打印次数 , 生产管理_外协管理_更新备注 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 生产管理_外协管理_查询外协全部 , 生产管理_外协管理_外协发料查询 , 生产管理_外协管理_外协发料保存 , 生产管理_外协管理_外协收料保存 | 0/1/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 质量检验标准 | QualityManagement/QualityStandardQuery/index.vue | 查询 新增标准 修改 删除 确定 取 消、确定 取 消 | MES_ProcessManagement_PartGet , Prog_MES_LoadProcess , 查询字典 , 质量管理_检验标准表_新增 , 质量管理_检验标准表_查询 , 质量管理_检验标准表_修改 , 质量管理_检验标准表_删除 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 人员绑定 | ProductionManagement/PersonnelBinding/index.vue | 查询、绑定人员、确 定、取 消 | MES_登录_工位与名称_查询 , 系统管理_人员管理_所有有效人员查询 , 系统管理_工位管理_工位绑定人员查询 , 系统管理_工位管理_工位绑定人员保存 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 装配中心 | ProductionManagement/AssemblyCenter/index.vue | 查询 --> 缺料、上一个 下一个、删除当前记录 关闭、上一个 下一个 保存当前记录 删除当前记录 关闭、确定 关闭、取 消、确 定、新增异常工时 等 | 生产管理_获取人员绑定 , 加急订单_加急明细查询 , MES_人员工时记录_获取进行中任务2 , MES_人员工时记录_获取进行中任务 , 工时校验_获取订单列表 , 异常工时_新增操作记录 , 工时校验_获取订单工序 , MES_登录_工位与名称_查询 , Prog_MES_LoadProcess , MES_ProductCenter_GetTask_zp , MES_ProductTask_WorkTimeSum , 生产管理_装配中心_缺料查询 , MES_人员工时记录_开始 , MES_人员工时记录_结束 , MES_ProductTask_Rest , MES_ProductTask_SendInspection , 加工中心_收检_读取收检记录 , MES_QulityInspection_ReceiveCheck , 加工中心_异常工时_获取操作记录列表 , 加工中心_修改工时_保存修改记录 , 生产管理_加工中心_生产发料查询 , 生产管理_加工中心_领料物料查询 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 生产管理_加工中心_退库 , Prog_MES_GetProductOrder_byAID , MES_QulityInspection_CheckItemData_Save , MES_QulityInspection_GetItemStandard | 1/0/0 | 0/1/0 |
|
||||||
|
| ProductionManagement | 班次管理 | ProductionManagement/ShiftManagement/index.vue | 添加新班次、编辑、保存、取消、绑定、删除、确 定、取 消 | 生产管理_班次管理_班次列表查询 , 系统管理_人员管理_所有有效人员查询 , 生产管理_班次管理_班次绑定人员查询 , 生产管理_班次管理_班次保存 , 生产管理_班次管理_班次删除 , 生产管理_班次管理_班次绑定人员保存 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 其他入库检 | QualityManagement/CheckTask/OtherInbound.vue | 查询、导出 --> --> 入库检 零件图纸 工艺图纸 物料名称 物料编码 生产订单 采购数 送检数量 合格数 不合格数 检验人 检验时间 放行数量 检测说明 确 定、取 消 | 查询字典 , 人员管理_人员信息查询_质检部门_查询 , 质量管理_其他入库_查询 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 质量管理_其他入库检验_更新 | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 机加件已排产 | PlanManagement/SelfMakePlandone/index.vue | 查询、确定、查看、派工、编辑、取 消、确 定 | 设备管理_设备状态_查询 , 工艺管理_获取物料原料信息 , 生产管理_结算工时_查询 , 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , 机加已排产_获取任务列表 , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , 计划排产_外协分组 , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/0/1 | 0/0/0 |
|
||||||
|
| PlanManagement | 机加件未排产 | PlanManagement/SelfMakePlando/index.vue | 查询、批量排产、排产完成、确定、查看、零件图纸、工艺图纸、编辑 等 | 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 工艺管理_获取物料原料信息 , 生产管理_结算工时_查询 , 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , MES_OrderPlanned_Query , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , 计划排产_外协分组 , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/0/1 | 0/0/0 |
|
||||||
|
| DeviceManagement | 设备数据 | DeviceManagement/Devicedata/index.vue | 查询、导出 | MES_登录_工位与名称_查询 , 设备管理_设备数据查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| SaleManagement | 销售订单状态 | SaleManagement/saleorderstatus/index.vue | 查询、缺料、关闭 | 生产管理_装配中心_缺料查询 , 销售管理_销售订单状态 , MES_OrderPlanned_DescriptionEdit , Prog_MES_LoadStations | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 优先装配 | PlanManagement/priorityinstall/index.vue | 查询、月、周、日、今天 | MES_OrderPlanned_Queryzp , MES_OrderPlanned_EditTaskPlanned | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 查看图纸 | ProcessManagement/PartDrawlook/index.vue | 查询、查看、删除、取消、确定、关闭 | 工艺管理_图纸维护_查询删除记录 , 工艺管理_图纸维护_零件图查询全部 , 工艺管理_图纸维护_物料查询 , 工艺管理_图纸维护_验证名称 , 工艺管理_图纸维护_查看图纸 , 工艺管理_图纸维护_删除图纸 | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 计划用表 | PlanManagement/PlanShell/index.vue | 查询、缺料、关闭 | 生产管理_装配中心_缺料查询 , 计划排产_查询计划信息 , MES_OrderPlanned_DescriptionEdit , Prog_MES_LoadStations | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 工时报表 | ProductionManagement/Timesheet/index.vue | 查询、Excel导出 | 工时统计_项目工时_查询 , 工时统计_作业者工时_查询 , 工时统计_设备工时_查询 , 工时统计_任务工时_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 加急件管理 | ProductionManagement/Urgent/index.vue | 查询、转至 完成 加急明细 --> 生产订单 加急数量 物料编号 关闭 | 加急订单_加急明细查询 , 生产管理_加急件管理查询 , 生产管理_加急件管理_更新转至 , 生产管理_加急件管理_更新完成 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 拣配任务 | ProductionManagement/PickingTask/index.vue | 查询、转至 完成 --> 生产订单 加急数量 物料编号 关闭 | 加急订单_加急明细查询 , 生产管理_拣配任务_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 采购外协管理 | ProductionManagement/SaleOutsourceMange/index.vue | 查询 派工并同步SAP、打印、发料、收货、更新、编辑、历史记录、查看图纸 等 | 计划排产_重置派工状态 , 生产管理_外协管理_外协历史查询 , 计划排产_派工 , 生产管理_外协管理_更新打印次数 , 生产管理_外协管理_更新备注 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 生产管理_外协管理_查询外协 , 生产管理_外协管理_外协发料查询 , 生产管理_外协管理_查询外协历史记录 , 生产管理_外协管理_查询质检记录 , 生产管理_外协管理_外协发料保存 , 生产管理_外协管理_外协收料保存 | 0/1/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 装配未排产 | PlanManagement/InstallMakePlanDo/index.vue | 查询、批量排产、排产完成、确定、派工、计划排产、编辑、取 消 等 | 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , MES_OrderPlanned_Queryzp , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/1/1 | 0/0/0 |
|
||||||
|
| ProductionManagement | 工时查询 | ProductionManagement/Workhours/index.vue | 查询 | 生产管理_工时查询_工序工时_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 结算工时 | ProductionManagement/SettlementWorkhours/index.vue | 查询、导出 | 生产管理_结算工时_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProcessManagement | 采购图纸查询 | ProcessManagement/ProcurementDrawlook/index.vue | 查询、查看、删除、取消、确定、关闭 | 工艺管理_图纸维护_查询删除记录 , 工艺管理_图纸维护_零件图查询采购 , 工艺管理_图纸维护_物料查询_采购 , 工艺管理_图纸维护_验证名称 , 工艺管理_图纸维护_查看图纸 , 工艺管理_图纸维护_删除图纸 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 机加正在进行中 | ProductionManagement/DeviceStatus/index.vue | 查询 | MES_登录_工位与名称_查询 , 设备管理_设备状态_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 装配状态 | ProductionManagement/AssembleStatus/index.vue | 查询 | 人员管理_人员信息查询_质检部门_查询 , MES_登录_工位与名称_查询 , 生产管理_装配状态_获取进行中任务 | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 生产订单关闭 | PlanManagement/PlannOrderClose/index.vue | 查询、批量确认、批量关闭、确认、关闭 | 计划排产_生产订单关闭_查询全部订单 , 计划排产_生产订单关闭_确认订单 , 计划排产_生产订单关闭_关闭订单 | 0/0/1 | 0/0/0 |
|
||||||
|
| QualityManagement | 质检明细 | QualityManagement/QualityDetails/index.vue | 查询、Excel导出 | 质量管理_质检明细_导出 , 系统管理_人员管理_所有有效人员查询 , 工时校验_获取订单列表 , 工时校验_获取订单工序 , 质量管理_质检明细_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 不合格品处置 | QualityManagement/Unqualified/index.vue | 查询、Excel导出、打印 | 人员管理_人员信息查询_质检部门_查询 , 质量管理_不合格品处置_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 外协报表 | ProductionManagement/OutsourceSheet/index.vue | 查询、Excel导出 | 生产管理_外协报表_导出 , 系统管理_人员管理_所有有效人员查询 , 工时校验_获取订单列表 , 工时校验_获取订单工序 , 生产管理_外协报表_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 工时修正 | ProductionManagement/WorkhoursEdit/index.vue | 查询、新增工时记录、设备工时、关闭、确 定、取消 | 人员管理_人员信息查询_质检部门_查询 , 系统管理_人员管理_所有有效人员查询 , 工时校验_获取订单列表 , 工时校验_获取订单工序 , 工时校验_获取操作记录列表 , 工时校验_获取设备数据 , 工时校验_保存校验记录 , 工时校验_新增操作记录 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 质检报工 | QualityManagement/QualityCenter/index.vue | 查询 --> --> 缺料、上一个 下一个、删除当前记录 关闭、上一个 下一个 保存当前记录 删除当前记录 关闭、确定 关闭、取 消、确 定、新增异常工时 等 | 生产管理_获取人员绑定 , 加急订单_加急明细查询 , MES_人员工时记录_获取进行中任务2 , MES_人员工时记录_获取进行中任务 , 工时校验_获取订单列表 , 异常工时_新增操作记录 , 工时校验_获取订单工序 , MES_登录_工位与名称_查询 , Prog_MES_LoadProcess , 质量管理_质检报工_任务查询 , MES_ProductTask_WorkTimeSum , 生产管理_装配中心_缺料查询 , MES_人员工时记录_开始 , 生产管理_加工中心_班次信息 , 生产管理_加工中心_自动加班 , MES_人员工时记录_结束 , MES_ProductTask_Rest , MES_ProductTask_SendInspection , 加工中心_收检_读取收检记录 , MES_QulityInspection_ReceiveCheck , 加工中心_异常工时_获取操作记录列表 , 加工中心_修改工时_保存修改记录 , 生产管理_加工中心_生产发料查询 , 生产管理_加工中心_领料物料查询 , 工艺管理_图纸维护_查看图纸 , 工艺管理_工艺维护_查看图纸 , 生产管理_加工中心_退库 , Prog_MES_GetProductOrder_byAID , MES_QulityInspection_CheckItemData_Save , MES_QulityInspection_GetItemStandard | 1/0/0 | 0/1/0 |
|
||||||
|
| AnomalousManagement | 机加及时开工 | AnomalousManagement/PunctualWork/index.vue | 查询 0 ? 'status-light-green' : 'status-light-gray' " /> --> | 异常提醒_及时开工_查询 , MES_登录_工位与名称_查询 , Prog_MES_LoadProcess , 查询字典 | 0/0/0 | 0/0/0 |
|
||||||
|
| DeviceManagement | 设备历史数据 | DeviceManagement/DeviceDataHistory/index.vue | 查询、导出 | MES_登录_工位与名称_查询 , 设备管理_设备数据_历史查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| DeviceManagement | 实时数据 | DeviceManagement/DeviceRealData/index.vue | 查询、0" type="text" size="mini" icon="el-icon-search" style="width: 20px" @click="handleSearch(scope.row)"/> 订单编号: 查询 | 设备管理_设备数据_工位信息_查询 , 设备管理_设备数据_统计数据查询 , 设备管理_设备数据_统计数据查询_通过类型 | 0/0/0 | 0/0/0 |
|
||||||
|
| SystemMaintenance | 报工操作记录 | SystemMaintenance/OperationLog/index.vue | 查询 | 系统管理_报工操作记录_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 物料机器人 | ProductionManagement/AGVtask/index.vue | 生成任务、刷新实时、历史记录、点位管理、开始、暂停、取消、新增点位 等 | 生产管理_物料机器人_点位查询 , 生产管理_物料机器人_修改点位 , 生产管理_物料机器人_新增点位 , 生产管理_物料机器人_删除点位 , 生产管理_物料机器人_物料查询 , 生产管理_物料机器人_创建任务 , 生产管理_物料机器人_查询实时数据 , 生产管理_物料机器人_更新任务状态 , 生产管理_物料机器人_完成任务 , 生产管理_物料机器人_查询历史数据 | 0/0/0 | 0/0/0 |
|
||||||
|
| AnomalousManagement | 外协及时开工 | AnomalousManagement/OutPunctualWork/index.vue | | 异常提醒_外协及时开工_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| AnomalousManagement | 加急任务列表 | AnomalousManagement/UrgentTask/index.vue | 查询、关闭 | 加急订单_加急明细查询 , 生产管理_生产计划跟踪 , MES_OrderPlanned_DescriptionEdit , Prog_MES_LoadStations | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 工位任务汇总 | PlanManagement/WorkstationPlan/index.vue | 查询、原料、编辑、取 消、确 定、报工、辅助 | 设备管理_设备状态_查询 , 生产管理_结算工时_查询 , MES_OrderPlanned_EditTaskPlanned , 工艺管理_获取物料原料信息 , 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , 机加已排产_获取任务列表 , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , 计划排产_外协分组 , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/0/1 | 0/0/0 |
|
||||||
|
| PlanManagement | 装配已排产 | PlanManagement/InstallMakePlanDone/index.vue | 查询、确定、派工、编辑、取 消、确 定 | 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , MES_OrderPlanned_Queryzp , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/1/1 | 0/0/0 |
|
||||||
|
| PlanManagement | 系统类装配任务 | PlanManagement/SystemInstallTask/index.vue | 查询、Excel导出、编辑、确定、派工、取 消、确 定 | 计划排产_系统类任务查询_导出 , 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , 计划排产_装配任务预算_保存 , 计划排产_系统类任务查询 , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_系统类装配任务_修改钣金预达时间 , 计划排产_系统类装配任务_修改预计送检日期 , 计划排产_系统类装配任务_修改销售要求日期 , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/1/1 | 0/0/0 |
|
||||||
|
| PlanManagement | 阀类装配任务 | PlanManagement/ValueInstallTask/index.vue | 查询、Excel导出、编辑、确定、派工、取 消、确 定 | 计划排产_阀类任务查询_导出 , 计划排产_生产订单_已排产订单查询 , MES_登录_工位与名称_查询 , 计划排产_装配任务预算_保存 , 计划排产_阀类任务查询 , Prog_MES_LoadStations , 系统管理_人员管理_所有有效人员查询 , MES_OrderPlanned_EditTaskPlanned , 计划排产_阀类装配任务_修改预计送检日期 , 计划排产_阀类装配任务_修改销售要求日期 , 计划排产_二次派工 , 计划排产_派工 , MES_OrderPlanned_SingleTaskPlanned , MES_OrderPlanned_Finish , MES_OrderPlanned_DescriptionEdit , 计划排产_自制件_日程时间修改 | 0/1/1 | 0/0/0 |
|
||||||
|
| QualityManagement | 测试装配任务 | QualityManagement/TestAssemblyTask/index.vue | 查询、导出 | 质量管理_测试装配任务_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| AnomalousManagement | 装配及时送检 | AnomalousManagement/AssemblyPunctualInspection/index.vue | 查询、导出 | 异常提醒_装配及时送检_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| QualityManagement | 及时检验报表 | QualityManagement/CheckTask/punctualInspection.vue | 查询 | 人员管理_人员信息查询_质检部门_查询 , 质量管理_及时检验报表_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 手续确认报表 | ProductionManagement/FormalityConfirmReport/index.vue | 查询、已完成 | 生产管理_手续确认报表_查询 , 生产管理_手续确认报表_确认 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 发货通知列表 | ProductionManagement/DeliveryNoticeList/index.vue | 查询 | 装配中心任务看板_发货状态查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| PlanManagement | 及时齐套跟踪结果 | PlanManagement/TimelyKitTrackingResult/index.vue | 查询 | 生产管理_及时齐套跟踪结果_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 产品合格率(工位) | ProductionManagement/ProductPassRateWorkstation/index.vue | 查询、导出 | 生产管理_产品合格率工位_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 设计任务 | ProductionManagement/DesignReportTask/Task/index.vue | 查询、新建、编辑、完成、领导批示、更多、取消、保存 | 设计报工_任务_查询 , 设计报工_任务说明_新增 , 设计报工_领导批示权限_查询 , 设计报工_任务_删除 , 设计报工_项目查询 , 设计报工_物料查询 , 设计报工_人员查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 设计报工 | ProductionManagement/DesignReportTask/Report/index.vue | 查询、开始、结束、领导批示、更多、取消、确认、保存 | 设计报工_任务_查询 , 设计报工_项目查询 , 设计报工_物料查询 , 设计报工_领导批示权限_查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 设计工时校验 | ProductionManagement/DesignReportTask/Check/index.vue | 查询、批量校验、取消、保存校验 | 设计报工_工时校验_查询 , 设计报工_项目查询 , 设计报工_物料查询 , 设计报工_工时校验_保存 , 设计报工_工时校验_批量保存 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 设计工时报表 | ProductionManagement/DesignReportTask/HoursReport/index.vue | 查询、导出 | 设计报工_项目查询 , 设计报工_物料查询 | 0/0/0 | 0/0/0 |
|
||||||
|
| ProductionManagement | 研发财务工时 | ProductionManagement/DesignReportTask/FinancialHours/index.vue | 查询、导出 | 设计报工_研发财务工时_查询 , 设计报工_项目查询 , 设计报工_物料查询 | 0/0/0 | 0/0/0 |
|
||||||
|
|
||||||
|
## 3. 前端调用与数据库差异
|
||||||
|
|
||||||
|
前端字面量调用但测试库找不到同名过程共 **14** 个。该结果可能由测试库版本差异、动态接口、历史页面或过程名称变更造成,必须逐项确认:
|
||||||
|
|
||||||
|
- 查询零件号:调用次数 1,来源 src/views/QualityManagement/QualityStandardQuery/index copy.vue
|
||||||
|
- 产品关系_变更节点排序:调用次数 1,来源 src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- 登录基础数据_人员信息_切换是否用户:调用次数 1,来源 src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- Prog_MES_SingleTaskPlanned:调用次数 1,来源 src/views/ProductionManagement/ProductionTaskManage/index.vue
|
||||||
|
- WEB_报警查询_未读报警记录_查询:调用次数 1,来源 src/views/layout/components/Navbar.vue
|
||||||
|
- WEB_报警查询_未读报警记录_未读条数查询:调用次数 1,来源 src/views/layout/components/Navbar.vue
|
||||||
|
- WEB_基本表_产品结构_查询:调用次数 1,来源 src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- WEB_基本表_产品结构_删除:调用次数 1,来源 src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- WEB_基本表_产品结构_新增:调用次数 1,来源 src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- WEB_基本表_产品结构_修改:调用次数 1,来源 src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- WEB_人员设备查看权限_查询:调用次数 1,来源 src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- WEB_人员设备查看权限_权限切换:调用次数 1,来源 src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- WEB_人员摄像头查看权限_权限切换:调用次数 1,来源 src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- WEB_摄像头查看权限_查询:调用次数 1,来源 src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
|
||||||
|
数据库中有 165 个过程未被静态前端直接调用。它们可能由事件、定时任务、接口内部调用、其他客户端、历史菜单或后台作业使用,不能仅凭静态未引用判定为废弃。
|
||||||
|
|
||||||
|
## 4. 过程风险分类
|
||||||
|
|
||||||
|
- 过程总数:432。
|
||||||
|
- 定义中出现 INSERT/UPDATE/DELETE/MERGE 等明显写关键字:187 个。
|
||||||
|
- 明确包含 OPENQUERY、[SAP] 或现场 SAP 交货表引用:7 个。
|
||||||
|
- 写过程必须按业务数据、权限、事务、回滚和审计要求单独验收;外部依赖过程必须在现场连接可用时再做联调。
|
||||||
|
|
||||||
|
## 5. 新需求定位路径
|
||||||
|
|
||||||
|
1. 从菜单路径定位 `src/views/<模块>/<页面>/index.vue`。
|
||||||
|
2. 在页面中搜索 `CreateData`,记录过程名、type、参数名和调用前后的页面状态。
|
||||||
|
3. 在 `work/database_procedure_inventory_20260725.csv` 查过程参数数量、写入特征和外部依赖。
|
||||||
|
4. 如果过程不存在,先确认测试库与发布物版本,再决定补过程、改过程名映射还是修复页面。
|
||||||
|
5. 变更必须配套前置校验、事务、验证 SQL、回滚脚本、页面回归和手册更新。
|
||||||
|
|
||||||
|
## 6. 原始清单
|
||||||
|
|
||||||
|
- `work/menu_inventory_role1.csv`:角色菜单清单。
|
||||||
|
- `work/page_ui_inventory_role1_20260725.csv`:页面按钮、字段、方法和过程清单。
|
||||||
|
- `work/frontend_procedure_call_inventory_20260725.csv`:前端过程调用清单。
|
||||||
|
- `work/database_procedure_inventory_20260725.csv`:测试库全部过程清单。
|
||||||
|
- `work/database_procedure_parameters_20260725.csv`:全部过程参数清单。
|
||||||
|
- `work/database_table_columns_20260725.csv`、`work/database_view_columns_20260725.csv`:表和视图字段清单。
|
||||||
|
- `work/database_expression_dependencies_20260725.csv`:过程、视图、约束等表达式依赖清单。
|
||||||
|
- `work/frontend_calls_missing_db_procedure_20260725.csv`:前端调用缺失过程清单。
|
||||||
|
- `work/database_procedures_unused_by_static_frontend_20260725.csv`:数据库未被静态前端调用清单。
|
||||||
BIN
doc/MES后台网页版用户操作手册_V1.0_20260725.docx
Normal file
BIN
doc/MES后台网页版用户操作手册_V1.0_20260725.docx
Normal file
Binary file not shown.
274
doc/MES后台网页版用户操作手册_V1.0_20260725.md
Normal file
274
doc/MES后台网页版用户操作手册_V1.0_20260725.md
Normal file
@@ -0,0 +1,274 @@
|
|||||||
|
# 大连元利流体技术有限公司 MES 后台网页版用户操作手册
|
||||||
|
|
||||||
|
**文档版本:V1.0 | 适用环境:MES 测试环境 | 日期:2026-07-25**
|
||||||
|
|
||||||
|
> 本手册基于测试环境角色 1 的 84 条菜单、75 个可进入页面、前端代码静态扫描和测试数据库对象盘点生成。不同角色的菜单、按钮和数据范围以实际权限为准。
|
||||||
|
|
||||||
|
## 1. 使用前说明
|
||||||
|
|
||||||
|
- 测试前端地址:`http://124.220.15.242:10012/`。
|
||||||
|
- MES 接口由前端自动调用,用户不需要手工拼接接口地址。
|
||||||
|
- 测试环境 B1/TM 只允许登录与只读 GET;语义 POST/PATCH 会在前端拦截,不要用写操作验证连通性。
|
||||||
|
- 页面按钮和数据范围由角色权限控制;看不到某个菜单或按钮时先联系系统管理员,不要直接修改浏览器参数。
|
||||||
|
- 涉及新增、编辑、删除、排产、派工、报工、质检、入库和状态切换的操作,必须先确认业务单据、操作人和回滚方式。
|
||||||
|
|
||||||
|
## 2. 登录与通用操作
|
||||||
|
|
||||||
|
### 2.1 登录
|
||||||
|
|
||||||
|
1. 打开测试前端地址。
|
||||||
|
2. 输入账号和密码,点击“登录”。
|
||||||
|
3. 登录成功后进入首页;系统按角色加载菜单和按钮权限。
|
||||||
|
4. “记住账号”只保存账号,不保存密码;离开共享电脑时不要勾选。
|
||||||
|
|
||||||
|
### 2.2 列表查询
|
||||||
|
|
||||||
|
1. 先填写必要筛选条件,日期条件使用页面提供的日期选择器。
|
||||||
|
2. 点击“查询”,等待表格刷新。
|
||||||
|
3. 使用分页、每页条数、排序和导出功能核对结果。
|
||||||
|
4. 查询结果为空时先清空筛选条件,再判断是否确实没有数据。
|
||||||
|
|
||||||
|
### 2.3 新增、编辑、删除与状态操作
|
||||||
|
|
||||||
|
1. 新增前确认必填字段、编码唯一性和关联对象。
|
||||||
|
2. 编辑前先选中正确记录,核对订单、合同、工位或人员。
|
||||||
|
3. 删除、关闭、完成、启用、禁用、排产、派工和报工属于状态性操作,执行前必须二次确认。
|
||||||
|
4. 保存后重新查询并核对操作时间、编辑人和状态。
|
||||||
|
|
||||||
|
### 2.4 页面常见问题
|
||||||
|
|
||||||
|
| 现象 | 处理顺序 |
|
||||||
|
| --- | --- |
|
||||||
|
| 登录成功但没有菜单 | 退出重新登录;确认角色是否启用、菜单是否分配、接口是否返回菜单数据。 |
|
||||||
|
| 查询很慢 | 缩小日期和订单范围;记录页面、条件和耗时,交给运维分析存储过程和执行计划。 |
|
||||||
|
| 按钮不存在 | 检查角色 AddData/DeleteData/EditData/SearchData 权限,不要直接改前端隐藏逻辑。 |
|
||||||
|
| B1/TM 操作失败 | 测试环境先确认是否为被保护的 POST/PATCH;写操作不会为了测试而放开。 |
|
||||||
|
| 保存后页面没有变化 | 重新查询并查看接口返回;确认过程是否存在、参数名和业务状态是否满足。 |
|
||||||
|
|
||||||
|
## 3. 菜单与页面总览
|
||||||
|
|
||||||
|
当前角色菜单共 **84** 条,其中模块 **9** 个、可进入页面 **75** 个。
|
||||||
|
|
||||||
|
### 系统管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 计划排产
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 生产管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 质量管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 工艺管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 设备管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 销售订单管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 异常提醒
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
### 研发管理
|
||||||
|
|
||||||
|
用途:用于 MES 业务管理和查询。
|
||||||
|
|
||||||
|
| 页面 | 路径 | 主要操作 | 关键字段/内容 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
|
||||||
|
## 4. 各模块操作流程
|
||||||
|
|
||||||
|
### 4.1 系统管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.2 计划排产
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.3 生产管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.4 质量管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.5 工艺管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.6 设备管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.7 销售订单管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.8 异常提醒
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
### 4.9 研发管理
|
||||||
|
|
||||||
|
模块定位:用于 MES 业务管理和查询。
|
||||||
|
- 按页面筛选条件查询数据,选择记录后执行页面提供的操作。
|
||||||
|
- 涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。
|
||||||
|
|
||||||
|
## 5. 重点业务流程
|
||||||
|
|
||||||
|
### 5.1 排产与装配任务
|
||||||
|
|
||||||
|
1. 在“机加件排产”或“装配件排产”按订单、物料、日期和状态查询。
|
||||||
|
2. 选择任务后执行排产、派工、优先级或计划时间调整;批量操作前核对选择行。
|
||||||
|
3. 到“已排产”“工位任务汇总”或“及时齐套跟踪结果”复核状态。
|
||||||
|
4. 在“系统类装配任务”“阀类装配任务”维护预算装配工时和合同预算测试工时,进度字段由系统计算。
|
||||||
|
|
||||||
|
### 5.2 工艺维护与工艺下发
|
||||||
|
|
||||||
|
1. 在“工序管理”维护工序基础信息。
|
||||||
|
2. 在“制定标准工艺”维护准备工时、标准工时、工装量具、机床和车间。
|
||||||
|
3. 在“生产工艺”查询订单并生成/编辑工艺,确认工序顺序和工时。
|
||||||
|
4. 需要下发生产任务时,确认订单、工艺版本和目标工序后执行下发。
|
||||||
|
|
||||||
|
### 5.3 加工中心与装配中心
|
||||||
|
|
||||||
|
1. 按工位、人员、班次和任务状态查询待处理任务。
|
||||||
|
2. 按业务顺序执行收料、开工、暂停/恢复、报工、送检和异常处理。
|
||||||
|
3. 质检数据录入前核对检测项目、理论值、上下限、实测值和判定。
|
||||||
|
4. 操作完成后检查任务状态、工时、数量和最后编辑人。
|
||||||
|
|
||||||
|
### 5.4 质量检验与不合格品
|
||||||
|
|
||||||
|
1. 根据业务节点进入终检、序检、收检、采购入库检、销售退货检、原材料退库检或其他入库检。
|
||||||
|
2. 选择任务和检测项目,录入检验数量、合格数、不合格数和实测值。
|
||||||
|
3. 不合格结果进入“不合格品处置”,填写处置结论并保留审批/操作记录。
|
||||||
|
4. 使用“质检明细”“及时检验报表”“产品合格率”进行追溯和统计。
|
||||||
|
|
||||||
|
### 5.5 人员、角色、菜单和工位
|
||||||
|
|
||||||
|
1. 先新增或维护人员,再配置角色。
|
||||||
|
2. 在角色管理为角色分配模块和操作权限。
|
||||||
|
3. 在菜单管理维护模块路径和层级;变更菜单前先确认路由组件存在。
|
||||||
|
4. 在工位管理维护工位号、名称和关联信息。
|
||||||
|
5. 权限修改后使用目标账号重新登录验证,不以管理员账号代替验收。
|
||||||
|
|
||||||
|
## 6. 权限与数据安全
|
||||||
|
|
||||||
|
- 菜单权限来自数据库角色菜单过程;页面按钮受 AddData、DeleteData、EditData、SearchData 等权限控制。
|
||||||
|
- 测试前端配置 `externalReadOnly=true` 时,B1/TM 语义 POST/PATCH 在网络请求前被拦截。
|
||||||
|
- 不要在浏览器开发者工具中手工重放生产接口或外部系统写请求。
|
||||||
|
- 不要把账号、密码、Token、业务数据或导出文件提交到代码仓库。
|
||||||
|
- 发现数据异常时保留页面、筛选条件、时间、账号、响应状态和操作记录,不要先删除数据。
|
||||||
|
|
||||||
|
## 7. 功能定位与新增需求说明
|
||||||
|
|
||||||
|
### 7.1 页面问题定位
|
||||||
|
|
||||||
|
1. 先从菜单路径定位页面源码:`src/views/<模块>/<页面>/index.vue`,特殊页面以菜单组件路径为准。
|
||||||
|
2. 在页面中查找 `CreateData`,确认过程名、调用类型和参数名。
|
||||||
|
3. 通用接口入口位于 `src/utils/request.js` 和 `src/utils/curd.js`;动态菜单由 `src/router/getTreeData.js` 和 `src/router/menuComponentModule.js` 生成。
|
||||||
|
4. B1/TM 封装分别位于 `src/api/b1s.js`、`src/api/tm.js`;测试环境不要绕过只读保护。
|
||||||
|
5. 到数据库过程清单中确认过程存在、参数数量、写入特征和外部依赖,再决定改前端、改过程还是补充对象。
|
||||||
|
|
||||||
|
### 7.2 新增需求的推荐顺序
|
||||||
|
|
||||||
|
1. 明确页面角色、数据范围、查询条件、字段口径和读写边界。
|
||||||
|
2. 先确认现有过程是否可复用,避免新增同义过程。
|
||||||
|
3. 测试库新增/修改过程时编写前置校验、事务、验证 SQL 和回滚脚本。
|
||||||
|
4. 前端实现表格、表单、权限按钮、加载/空结果/错误状态和分页。
|
||||||
|
5. 先做只读回归,再用隔离数据做写流程回归,最后更新菜单、手册和变更记录。
|
||||||
|
|
||||||
|
## 8. 全量扫描结果与已知风险
|
||||||
|
|
||||||
|
- 前端源码:185 个源码文件,其中 108 个 Vue、77 个 JS。
|
||||||
|
- CreateData:772 次调用,766 次字面量过程调用,281 个唯一字面量过程名,另有 6 次动态调用需人工复核。
|
||||||
|
- 外部集成调用:B1 GET/POST/PATCH = 18/20/18;TM GET/POST/PATCH = 1/7/1。
|
||||||
|
- 测试数据库:432 个存储过程、63 张表、27 个视图;过程定义中包含明显写关键字的约 187 个。
|
||||||
|
- 数据库表达式依赖:836 条,其中跨服务器依赖 75 条,跨库依赖 106 条。
|
||||||
|
- 前端调用但测试库找不到同名过程:14 个,属于重点风险,不代表全部页面不可用,需按部署版本、动态过程或历史页面逐项确认。
|
||||||
|
|
||||||
|
缺失过程清单:
|
||||||
|
- `查询零件号`:src/views/QualityManagement/QualityStandardQuery/index copy.vue
|
||||||
|
- `产品关系_变更节点排序`:src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- `登录基础数据_人员信息_切换是否用户`:src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- `Prog_MES_SingleTaskPlanned`:src/views/ProductionManagement/ProductionTaskManage/index.vue
|
||||||
|
- `WEB_报警查询_未读报警记录_查询`:src/views/layout/components/Navbar.vue
|
||||||
|
- `WEB_报警查询_未读报警记录_未读条数查询`:src/views/layout/components/Navbar.vue
|
||||||
|
- `WEB_基本表_产品结构_查询`:src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- `WEB_基本表_产品结构_删除`:src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- `WEB_基本表_产品结构_新增`:src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- `WEB_基本表_产品结构_修改`:src/views/CraftManagement/CraftMaintain/index.vue
|
||||||
|
- `WEB_人员设备查看权限_查询`:src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- `WEB_人员设备查看权限_权限切换`:src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- `WEB_人员摄像头查看权限_权限切换`:src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- `WEB_摄像头查看权限_查询`:src/views/SystemMaintenance/PersonnelManagement/index.vue
|
||||||
|
- 数据库存在但静态前端未调用的过程可能来自事件、定时任务、接口内部调用、历史功能或未授权菜单,不能仅凭“未调用”判定为废弃。
|
||||||
|
- 当前测试环境的核心外部依赖、证书、后端高权限账号和写流程验收仍按接管报告中的限制执行。
|
||||||
|
|
||||||
|
## 9. 交付清单
|
||||||
|
|
||||||
|
- 本用户手册:`doc/MES后台网页版用户操作手册_V1.0_20260725.docx`
|
||||||
|
- Markdown 版:`doc/MES后台网页版用户操作手册_V1.0_20260725.md`
|
||||||
|
- 菜单清单:`work/menu_inventory_role1.csv`
|
||||||
|
- 页面 UI 清单:`work/page_ui_inventory_role1_20260725.csv`
|
||||||
|
- 前端过程调用清单:`work/frontend_procedure_call_inventory_20260725.csv`
|
||||||
|
- 数据库过程清单:`work/database_procedure_inventory_20260725.csv`
|
||||||
|
- 前端/数据库差异清单:`work/frontend_calls_missing_db_procedure_20260725.csv`
|
||||||
|
- 全量过程扫描脚本:`work/scan-frontend-function-inventory.js`
|
||||||
|
- 页面扫描脚本:`work/scan-page-ui-inventory.js`
|
||||||
|
|
||||||
|
> 手册首版基于源码、菜单和存储过程静态盘点;涉及真实业务写入的页面仍需在隔离数据上完成业务负责人验收后,才能标记为生产可用。
|
||||||
496
doc/MES测试环境接管基线_20260725.md
Normal file
496
doc/MES测试环境接管基线_20260725.md
Normal file
@@ -0,0 +1,496 @@
|
|||||||
|
# MES 测试环境接管基线
|
||||||
|
|
||||||
|
文档版本:V1.3
|
||||||
|
基线日期:2026-07-25
|
||||||
|
适用项目:`MES_Manage_View_V20`
|
||||||
|
接管环境:测试环境
|
||||||
|
文档状态:已建立,后续按验证进度持续更新
|
||||||
|
|
||||||
|
## 1. 基线结论
|
||||||
|
|
||||||
|
当前测试环境已完成前端、MES 接口、数据库、只读外部集成和恢复演练的受控接管,可作为后续生产接管的演练环境。核心后端按现有发布物维护,不把缺少原始源码列为当前接管阻断项;涉及 DLL 逻辑修改时仍需单独评估。
|
||||||
|
|
||||||
|
| 领域 | 状态 | 结论 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 前端代码/部署 | 已接管 | 构建通过,测试前端已部署到 IIS `10012` |
|
||||||
|
| MES 通用接口 | 已验证 | HTTPS 接口可访问,登录、菜单和只读过程调用成功 |
|
||||||
|
| 测试数据库 | 已验证 | SQL Server 可连接,`YL_MESDB` 在线且对象可读 |
|
||||||
|
| MES 应用账号 | 已验证 | 测试超级管理员账号可登录,角色和菜单加载成功 |
|
||||||
|
| B1 集成 | 只读接管 | 通过管理机 VPN 访问现场代理,登录代理与语义 GET 可用,POST/PATCH 被测试前端阻止 |
|
||||||
|
| TM 集成 | 受限只读 | 现场代理端口可达;当前前端只有库存任务 POST 调用,测试环境全部阻止,尚无明确 GET 验收端点 |
|
||||||
|
| 数据库版本一致性 | 关键项已同步 | 装配任务查询、索引、合同工时和预算进度相关变更已同步,完整对象差异仍需持续维护 |
|
||||||
|
| 测试账号权限 | 部分整改 | 已创建 `meswork_readonly` 只读账号,原 `meswork` 仍为 `dbo/sysadmin` |
|
||||||
|
| 配置隔离 | 已验证 | 测试 `dist/static/config.js` 独立指向测试 MES,并启用 B1/TM 只读保护 |
|
||||||
|
| 接口服务源码/部署 | 发布物接管 | IIS、部署目录、配置和脱敏快照已归档;按约定不修改核心 DLL,无原始源码不阻断当前运维接管 |
|
||||||
|
|
||||||
|
接管判定:**有条件接管**。
|
||||||
|
|
||||||
|
- 可以开展:代码分析、只读诊断、菜单与权限核对、MES 查询流程测试、SQL 修复脚本编写、测试环境受控变更。
|
||||||
|
- 暂不可开展:B1/TM 真实联调、生产等价验收、未经审批的数据库写入、完整灾备恢复演练。
|
||||||
|
|
||||||
|
V1.2 增量状态:WinRM HTTPS 已接通并完成 IIS/后端只读盘点;部署快照已脱敏归档,数据库备份历史已核对,但核心 DLL 原始源码和恢复演练仍未完成。
|
||||||
|
|
||||||
|
## 2. 基线范围
|
||||||
|
|
||||||
|
本基线覆盖:
|
||||||
|
|
||||||
|
- Vue 主系统代码、构建配置和运行时配置。
|
||||||
|
- MES 统一接口 `MESCommonBase.ashx`。
|
||||||
|
- 测试服务器 IIS 站点、应用池、证书、日志和接口部署目录。
|
||||||
|
- 测试 SQL Server 中的 `YL_MESDB`。
|
||||||
|
- MES 应用登录、角色菜单和通用存储过程查询。
|
||||||
|
- B1/TM 网络可用性及前端依赖范围。
|
||||||
|
- 正式库与测试库部分关键对象的定义一致性。
|
||||||
|
- 接管安全规则、变更规则、已知限制和后续任务。
|
||||||
|
|
||||||
|
本基线不包含明文密码、数据库连接口令、Token 或生产业务数据。
|
||||||
|
|
||||||
|
## 3. 代码基线
|
||||||
|
|
||||||
|
### 3.1 版本信息
|
||||||
|
|
||||||
|
| 项目 | 当前值 |
|
||||||
|
| --- | --- |
|
||||||
|
| 仓库目录 | `C:\WorkYuanLy\MES_Manage_View_V20` |
|
||||||
|
| 当前分支 | `snapshot/local-save-20260625-154806` |
|
||||||
|
| 当前提交 | `62f7632fc6708a8dcb25934c463d18520d9619de` |
|
||||||
|
| 提交时间 | 2026-07-24 14:59:37 +08:00 |
|
||||||
|
| 提交说明 | `feat: 完善设计报工与研发工时功能` |
|
||||||
|
| Node.js | v20.14.0 |
|
||||||
|
| npm | 10.7.0 |
|
||||||
|
| 应用版本 | 1.1.0 |
|
||||||
|
|
||||||
|
当前工作区存在未提交文档、数据库脚本和工作目录。接管期间不得清理或覆盖来源不明的现有变更;正式发布前应建立明确的发布分支和提交边界。
|
||||||
|
|
||||||
|
### 3.2 技术栈
|
||||||
|
|
||||||
|
| 层级 | 技术 |
|
||||||
|
| --- | --- |
|
||||||
|
| 前端框架 | Vue 2.7.16 |
|
||||||
|
| 路由 | Vue Router 3.6.5,数据库菜单动态生成路由 |
|
||||||
|
| 状态管理 | Vuex 3.6.2 |
|
||||||
|
| UI | Element UI 2.15.14 |
|
||||||
|
| HTTP | Axios 0.21.4 |
|
||||||
|
| 构建 | Webpack 5.103.0 |
|
||||||
|
| 数据库 | SQL Server 2019 |
|
||||||
|
| 业务接口 | ASP.NET `.ashx` 统一存储过程网关 |
|
||||||
|
| 外部集成 | SAP B1 代理、TM/OpenAPI、文件服务、设备/MQTT |
|
||||||
|
|
||||||
|
### 3.3 前端规模
|
||||||
|
|
||||||
|
| 指标 | 数量 |
|
||||||
|
| --- | ---: |
|
||||||
|
| `src/views` 下 Vue 文件 | 99 |
|
||||||
|
| `src` 下 JavaScript 文件 | 77 |
|
||||||
|
| `CreateData` 调用 | 770 |
|
||||||
|
| 可静态识别的字面量过程调用 | 724 |
|
||||||
|
| 可静态识别的唯一过程名 | 219 |
|
||||||
|
|
||||||
|
业务模块页面分布:
|
||||||
|
|
||||||
|
| 模块 | Vue 文件数 |
|
||||||
|
| --- | ---: |
|
||||||
|
| 生产管理 | 36 |
|
||||||
|
| 质量管理 | 15 |
|
||||||
|
| 计划排产 | 13 |
|
||||||
|
| 工艺管理 | 9 |
|
||||||
|
| 系统管理 | 6 |
|
||||||
|
| 异常管理 | 4 |
|
||||||
|
| 设备管理 | 4 |
|
||||||
|
| 其他布局、登录、看板、销售、基础模块 | 12 |
|
||||||
|
|
||||||
|
## 4. 环境清单
|
||||||
|
|
||||||
|
### 4.1 地址规则
|
||||||
|
|
||||||
|
| 环境 | MES 通用接口 | 基础地址 | 说明 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 正式 | `https://192.168.2.92:10101/submit/MESCommonBase.ashx` | `https://192.168.2.92:10101` | 正式业务环境,默认只读诊断 |
|
||||||
|
| 测试 | `https://124.220.15.242:10101/submit/MESCommonBase.ashx` | `https://124.220.15.242:10101` | 当前接管验证环境 |
|
||||||
|
| 本地 | `http://127.0.0.1:10101/submit/MESCommonBase.ashx` | `http://127.0.0.1:10101` | 本地接口服务 |
|
||||||
|
|
||||||
|
测试 B1/TM 通过管理机 VPN 访问现场代理:
|
||||||
|
|
||||||
|
- B1:`https://192.168.2.92:9996/b1s`
|
||||||
|
- TM:`https://192.168.2.92:9996/openapi`
|
||||||
|
|
||||||
|
测试运行配置必须设置 `externalReadOnly: true`。B1/TM 的语义 POST/PATCH 在前端请求发出前被阻止;语义 GET 仍由代理通过 HTTP POST 传输,判定写保护时以请求体 `func` 为准。
|
||||||
|
|
||||||
|
### 4.2 配置加载机制
|
||||||
|
|
||||||
|
`index.html` 在应用脚本前加载 `./static/config.js`。MES、文件服务、B1 和 TM 地址均从 `window.dt_Config` 读取。
|
||||||
|
|
||||||
|
`npm run build` 完成后会删除 `dist/static/config.js`,因此运行时配置应由部署环境单独注入。推荐维护正式、测试、本地三套模板,并通过脚本选择目标配置,禁止人工切换注释。
|
||||||
|
|
||||||
|
当前风险:源码中的 `static/config.js` 默认指向正式环境。启动测试前端前必须先完成环境隔离。
|
||||||
|
|
||||||
|
## 5. 系统架构与调用链
|
||||||
|
|
||||||
|
```text
|
||||||
|
浏览器 / Vue 页面
|
||||||
|
|
|
||||||
|
| CreateData + ExecDatabase
|
||||||
|
v
|
||||||
|
MESCommonBase.ashx 统一接口
|
||||||
|
|
|
||||||
|
| 过程名 + 参数 + 用户/模块信息
|
||||||
|
v
|
||||||
|
SQL Server / YL_MESDB
|
||||||
|
|
|
||||||
|
+-- 存储过程、视图、业务表
|
||||||
|
+-- SAP 跨库视图或 B1 代理
|
||||||
|
+-- TM 领料/收料/退料接口
|
||||||
|
+-- 文件上传下载服务
|
||||||
|
```
|
||||||
|
|
||||||
|
关键实现:
|
||||||
|
|
||||||
|
- `src/utils/request.js`:主 Axios 实例,读取 `serverAddress`。
|
||||||
|
- `src/utils/curd.js`:构造统一过程请求并执行接口调用。
|
||||||
|
- `src/api/login.js`:登录和角色菜单查询。
|
||||||
|
- `src/router/getTreeData.js`:将数据库菜单转换为动态路由。
|
||||||
|
- `src/api/b1s.js`:B1 GET/POST/PATCH 代理封装。
|
||||||
|
- `src/api/tm.js`:TM/OpenAPI 代理封装。
|
||||||
|
|
||||||
|
## 6. 测试数据库基线
|
||||||
|
|
||||||
|
### 6.1 数据库信息
|
||||||
|
|
||||||
|
| 项目 | 当前值 |
|
||||||
|
| --- | --- |
|
||||||
|
| SQL Server | Microsoft SQL Server 2019 Enterprise |
|
||||||
|
| 服务器实例 | `10_0_4_16\MSSQLSERVER2019` |
|
||||||
|
| 数据库 | `YL_MESDB` |
|
||||||
|
| 状态 | ONLINE |
|
||||||
|
| 兼容级别 | 150 |
|
||||||
|
| 排序规则 | Chinese_PRC_CI_AS |
|
||||||
|
| 恢复模式 | SIMPLE |
|
||||||
|
| 数据库总容量 | 1234.69 MB |
|
||||||
|
| 数据文件 | 1226.69 MB |
|
||||||
|
| 日志文件 | 8.00 MB |
|
||||||
|
|
||||||
|
### 6.2 对象规模
|
||||||
|
|
||||||
|
| 对象类型 | 数量 |
|
||||||
|
| --- | ---: |
|
||||||
|
| 用户表 | 61 |
|
||||||
|
| 视图 | 27 |
|
||||||
|
| 存储过程 | 425 |
|
||||||
|
| 标量函数 | 2 |
|
||||||
|
| 主键约束 | 47 |
|
||||||
|
| 外键约束 | 8 |
|
||||||
|
| 默认约束 | 45 |
|
||||||
|
| 唯一约束 | 5 |
|
||||||
|
|
||||||
|
正式库和测试库的上述对象数量一致,但对象定义并不完全一致。
|
||||||
|
|
||||||
|
### 6.3 账号权限
|
||||||
|
|
||||||
|
原测试数据库账号在 `YL_MESDB` 中映射为 `dbo`,并具有 `CONTROL`、`ALTER`、`CREATE`、`INSERT`、`UPDATE`、`DELETE` 和 `EXECUTE` 等完整权限。
|
||||||
|
|
||||||
|
已创建日常诊断账号 `meswork_readonly`,映射到 `YL_MESDB` 后仅加入 `db_datareader` 并授予 `VIEW DEFINITION`。验证结果为:数据库 `SELECT=1`、`VIEW DEFINITION=1`,`INSERT=0`、`UPDATE=0`、`DELETE=0`。该账号不授予全库 `EXECUTE`,避免通过未知写过程间接修改数据。
|
||||||
|
|
||||||
|
该账号只应作为临时受控部署账号,不应作为日常诊断账号。需要新增:
|
||||||
|
|
||||||
|
- 只读诊断账号:仅允许连接、查看定义、查询数据和查看执行计划。
|
||||||
|
- 受控部署账号:按变更窗口启用,发布完成后收回或禁用。
|
||||||
|
|
||||||
|
## 7. 正式库与测试库漂移
|
||||||
|
|
||||||
|
抽查 6 个近期关键过程,结果如下:
|
||||||
|
|
||||||
|
| 存储过程 | 测试/正式定义 | 结论 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `MES_OrderPlanned_Query` | 不一致 | 测试库为 2026-06-09 版本,正式库为 2026-07-24 版本 |
|
||||||
|
| `计划排产_系统类任务查询` | 不一致 | 正式库已包含 2026-07-25 合同工时修复,测试库未同步 |
|
||||||
|
| `计划排产_阀类任务查询` | 不一致 | 正式库已包含 2026-07-25 合同工时修复,测试库未同步 |
|
||||||
|
| `车间生产管理工艺_零件工序_保存为标准工艺` | 一致 | 修改时间不同,但定义哈希一致 |
|
||||||
|
| `生产管理_及时齐套跟踪结果_查询` | 一致 | 定义哈希一致 |
|
||||||
|
| `设计报工_研发财务工时_查询` | 一致 | 定义哈希一致 |
|
||||||
|
|
||||||
|
禁止直接用正式库覆盖测试库。应按数据库变更脚本逐项同步,并在同步前记录测试库对象哈希和回滚定义。
|
||||||
|
|
||||||
|
## 8. 已完成验证
|
||||||
|
|
||||||
|
### 8.1 网络与数据库
|
||||||
|
|
||||||
|
| 验证项 | 结果 |
|
||||||
|
| --- | --- |
|
||||||
|
| 测试 SQL Server 端口 | 通过 |
|
||||||
|
| 测试数据库登录 | 通过 |
|
||||||
|
| `YL_MESDB` 对象读取 | 通过 |
|
||||||
|
| 测试 MES 接口端口 | 通过 |
|
||||||
|
| 测试 B1/TM 代理端口 | 失败,当前不可达 |
|
||||||
|
|
||||||
|
### 8.2 应用接口
|
||||||
|
|
||||||
|
| 验证项 | 结果 | 证据 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| MES 测试账号登录 | 通过 | HTTP 200,返回超级管理员角色 |
|
||||||
|
| 角色菜单查询 | 通过 | HTTP 200,返回 84 条菜单/权限数据 |
|
||||||
|
| 通用只读过程查询 | 通过 | HTTP 200,返回 33 条工位数据 |
|
||||||
|
| B1 查询/写入 | 未执行 | 代理端口不可达 |
|
||||||
|
| TM 领料/收料/退料 | 未执行 | 代理端口不可达 |
|
||||||
|
|
||||||
|
### 8.3 前端构建
|
||||||
|
|
||||||
|
执行命令:`npm run build`
|
||||||
|
|
||||||
|
结果:构建成功,Webpack 5.103.0 用时约 79 秒,出现 2 类既有警告:
|
||||||
|
|
||||||
|
- 字体、登录图片和主要 JavaScript 包超过推荐体积。
|
||||||
|
- Browserslist/caniuse-lite 与 baseline-browser-mapping 数据过期。
|
||||||
|
|
||||||
|
入口资源约 6.85 MiB,存在前端首屏性能优化空间。构建完成后 `dist/static/config.js` 按脚本设计被删除,部署前必须注入目标环境配置。
|
||||||
|
|
||||||
|
## 9. 已知限制与未验证范围
|
||||||
|
|
||||||
|
以下项目尚不能视为已接管完成:
|
||||||
|
|
||||||
|
- B1 生产订单、资源、工艺路线、发料和库存单据联调。
|
||||||
|
- TM 领料任务、收料任务和退料任务联调。
|
||||||
|
- 文件上传、下载、图纸和附件完整链路。
|
||||||
|
- 设备采集、MQTT、PLC、AGV 和定时任务。
|
||||||
|
- 排产、报工、送检、收检、退库等写入流程。
|
||||||
|
- 核心 DLL 原始源码、可重复构建流程、接口发布和回滚演练。
|
||||||
|
- 数据库完整备份恢复和灾备演练。
|
||||||
|
- 页面级全量浏览器回归、并发和性能测试。
|
||||||
|
|
||||||
|
## 10. 安全与运行风险
|
||||||
|
|
||||||
|
| 编号 | 级别 | 风险 | 处理要求 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| SEC-01 | P1 | 原测试数据库账号为 `dbo` | 只读账号已建立;切换完成后再限制或停用原 `dbo/sysadmin` 账号 |
|
||||||
|
| SEC-02 | P1 | 登录接口返回明文 `password` 字段 | 后端查询和序列化结果移除密码 |
|
||||||
|
| SEC-03 | P1 | 登录页“记住密码”将密码保存到 Cookie 7 天 | 改为仅记住账号,不在浏览器保存明文密码 |
|
||||||
|
| SEC-04 | P1 | 10100/10101 复用名称不匹配的自签名 WMSvc 证书 | 换用与测试域名匹配、受信任且独立的业务 HTTPS 证书 |
|
||||||
|
| SEC-05 | P2 | `submit/web.config` 开启目录浏览 | 验证无业务依赖后关闭目录浏览 |
|
||||||
|
| ENV-01 | P1 | 源码运行时配置默认指向正式环境 | 建立三套配置模板和环境防误连校验 |
|
||||||
|
| ENV-02 | P1 | 测试库与正式库过程版本漂移 | 建立对象哈希清单和脚本化同步流程 |
|
||||||
|
| INT-01 | P2 | B1/TM 测试代理不可用 | 恢复测试代理或提供模拟服务 |
|
||||||
|
| OPS-01 | P2 | 发布包已归档但 `DataLinkMesWork.dll` 原始源码缺失 | 获取原始项目仓库,建立可重复构建和版本标记 |
|
||||||
|
| OPS-02 | P2 | 服务器 C 盘仅余约 13.5 GB | 建立容量告警并清理经确认可删除的历史备份/发布包 |
|
||||||
|
| PERF-01 | P3 | 前端入口和字体资源体积较大 | 按页面拆包、裁剪字体、压缩静态资源 |
|
||||||
|
|
||||||
|
## 11. 接管操作规则
|
||||||
|
|
||||||
|
1. 生产环境默认只读;任何生产写操作需要用户明确批准。
|
||||||
|
2. 测试环境写操作也必须先给出测试数据、预期结果和回滚方法。
|
||||||
|
3. 数据库变更必须包含前置结构校验、事务、验证 SQL 和回滚脚本。
|
||||||
|
4. 不直接覆盖正式/测试数据库,不使用数据库整体覆盖代替版本迁移。
|
||||||
|
5. 不在仓库、文档或日志中保存密码和 Token。
|
||||||
|
6. 发布前记录 Git 提交、数据库对象哈希、配置目标和构建结果。
|
||||||
|
7. 发布后执行页面、接口和数据库三层验证。
|
||||||
|
8. 每次执行过程和结论追加到 `gptlog-process/gpdlog.md`。
|
||||||
|
9. B1/TM 不可用时,相关页面只能验证错误处理和模拟结果,不能判定业务联调通过。
|
||||||
|
10. 发现正式环境与测试环境漂移时,先评估差异来源,再决定同步方向。
|
||||||
|
|
||||||
|
## 12. 接管任务清单
|
||||||
|
|
||||||
|
### P0:接管前置
|
||||||
|
|
||||||
|
- [x] 验证测试 SQL Server 和 `YL_MESDB`。
|
||||||
|
- [x] 验证 MES 测试账号登录。
|
||||||
|
- [x] 验证菜单权限查询。
|
||||||
|
- [x] 验证通用只读存储过程调用。
|
||||||
|
- [x] 验证前端生产构建。
|
||||||
|
- [x] 确认 B1/TM 测试端口不可用。
|
||||||
|
- [ ] 建立正式、测试、本地配置模板和自动切换命令。
|
||||||
|
- [x] 建立只读数据库账号 `meswork_readonly`。
|
||||||
|
- [ ] 完成业务服务账号切换后,限制或停用原 `meswork` 的 `dbo/sysadmin` 权限。
|
||||||
|
- [x] 获取后端 `.ashx`、IIS 站点、部署目录和程序集发布快照。
|
||||||
|
- [ ] 获取 `DataLinkMesWork.dll` 等核心程序集的原始项目源码。
|
||||||
|
|
||||||
|
### P1:版本与安全
|
||||||
|
|
||||||
|
- [ ] 输出完整正式/测试数据库对象哈希差异清单。
|
||||||
|
- [ ] 审批并同步 `MES_OrderPlanned_Query` 等确认差异。
|
||||||
|
- [ ] 将合同工时修复同步到测试库并回归。
|
||||||
|
- [ ] 移除登录接口返回的密码字段。
|
||||||
|
- [ ] 移除浏览器 Cookie 中的明文密码。
|
||||||
|
- [ ] 建立数据库备份、恢复和回滚演练记录。
|
||||||
|
|
||||||
|
### P2:业务接管
|
||||||
|
|
||||||
|
- [ ] 登录、菜单、角色和权限全量回归。
|
||||||
|
- [ ] 工艺、计划、生产、质量、设备和异常模块只读冒烟测试。
|
||||||
|
- [ ] 建立页面到过程、视图和表的可检索映射。
|
||||||
|
- [ ] 为关键写流程准备隔离测试数据和回滚脚本。
|
||||||
|
- [ ] 恢复或模拟 B1/TM 后完成外部集成验收。
|
||||||
|
- [ ] 建立发布清单、问题台账和定期巡检机制。
|
||||||
|
|
||||||
|
## 13. 接管完成标准
|
||||||
|
|
||||||
|
满足以下条件后,测试环境可从“有条件接管”升级为“完整接管”:
|
||||||
|
|
||||||
|
1. 三套环境配置完全隔离,测试前端不能连接正式接口。
|
||||||
|
2. 后端接口源码、部署目录、连接配置和回滚方法已归档。
|
||||||
|
3. 测试库与正式库的结构差异全部有明确原因和同步记录。
|
||||||
|
4. 日常诊断使用最小权限账号,高权限账号仅用于受控发布。
|
||||||
|
5. 登录密码泄露和 Cookie 明文密码问题已修复。
|
||||||
|
6. 核心 MES 模块的查询与写入流程均完成测试环境回归。
|
||||||
|
7. B1/TM 已恢复测试连接或具备可验收的模拟服务。
|
||||||
|
8. 数据库备份恢复、前端发布和接口回滚均完成至少一次演练。
|
||||||
|
9. 每个关键模块都有负责人、验收口径和故障升级路径。
|
||||||
|
|
||||||
|
## 14. 参考资产
|
||||||
|
|
||||||
|
- `doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.docx`
|
||||||
|
- `doc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.docx`
|
||||||
|
- `doc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.docx`
|
||||||
|
- `doc/工时模块全流程技术说明_20260721.html`
|
||||||
|
- `db_backups/` 数据库变更与回滚脚本目录
|
||||||
|
- `server_baseline/MES_ManageV20250916_20260725/` 脱敏后端部署快照与 SHA-256 清单
|
||||||
|
- `gptlog-process/gpdlog.md` GPT/Codex 执行过程日志
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
基线维护原则:每次环境地址、数据库结构、接口版本、权限或外部集成状态发生变化后,应更新本文件的版本、日期、验证结果和任务清单。
|
||||||
|
|
||||||
|
## 15. V1.2 增量验证记录
|
||||||
|
|
||||||
|
### 数据库账号
|
||||||
|
|
||||||
|
- 创建对象:服务器登录 `meswork_readonly`,数据库用户 `YL_MESDB.meswork_readonly`。
|
||||||
|
- 权限:`db_datareader`、`VIEW DEFINITION`。
|
||||||
|
- 验证:能够登录、查询表、读取对象定义;数据库级 `INSERT`、`UPDATE`、`DELETE` 均无权限。
|
||||||
|
- 原账号:`meswork` 仍为 `dbo` 且属于 `sysadmin`,未在未确认服务依赖前删除或降权。
|
||||||
|
|
||||||
|
### 远程服务器
|
||||||
|
|
||||||
|
- RDP 自定义端口 `124.220.15.242:12920`:TCP 可达。
|
||||||
|
- 标准 RDP `3389`:不可达。
|
||||||
|
- WinRM HTTPS `5986`:外部 TCP 可达,使用受控引导会话已成功认证到 Windows Server 2019 Datacenter。
|
||||||
|
- IIS Management Service `8172`:WMSVC 已运行,服务器本机监听成功;公网未列为当前接管前置条件。
|
||||||
|
- 远程盘点仅执行读取和文件拉取,没有停止站点、回收应用池或修改接口部署文件。
|
||||||
|
|
||||||
|
### IIS 与后端部署
|
||||||
|
|
||||||
|
- IIS 站点:`元利流体MES_Manage`,状态 Started,站点 ID 29。
|
||||||
|
- 绑定:HTTPS 10100、10101;物理目录 `C:\ProjectShow\元利流体\MES_ManageV20250916`。
|
||||||
|
- 应用池:同名,`.NET v4.0`、Integrated、ApplicationPoolIdentity、按需启动、空闲 20 分钟、周期回收 29 小时。
|
||||||
|
- 认证:IIS 匿名认证开启,Windows/Basic 认证关闭;应用认证由接口业务逻辑承担。
|
||||||
|
- 证书:10100/10101 共用自签名 `CN=WMSvc-SHA2-10_0_4_16`,与公网 IP 不匹配。
|
||||||
|
- 日志:`C:\inetpub\logs\LogFiles\W3SVC29`;当前抽样 11 次 `MESCommonBase.ashx` 请求均为 HTTP 200,近两天未发现 ASP.NET/.NET/IIS 错误事件。
|
||||||
|
- 部署规模:274 个文件、约 91.31 MB;包含 32 个内联 C# `.ashx`、50 个 DLL 和 PDB,没有独立 `.cs` 项目文件。
|
||||||
|
- 本地快照:163 个文件、约 75.44 MB;排除了根 `Web.config`、PDF、上传文件、业务数据和 `.vs`。
|
||||||
|
- 核心逻辑:`MESCommonBase.ashx` 将默认调用转交 `DataLinkMesWork.DataLink.SqlWebCall`;PDB 记录了原始构建源码路径,但该路径和项目源码在测试服务器不存在。
|
||||||
|
- 恢复源码:使用 ILSpy 9.1.0.7988 生成 76 个 C# 文件和 `net48` 项目,本地构建为 0 错误、102 警告;重建 DLL 与发布 DLL 哈希不一致,严禁直接替换发布件。
|
||||||
|
|
||||||
|
### 后端连接与备份
|
||||||
|
|
||||||
|
- 根 `Web.config` 的实际 `ConnectionString` 指向 `124.220.15.242,64722 / YL_MESDB`,SQL 凭据未复制或写入文档。
|
||||||
|
- 配置仍保留旧字段 `.\MSSQLSERVER2016 / MESBasicDB_PZ126`,实际接口使用上述 `ConnectionString`。
|
||||||
|
- 服务器同时运行 SQL Server 2016/2019,64722 在 IPv4/IPv6 全地址监听;`YL_MESDB` 数据文件位于 SQL Server 2019 实例目录。
|
||||||
|
- 最新完整备份 `C:\YL_MESDB_202607240000.bak` 已确认存在,大小 1,278,302,720 字节,时间 2026-07-24 14:40:52。
|
||||||
|
- 2026-05-09 的完整备份文件也存在;历史记录中的 `C:\123.bak` 已不存在。尚未执行 `RESTORE VERIFYONLY` 或隔离恢复演练。
|
||||||
|
- 服务器 C 盘剩余空间约 13.5 GB。
|
||||||
|
|
||||||
|
### 下一步
|
||||||
|
|
||||||
|
1. 获取 `DataLinkMesWork` 等核心程序集的原始源码仓库和构建说明;在此之前只能维护内联 `.ashx` 或以发布包方式回滚。
|
||||||
|
2. 创建后端专用最小权限 SQL 服务账号并回归接口,再限制原 `meswork` 的高权限。
|
||||||
|
3. 建立测试/正式/本地运行时配置模板,阻止测试前端误连正式环境。
|
||||||
|
4. 在隔离位置执行数据库备份校验、恢复演练和接口发布回滚演练。
|
||||||
|
5. 更换业务 HTTPS 证书、关闭目录浏览,并修复接口/浏览器明文密码风险。
|
||||||
|
|
||||||
|
## 16. 装配任务正式变更同步记录
|
||||||
|
|
||||||
|
### 同步日期与范围
|
||||||
|
|
||||||
|
- 同步日期:2026-07-25
|
||||||
|
- 测试数据库:`124.220.15.242,64722 / YL_MESDB`
|
||||||
|
- 测试接口:`https://124.220.15.242:10101/submit/MESCommonBase.ashx`
|
||||||
|
- 同步范围:系统类和阀类装配任务合同工时修复、共享查询优化、5 个辅助索引、预算工时保存及预算进度返回、前端首屏渲染优化。
|
||||||
|
|
||||||
|
### 数据库对象
|
||||||
|
|
||||||
|
- 新增共享核心过程 `dbo.计划排产_装配任务查询_核心`。
|
||||||
|
- 原入口过程 `计划排产_系统类任务查询`、`计划排产_阀类任务查询` 保留名称和参数,定义哈希与正式库对应入口完全一致。
|
||||||
|
- 保留测试库原过程备份:`计划排产_系统类任务查询_优化前_20260725`、`计划排产_阀类任务查询_优化前_20260725`。
|
||||||
|
- 新增 `计划排产_装配任务预算`、`计划排产_装配合同预算` 和 `计划排产_装配任务预算_保存`。
|
||||||
|
- 新增 5 个查询辅助索引,名称和结构与正式库一致。
|
||||||
|
|
||||||
|
### 测试环境 SAP 适配
|
||||||
|
|
||||||
|
测试 SQL 链接服务器 `[SAP]` 无法连接现场 SAP,单独读取超过 39 秒仍未返回。装配任务查询原本每次等待该链接,系统类约 44 秒、阀类约 22 秒,并导致接口不能正常返回分页结构。
|
||||||
|
|
||||||
|
仅在测试核心过程中跳过远程交货日期读取,使用空日期保留 `交货日期理论齐套日期` 字段结构。订单、合同工时、预算字段和其他业务条件不变。现场 SAP 恢复后可执行:
|
||||||
|
|
||||||
|
- 部署脚本:`db_backups/test_disable_install_task_sap_delivery_20260725.sql`
|
||||||
|
- 回滚脚本:`db_backups/rollback_test_disable_install_task_sap_delivery_20260725.sql`
|
||||||
|
- 过程备份:`dbo.计划排产_装配任务查询_核心_测试跳过SAP前_20260725`
|
||||||
|
|
||||||
|
### 回归结果
|
||||||
|
|
||||||
|
| 查询 | 测试接口耗时 | 返回结果 |
|
||||||
|
| --- | ---: | --- |
|
||||||
|
| 系统类装配任务 | 818-1089 ms | 20/55 行,4 个预算字段齐全 |
|
||||||
|
| 阀类装配任务 | 931-1136 ms | 20/263 行,4 个预算字段齐全 |
|
||||||
|
|
||||||
|
预算接口写入和读取回归通过:测试订单 5598、合同 `HT260597` 临时保存任务预算 `123.45` 小时和合同预算 `67.89` 小时,查询返回进度 `2.48%`、`10.04%`。回归记录已按专用编辑标记精确删除,两张预算表最终均为 0 行。
|
||||||
|
|
||||||
|
### 前端交付
|
||||||
|
|
||||||
|
根目录 `dist` 已使用包含 20 行默认分页、预算进度功能、登录安全修复和外部系统只读保护的 `app.83b8251a.js`。服务器已创建 IIS 站点 `元利流体MES_View`,物理目录为 `C:\ProjectShow\元利流体\MES_Manage_View\dist`,HTTP 绑定为 `*:10012:`。本地和远程文件共 84 个、95,691,424 字节,`index.html` 和 `config.js` 的 SHA-256 一致。本次直接复制 `dist`,未生成 zip。
|
||||||
|
|
||||||
|
## 17. V1.3 接管落地与验收记录
|
||||||
|
|
||||||
|
### 17.1 当前可执行的工作
|
||||||
|
|
||||||
|
- 在 `http://124.220.15.242:10012/` 部署和回归测试前端,独立维护测试运行配置。
|
||||||
|
- 通过 `10101` 完成登录、菜单、权限和 MES 存储过程的查询/受控变更验证。
|
||||||
|
- 使用数据库只读账号开展结构、数据、执行计划和性能诊断;数据库变更使用部署/回滚脚本受控执行。
|
||||||
|
- 维护系统类、阀类装配任务查询、预算工时和进度功能,并在测试环境做接口回归。
|
||||||
|
- 通过 VPN 对 B1 做登录代理和 GET 联调;B1/TM 的 POST/PATCH 在测试前端强制阻止。
|
||||||
|
- 执行数据库备份校验、隔离恢复、完整性检查和清理演练。
|
||||||
|
- 盘点 IIS、部署目录、配置、日志、证书和防火墙,为生产接管准备操作清单。
|
||||||
|
|
||||||
|
### 17.2 前端与外部集成保护
|
||||||
|
|
||||||
|
- 构建结果:Webpack 成功,入口 `app.83b8251a.js`;仅有既有的大资源和浏览器数据过期警告。
|
||||||
|
- IIS 验证:服务器本机和管理端访问 `10012` 均返回 HTTP 200,运行配置返回 HTTP 200 且 `externalReadOnly=true`。
|
||||||
|
- 隔离测试:B1/TM 四个语义写入口均返回 `blocked=true`,网络调用次数为 0;B1/TM GET 包装仍正常发出 `func=GET`。
|
||||||
|
- B1 实际 GET:`ProductionOrders` 最小查询返回 HTTP 200,约 252 ms,有 `value` 集合且无 B1 错误。
|
||||||
|
- TM:端口可达,但代码中没有可确认无副作用的登录/GET 端点,因此未调用库存任务接口。
|
||||||
|
|
||||||
|
### 17.3 数据库恢复演练
|
||||||
|
|
||||||
|
- 备份:`C:\YL_MESDB_202607240000.bak`,备份完成时间 2026-07-24 14:40:52,大小 1,278,302,720 字节。
|
||||||
|
- `RESTORE VERIFYONLY` 通过;该备份未包含 SQL Server checksum,带 `CHECKSUM` 的校验无法执行,后续备份任务应启用 checksum。
|
||||||
|
- 隔离恢复库:`YL_MESDB_RestoreDrill_20260725`,恢复约 9.4 秒并正常 ONLINE。
|
||||||
|
- `DBCC CHECKDB(..., PHYSICAL_ONLY)` 通过,约 5.9 秒。
|
||||||
|
- 备份对象为 61 表/27 视图/425 过程;当前测试库为 63/27/432,增加项来自 7 月 25 日已部署变更。
|
||||||
|
- 演练结束后数据库、MDF 和 LDF 均已删除,磁盘空间恢复。
|
||||||
|
|
||||||
|
### 17.4 安全整改
|
||||||
|
|
||||||
|
- 登录过程已保留回滚备份并改为显式返回字段,仍校验密码但不返回 `password`;公网接口实测登录成功且响应无密码属性。
|
||||||
|
- 登录页只记住账号,不再写入密码 Cookie,并会删除旧 `password` Cookie。
|
||||||
|
- 后端根目录和 `submit` 目录浏览已从 `True` 改为 `False`,原配置已在服务器同目录备份;目录访问返回 HTTP 403,接口仍为 HTTP 200。
|
||||||
|
- 仓库内两个历史注释中的口令和执行日志中的口令特征已脱敏。
|
||||||
|
- WinRM 5986 和 IIS Management 8172 仅允许管理端公网 IP;测试前端 10012 当前允许任意来源访问。
|
||||||
|
|
||||||
|
### 17.5 核心模块只读冒烟
|
||||||
|
|
||||||
|
| 模块 | 查询入口 | 结果 | 耗时 |
|
||||||
|
| --- | --- | --- | ---: |
|
||||||
|
| 系统 | `人员管理_人员信息查询` | 200 / 135 行 | 385 ms |
|
||||||
|
| 工艺 | `MES_ProcessManagement_ProcessGet` | 200 / 合法 JSON | 113 ms |
|
||||||
|
| 计划 | `计划排产_生产订单_工艺查询` | 200 / 9878 行 | 2619 ms |
|
||||||
|
| 生产 | `生产管理_班次管理_班次列表查询` | 200 / 4 行 | 128 ms |
|
||||||
|
| 质量 | `质量管理_测试装配任务_查询2` | 200 / 0 行 | 200 ms |
|
||||||
|
| 设备 | `设备管理_设备数据_工位信息_查询` | 200 / 21 行 | 140 ms |
|
||||||
|
| 异常 | `加急订单_加急明细查询` | 200 / 合法 JSON | 117 ms |
|
||||||
|
| 销售 | `销售管理_销售订单状态` | 200 / 200 行 | 430 ms |
|
||||||
|
| 首页看板 | `看板_主页六个关键数据_查询` | 200 / 25 行 | 1099 ms |
|
||||||
|
|
||||||
|
登录账号角色菜单查询另返回 84 条,覆盖工艺、计划、生产、质量、设备和异常等主模块。
|
||||||
|
|
||||||
|
### 17.6 仍保留的生产接管前风险
|
||||||
|
|
||||||
|
1. 测试后端业务 HTTPS 证书为名称不匹配的自签名证书,需要替换为受信任且与访问域名匹配的证书。
|
||||||
|
2. 测试前端 `10012` 当前使用 HTTP 且防火墙来源为 Any;正式接管前应使用 HTTPS,并按实际测试人员/网络范围限制入口。
|
||||||
|
3. 后端仍使用高权限数据库账号。已有只读诊断账号,但应用服务账号降权需要覆盖全部写流程和 SQL 链接服务器场景后再切换。
|
||||||
|
4. 本轮全模块验收为只读冒烟;MES 报工、送检、入库等写流程未执行,B1/TM 写流程按要求明确禁止。
|
||||||
|
5. 核心 DLL 没有原始源码,按当前约定不做 DLL 修改;将来若生产问题必须修改核心逻辑,需要取得源码或采用经过专项验证的替代构建流程。
|
||||||
BIN
doc/主页大图标点击后进入404.docx
Normal file
BIN
doc/主页大图标点击后进入404.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES测试环境接管报告_V1.0_2026-07-25.docx
Normal file
BIN
doc/大连元利流体技术有限公司MES测试环境接管报告_V1.0_2026-07-25.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES测试环境接管报告_V1.1_2026-07-25.docx
Normal file
BIN
doc/大连元利流体技术有限公司MES测试环境接管报告_V1.1_2026-07-25.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.docx
Normal file
BIN
doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.pdf
Normal file
BIN
doc/大连元利流体技术有限公司MES系统标准技术文档_V1.1_2026-07-24.pdf
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.docx
Normal file
BIN
doc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.pdf
Normal file
BIN
doc/大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24.pdf
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.docx
Normal file
BIN
doc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.docx
Normal file
Binary file not shown.
BIN
doc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.pdf
Normal file
BIN
doc/大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23.pdf
Normal file
Binary file not shown.
133
doc/生产报工至工时校验数据走向_20260728.html
Normal file
133
doc/生产报工至工时校验数据走向_20260728.html
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>生产报工工时计算规则</title>
|
||||||
|
<style>
|
||||||
|
:root{--ink:#182633;--muted:#5d6b78;--line:#d7e0e7;--blue:#0f668b;--blue-bg:#ecf7fb;--green:#16734b;--green-bg:#edf8f1;--amber:#966000;--amber-bg:#fff5df;--red:#aa3f37;--red-bg:#fff1ef}
|
||||||
|
*{box-sizing:border-box} body{margin:0;background:#f1f5f7;color:var(--ink);font:14px/1.7 "Microsoft YaHei",Arial,sans-serif}.page{width:min(1180px,calc(100% - 32px));margin:24px auto 48px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 26px rgba(23,48,65,.08)}header{padding:34px 40px 26px;border-bottom:4px solid var(--blue);background:#f6fbfd}main{padding:0 40px 42px}h1{margin:0 0 8px;font-size:28px;line-height:1.35;letter-spacing:0}h2{margin:34px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);color:#123f57;font-size:20px;letter-spacing:0}h3{margin:22px 0 8px;color:#135374;font-size:16px;letter-spacing:0}p{margin:8px 0}.meta{color:var(--muted)}.nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.nav a{padding:4px 9px;border:1px solid #b8d5e0;color:#0d5779;text-decoration:none;background:#fff}.nav a:hover{background:var(--blue-bg)}.summary{margin:18px 0;padding:13px 16px;border-left:4px solid var(--blue);background:var(--blue-bg)}.warn{margin:16px 0;padding:13px 16px;border-left:4px solid var(--amber);background:var(--amber-bg)}.risk{margin:16px 0;padding:13px 16px;border-left:4px solid var(--red);background:var(--red-bg)}.formula{margin:12px 0;padding:14px 16px;border:1px solid #b9d6e2;background:#f7fcfe;font:14px/1.8 Consolas,"Courier New",monospace;white-space:pre-wrap}.flow{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;gap:8px;align-items:stretch;margin:16px 0}.box{padding:12px;border:1px solid #b9d7e1;background:var(--blue-bg)}.box.green{border-color:#bddbc9;background:var(--green-bg)}.box.amber{border-color:#ead39e;background:var(--amber-bg)}.box strong{display:block;color:#11465f}.arrow{display:flex;align-items:center;justify-content:center;color:#337995;font-size:24px}table{width:100%;border-collapse:collapse;margin:12px 0 18px}th,td{padding:9px 10px;vertical-align:top;border:1px solid var(--line);text-align:left}th{background:#eef4f6;color:#173b4c}code{padding:1px 4px;border-radius:2px;background:#eef1f3;color:#8a3025;font:12px Consolas,"Courier New",monospace}ol,ul{margin:8px 0;padding-left:24px}li{margin:5px 0}.pill{display:inline-block;margin:2px 4px 2px 0;padding:2px 7px;border:1px solid #c4d5dd;background:#f8fbfc;color:#35515f}.small{font-size:12px;color:var(--muted)}.example{padding:12px 15px;border:1px dashed #aacbd8;background:#fbfeff}.example strong{color:#126086}footer{margin-top:30px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}@media(max-width:760px){.page{width:100%;margin:0;border:0}header,main{padding-left:18px;padding-right:18px}.flow{grid-template-columns:1fr}.arrow{min-height:20px;transform:rotate(90deg)}table{display:block;overflow-x:auto}}@media print{body{background:#fff}.page{width:100%;margin:0;border:0;box-shadow:none}.nav{display:none}table,.formula,.example{break-inside:avoid}}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="page">
|
||||||
|
<header>
|
||||||
|
<h1>生产报工工时计算规则</h1>
|
||||||
|
<div class="meta">范围:加工中心、装配中心报工产生的工时,以及工时校验计算出的 SAP 上传分钟</div>
|
||||||
|
<div class="meta">版本:2026-07-28 | 依据:线上 YL_MESDB 当前过程定义与当前页面代码的只读核验</div>
|
||||||
|
<nav class="nav"><a href="#input">输入</a><a href="#machine">加工中心</a><a href="#assembly">装配中心</a><a href="#people">人员工时</a><a href="#validation">工时校验</a><a href="#examples">示例</a><a href="#rules">速查</a></nav>
|
||||||
|
</header>
|
||||||
|
<main>
|
||||||
|
<section id="input">
|
||||||
|
<h2>1. 先区分四类数字</h2>
|
||||||
|
<div class="summary"><strong>核心结论:</strong>报工数量、设备实际工时、人员总时长、校验上传分钟是四个不同口径。页面上都可能显示为“工时”或“数量”,但不能互相代入计算。</div>
|
||||||
|
<table>
|
||||||
|
<tr><th>数值</th><th>来源和计算</th><th>单位</th><th>用途</th></tr>
|
||||||
|
<tr><td>报工数量</td><td>用户录入 <code>partCount</code>,累计写入任务 <code>完成数量</code>。</td><td>件/业务单位</td><td>判断任务完成,和秒、分钟没有换算关系。</td></tr>
|
||||||
|
<tr><td>总时长</td><td><code>结束时间 - 开始时间</code>。</td><td>秒</td><td>人员时间、校验比例和上传计算的基础。</td></tr>
|
||||||
|
<tr><td>实际工时</td><td><code>总时长 - 暂停总时长</code>。</td><td>秒</td><td>加工中心设备实际运转工时。</td></tr>
|
||||||
|
<tr><td>UploadMinutes</td><td>由校验过程按工时类型、班次和当日比例系数换算。</td><td>分钟</td><td>SAP 资源消耗单据的 <code>Quantity</code>。</td></tr>
|
||||||
|
</table>
|
||||||
|
<div class="flow"><div class="box"><strong>输入</strong>开始/结束时间<br>暂停记录<br>人员、班次、加班类型</div><div class="arrow">→</div><div class="box green"><strong>原始计算</strong>总时长、实际工时<br>人员工时、加班工时</div><div class="arrow">→</div><div class="box amber"><strong>校验计算</strong>比例系数<br>UploadMinutes(分钟)</div></div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="machine">
|
||||||
|
<h2>2. 加工中心:设备工时怎么算</h2>
|
||||||
|
<p>过程 <code>MES_ProductTask_WorkingStart</code>产生“开始加工”记录;报工或辅助结束最终经 <code>MES_ProductCenter_OptRecord_Save</code>闭合一个工作周期。该过程使用同一 <code>TaskAID + 工位名称</code>的开始、暂停、结束记录计算。</p>
|
||||||
|
<div class="formula">周期总时长(秒) = DATEDIFF(SECOND, 周期开始时间, 本次结束时间)
|
||||||
|
暂停总时长(秒) = Σ DATEDIFF(SECOND, 每次暂停开始时间, 对应恢复/结束时间)
|
||||||
|
设备实际工时(秒) = 周期总时长 - 暂停总时长</div>
|
||||||
|
<table>
|
||||||
|
<tr><th>动作</th><th>计算影响</th><th>写入/更新字段</th></tr>
|
||||||
|
<tr><td>开始加工</td><td>记录周期起点,不立即形成完整工时。</td><td>开始时间,结束时间为空。</td></tr>
|
||||||
|
<tr><td>暂停</td><td>开始记录先按开始到暂停的差值闭合;暂停本身等待后续恢复或结束来确定暂停时长。</td><td>暂停时间、暂停时长、关联记录。</td></tr>
|
||||||
|
<tr><td>报工/辅助结束</td><td>找到周期开始,汇总周期内已闭合暂停,计算总时长和设备实际工时。</td><td>结束时间、总时长、暂停总时长、实际工时。</td></tr>
|
||||||
|
</table>
|
||||||
|
<div class="warn"><strong>关键差异:</strong>设备工时使用“扣暂停后的实际工时”;下节的人员工时使用“开始到结束的总时长”,不扣暂停。两者不必相等,这是当前过程实现的既有口径。</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="assembly">
|
||||||
|
<h2>3. 装配中心:普通工时和加班工时怎么算</h2>
|
||||||
|
<p><code>MES_人员工时记录_开始</code>写入当前用户的未结束“开始加工”记录。<code>MES_人员工时记录_结束</code>找到同 <code>TaskAID + 操作人</code>最近的未结束记录,以数据库当前时间为结束时间:</p>
|
||||||
|
<div class="formula">总工时(秒) = DATEDIFF(SECOND, 开始时间, 结束时间)</div>
|
||||||
|
<table>
|
||||||
|
<tr><th>日期和选择</th><th>普通工作时间(秒)</th><th>加班时间(秒)</th><th>规则</th></tr>
|
||||||
|
<tr><td>工作日,未选择加班</td><td>总工时</td><td>0</td><td>整段作为普通报工时间。</td></tr>
|
||||||
|
<tr><td>工作日,选择加班,且跨过白班结束点</td><td>白班结束时间 - 开始时间</td><td>结束时间 - 白班结束时间</td><td>白班结束时间从 <code>班次表</code>中“白班”取得,缺失时默认 <code>16:30</code>。</td></tr>
|
||||||
|
<tr><td>工作日,选择加班,开始已在白班结束后</td><td>0</td><td>总工时</td><td>整段作为工作日加班。</td></tr>
|
||||||
|
<tr><td>休息日/法定休息日,选择加班</td><td>0</td><td>总工时</td><td>整段按“休息日加班”或“法定休息日加班”生成加班人员记录。</td></tr>
|
||||||
|
<tr><td>休息日/法定休息日,未选择加班</td><td>过程变量先取总工时</td><td>0</td><td>随后原开始记录的 <code>工时、总时长</code>会被置为 0,同时写入“休息日工作/法定休息日工作”报工记录。</td></tr>
|
||||||
|
</table>
|
||||||
|
<div class="risk"><strong>需注意的现状:</strong>休息日未选择加班时,结束过程内部先计算普通工作时间,但随后又将原操作记录的 <code>工时</code>和<code>总时长</code>置零,报工记录保留该工作时间。这会造成操作记录表与报工记录表的工时口径不同,追溯时必须同时检查两张表。</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="people">
|
||||||
|
<h2>4. 加工中心:人员工时怎么算</h2>
|
||||||
|
<p>加工中心在<strong>非休息日、非法定休息日</strong>的报工/辅助结束周期,调用 <code>计算人员工时</code>。过程将工位绑定人员与有效班次组合,计算每名人员在可用班次内的时间重叠。</p>
|
||||||
|
<div class="formula">班次重叠秒数 = max(0, min(结束时间, 班次结束) - max(开始时间, 班次开始))
|
||||||
|
人员计算工时(秒) = 班次重叠秒数</div>
|
||||||
|
<ul>
|
||||||
|
<li>仅保留已绑定到对应班次且重叠秒数大于 0 的人员-班次组合。</li>
|
||||||
|
<li>指定实际干活人员有班次绑定时,只保留其绑定班次;没有班次绑定时,保留重叠最长的班次。若所有班次均无重叠,过程会给该指定人员 <code>1 秒</code>最小值。</li>
|
||||||
|
<li>当前实际公式<strong>不再</strong>除以绑定设备数。旧的 <code>重叠秒数 / 绑定设备数</code>逻辑在过程里已注释,现行代码直接使用重叠秒数。</li>
|
||||||
|
<li>每个满足条件的人员-班次组合都会向 <code>YL_加工中心_操作记录表</code>插入一条人员工时分摊记录,字段 <code>总时长</code>写入该人员的计算工时秒数。</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="validation">
|
||||||
|
<h2>5. 工时校验:上传分钟怎么算</h2>
|
||||||
|
<h3>5.1 先判定是否参与计算</h3>
|
||||||
|
<table>
|
||||||
|
<tr><th>条件</th><th>实际行为</th></tr>
|
||||||
|
<tr><td>校验列表</td><td><code>开始时间 < 当天 00:00:00</code>,当天开始的记录不进入该最终校验列表。</td></tr>
|
||||||
|
<tr><td>单条上传分钟计算</td><td>若 <code>总时长 < 300 秒</code>,返回 <code>UploadMinutes=0</code>、工时类型“跳过SAP”。过程注释/提示写“总时长为0”,但实际判断阈值是 300 秒。</td></tr>
|
||||||
|
<tr><td>批量校验的加班类别</td><td><code>加班、休息日加班、法定休息日加班、休息日工作、法定休息日工作</code>由 <code>usp_BatchValidateWorkTime</code>直接按总时长转分钟,不进入单条上传分钟过程。</td></tr>
|
||||||
|
</table>
|
||||||
|
<h3>5.2 当日比例系数</h3>
|
||||||
|
<p>正常记录需要先调用 <code>usp_CalculateDailyRatio</code>。统计范围是同一操作人、同一开始日期的 <code>View_生产工时视图</code>记录,且满足以下条件:</p>
|
||||||
|
<ul><li>总时长大于 300 秒;</li><li>阶段标识不等于 -1;</li><li>订单号不等于 3886;</li><li>操作类别不是“加班、休息日工作、法定休息日工作”。</li></ul>
|
||||||
|
<div class="formula">当日总分钟 = Σ 合格记录的总时长(秒) / 60
|
||||||
|
比例系数 Ratio = (标准工时(小时) × 60) / 当日总分钟
|
||||||
|
当日总分钟 ≤ 0 或标准工时 ≤ 0 时:Ratio = 1</div>
|
||||||
|
<p>标准工时优先取 <code>当日班次最小标准工时</code>,该值不大于 0 时再取该记录的 <code>班次标准工时</code>;两者都不可用时视图默认值为 8。</p>
|
||||||
|
<h3>5.3 班次内外拆分</h3>
|
||||||
|
<p><code>usp_CalculateUploadMinutes</code>优先按操作人,再按工位名称读取班次;找不到时默认白班 <code>07:45-16:30</code>。跨天班次由 <code>usp_CalculateShiftTime</code>逐日切段计算。</p>
|
||||||
|
<div class="formula">班次内分钟 = 班次内秒数 / 60
|
||||||
|
班次外分钟 = 班次外秒数 / 60
|
||||||
|
基础分钟 BaseMinutes = 总时长 / 60</div>
|
||||||
|
<h3>5.4 单条计算过程的最终公式</h3>
|
||||||
|
<table>
|
||||||
|
<tr><th>操作类别</th><th>usp_CalculateUploadMinutes 的公式</th></tr>
|
||||||
|
<tr><td>报工、开始加工、辅助结束、辅助开始及其他普通类别</td><td><code>UploadMinutes = BaseMinutes × Ratio</code></td></tr>
|
||||||
|
<tr><td>工作日加班</td><td><code>UploadMinutes = BaseMinutes</code>,不乘比例系数。</td></tr>
|
||||||
|
<tr><td>休息日加班、法定休息日加班</td><td><code>UploadMinutes = 班次内分钟 × Ratio + 班次外分钟</code></td></tr>
|
||||||
|
</table>
|
||||||
|
<div class="warn"><strong>批量入口优先级:</strong>当前工时校验页面使用 <code>usp_BatchValidateWorkTime</code>。它先识别所有加班/休息日类别并直接设定 <code>UploadMinutes = 总时长 / 60</code>。因此,上表中的“休息日加班按班次内外拆分”是单条 <code>usp_CalculateUploadMinutes</code>的能力;在当前批量校验页面路径中,会被批量过程的直接换算规则覆盖。</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="examples">
|
||||||
|
<h2>6. 计算示例</h2>
|
||||||
|
<div class="example"><strong>示例一:加工中心设备工时</strong><br>开始 08:00,暂停 10:00-10:20,结束/报工 12:00。<br><code>总时长 = 4 × 3600 = 14,400 秒</code><br><code>暂停总时长 = 20 × 60 = 1,200 秒</code><br><code>设备实际工时 = 14,400 - 1,200 = 13,200 秒 = 220 分钟</code></div>
|
||||||
|
<div class="example"><strong>示例二:加工中心人员工时</strong><br>同一周期为 08:00-12:00,某绑定人员的有效班次为 07:45-16:30。<br><code>班次重叠 = 12:00 - 08:00 = 14,400 秒</code><br><code>该人员计算工时 = 14,400 秒</code><br>即使该人员绑定多台设备,现行代码也不再除以设备数。</div>
|
||||||
|
<div class="example"><strong>示例三:装配工作日跨白班结束点</strong><br>开始 15:30,结束 18:00,选择加班,白班结束 16:30。<br><code>普通工作时间 = 16:30 - 15:30 = 3,600 秒</code><br><code>加班时间 = 18:00 - 16:30 = 5,400 秒</code></div>
|
||||||
|
<div class="example"><strong>示例四:正常工时上传分钟</strong><br>某人员当日有效总时长为 600 分钟,标准工时为 8 小时,当前一条普通报工总时长为 120 分钟。<br><code>Ratio = (8 × 60) / 600 = 0.8</code><br><code>UploadMinutes = 120 × 0.8 = 96 分钟</code></div>
|
||||||
|
<div class="example"><strong>示例五:当前批量校验中的加班</strong><br>一条“工作日加班”原始记录总时长为 5,400 秒。<br><code>UploadMinutes = 5,400 / 60 = 90 分钟</code><br>当前批量过程直接采用此结果,不再应用当日比例系数。</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section id="rules">
|
||||||
|
<h2>7. 计算速查与校验结束条件</h2>
|
||||||
|
<table>
|
||||||
|
<tr><th>要确认什么</th><th>先看哪个字段/对象</th><th>计算或判断</th></tr>
|
||||||
|
<tr><td>设备实际运行多久</td><td>原操作记录:开始时间、结束时间、暂停总时长</td><td><code>实际工时 = 总时长 - 暂停总时长</code></td></tr>
|
||||||
|
<tr><td>装配人员正常/加班多久</td><td>装配开始记录、班次表、是否加班/休息日参数</td><td>按白班结束点或休息日规则切分。</td></tr>
|
||||||
|
<tr><td>加工人员分到多久</td><td>工位人员绑定、班次人员绑定、起止时间</td><td><code>人员工时 = 班次重叠秒数</code></td></tr>
|
||||||
|
<tr><td>SAP 会上传几分钟</td><td>总时长、操作类别、标准工时、同人同日记录</td><td>普通记录乘 Ratio;当前批量加班直接 <code>总时长/60</code>。</td></tr>
|
||||||
|
<tr><td>是否已完成工时校验</td><td><code>生产管理_工时校验_校验工时表</code></td><td>存在 <code>报工记录id = 原始操作记录.AID</code> 的副本即已校验。</td></tr>
|
||||||
|
</table>
|
||||||
|
<div class="risk"><strong>不要混用字段:</strong><code>实际工时</code>适合看设备扣暂停后的运行时间;<code>总时长</code>是人员与上传分钟计算基础;<code>UploadMinutes</code>是经过规则换算后的 SAP 数量。若需核算差异,应在同一条原始记录 AID 上同时比对这三个值,而不是用报工数量推算工时。</div>
|
||||||
|
</section>
|
||||||
|
<footer>主要核验对象:<code>MES_ProductCenter_OptRecord_Save</code>、<code>MES_人员工时记录_结束</code>、<code>计算人员工时</code>、<code>usp_CalculateDailyRatio</code>、<code>usp_CalculateShiftTime</code>、<code>usp_CalculateUploadMinutes</code>、<code>usp_BatchValidateWorkTime</code>、<code>View_生产工时视图</code>。本文未执行生产数据写入。</footer>
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
101
doc/装配任务查询性能优化_20260725.md
Normal file
101
doc/装配任务查询性能优化_20260725.md
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
# 系统类与阀类装配任务查询性能优化
|
||||||
|
|
||||||
|
## 变更信息
|
||||||
|
|
||||||
|
- 变更日期:2026-07-25
|
||||||
|
- 变更环境:正式环境 `YL_MESDB`
|
||||||
|
- 变更范围:系统类装配任务查询、阀类装配任务查询
|
||||||
|
- 业务数据变更:无
|
||||||
|
- 前端文件变更:系统类、阀类页面首屏分页和单元格按需编辑
|
||||||
|
- IIS 文件变更:正式前端尚未部署,已生成待发布静态包
|
||||||
|
|
||||||
|
## 问题定位
|
||||||
|
|
||||||
|
原查询的主要耗时来自以下部分:
|
||||||
|
|
||||||
|
1. `View_生产工时视图` 在同一次查询中被重复扫描和分组四次。
|
||||||
|
2. 流程告警、装配在岗人员、质检在岗人员使用逐行相关子查询,结果行数增加时重复访问基础表。
|
||||||
|
3. SAP 关联数据在筛选候选任务前进行聚合,扩大了查询工作量。
|
||||||
|
4. 多个高频连接字段缺少适合当前访问方式的非聚集索引。
|
||||||
|
|
||||||
|
正式环境优化前缓存统计:
|
||||||
|
|
||||||
|
| 查询 | 平均耗时 | 平均逻辑读 |
|
||||||
|
| --- | ---: | ---: |
|
||||||
|
| 系统类装配任务 | 约 4.16 秒 | 约 142.7 万页 |
|
||||||
|
| 阀类装配任务 | 约 4.47 秒 | 约 154.7 万页 |
|
||||||
|
|
||||||
|
## 优化内容
|
||||||
|
|
||||||
|
1. 新增共享核心过程 `dbo.计划排产_装配任务查询_核心`,两个原过程保留原名称和参数,仅作为分类入口。
|
||||||
|
2. 先将符合条件的任务写入临时表,再对工时、流程、在岗人员、质检和 SAP 数据进行候选集范围内的汇总。
|
||||||
|
3. 将 `View_生产工时视图` 的四次扫描合并为一次,任务工时和合同工时在一次聚合中计算。
|
||||||
|
4. 保留合同工时修复,合同维度继续使用 `订单合同号`。
|
||||||
|
5. 将动态拼接条件改为参数化筛选,降低重复编译和字符串条件风险。
|
||||||
|
6. 新增 5 个辅助索引:
|
||||||
|
- `物料基础数据_零件图纸.IX_零件图纸_num`
|
||||||
|
- `车间生产管理工艺_零件生产工艺_工艺库.IX_工艺库_订单_顺序`
|
||||||
|
- `YL_质量检验_质检记录.IX_质检记录_质检类型_计划号`
|
||||||
|
- `登录基础数据_人员信息.IX_人员信息_姓名_班组`
|
||||||
|
- `流程表.IX_流程表_关联计划_流程`
|
||||||
|
|
||||||
|
## 验证结果
|
||||||
|
|
||||||
|
完整结果集逐列哈希比对结果一致:
|
||||||
|
|
||||||
|
| 查询 | 优化前 | 优化后 | 结果行数 | 数据一致性 |
|
||||||
|
| --- | ---: | ---: | ---: | --- |
|
||||||
|
| 系统类默认查询 | 3500 ms | 681 ms | 55 | 一致 |
|
||||||
|
| 阀类默认查询 | 6415 ms | 1316 ms | 283 | 一致 |
|
||||||
|
|
||||||
|
筛选条件回归均通过,包括指定订单、指定合同和未完成状态;其中阀类未完成查询由 `23431 ms` 降至 `623 ms`。
|
||||||
|
|
||||||
|
正式接口按前端实际分页参数回归:
|
||||||
|
|
||||||
|
| 接口查询 | HTTP 状态 | 返回数据 | 接口耗时 |
|
||||||
|
| --- | ---: | ---: | ---: |
|
||||||
|
| 系统类 | 200 | 20/55 行 | 1201 ms |
|
||||||
|
| 阀类 | 200 | 20/283 行 | 940 ms |
|
||||||
|
|
||||||
|
部署后累计调用统计在 2026-07-25 最终核验时为:
|
||||||
|
|
||||||
|
| 查询 | 调用次数 | 平均耗时 | 平均逻辑读 |
|
||||||
|
| --- | ---: | ---: | ---: |
|
||||||
|
| 系统类装配任务 | 13 | 775.02 ms | 397782 页 |
|
||||||
|
| 阀类装配任务 | 13 | 1104.29 ms | 412203 页 |
|
||||||
|
|
||||||
|
合同工时非零数据复核:系统类合同装配工时 34 行、合同质检工时 20 行;阀类合同装配工时 97 行、合同质检工时 34 行。
|
||||||
|
|
||||||
|
## 部署与回滚
|
||||||
|
|
||||||
|
- 过程部署脚本:`db_backups/optimize_install_task_queries_20260725.sql`
|
||||||
|
- 过程回滚脚本:`db_backups/rollback_install_task_queries_20260725.sql`
|
||||||
|
- 索引部署脚本:`db_backups/optimize_install_task_query_indexes_20260725.sql`
|
||||||
|
- 索引回滚脚本:`db_backups/rollback_install_task_query_indexes_20260725.sql`
|
||||||
|
- 线上精确备份过程:
|
||||||
|
- `dbo.计划排产_系统类任务查询_优化前_20260725`
|
||||||
|
- `dbo.计划排产_阀类任务查询_优化前_20260725`
|
||||||
|
|
||||||
|
建议观察一个业务周期后再决定是否删除两个优化前备份过程。导出过程不在本次变更范围内。
|
||||||
|
|
||||||
|
## 首屏渲染二次优化
|
||||||
|
|
||||||
|
用户反馈数据库优化后页面体感仍需数秒。按正式接口连续测量,系统类通常为 `0.70-0.99` 秒,阀类通常为 `0.88-1.14` 秒;剩余等待主要发生在浏览器渲染阶段。原页面默认请求 100 行,并为每一行同时创建日期选择器、多选下拉框和预算数字输入框。
|
||||||
|
|
||||||
|
本次前端调整如下:
|
||||||
|
|
||||||
|
1. 默认分页由 100 行改为 20 行,可选 20、50、100 行。
|
||||||
|
2. 修复分页控件使用 `donepageSize/donepageCurrent`、请求却使用 `pageSize/pageCurrent` 的状态错配。
|
||||||
|
3. 日期、二次派工和预算字段默认使用文本显示,点击对应单元格后才创建编辑控件。
|
||||||
|
4. 保留原保存过程、日期修改过程、二次派工过程和预算计算公式,不改变业务数据口径。
|
||||||
|
|
||||||
|
正式接口 20 行回归结果:
|
||||||
|
|
||||||
|
| 查询 | 接口耗时范围 | 返回行数 | 响应字符数 |
|
||||||
|
| --- | ---: | ---: | ---: |
|
||||||
|
| 系统类 | 696-987 ms | 20/55 | 19670 |
|
||||||
|
| 阀类 | 876-1143 ms | 20/260 | 18672 |
|
||||||
|
|
||||||
|
相较原 100 行响应,系统类响应体由约 52825 字符降至 19670 字符,阀类由约 93429 字符降至 18672 字符;同时首屏不再批量创建各行编辑控件。
|
||||||
|
|
||||||
|
曾在正式库事务内验证“预展开合同订单后连接工时视图”和 3 个筛选索引。完整结果哈希一致,但系统类接口由约 0.82 秒增加到约 1.09 秒,阀类约 1.04 秒无明显收益,因此已完整回滚并清理临时过程和索引,未纳入正式方案。
|
||||||
53
doc/装配任务预算进度功能_20260725.md
Normal file
53
doc/装配任务预算进度功能_20260725.md
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# 装配任务预算进度功能
|
||||||
|
|
||||||
|
## 功能范围
|
||||||
|
|
||||||
|
系统类装配任务和阀类装配任务页面新增:
|
||||||
|
|
||||||
|
| 字段 | 来源 | 单位/格式 |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| 任务预算装配工时 | 人工录入,按生产订单保存 | 小时 |
|
||||||
|
| 任务预算装配进度 | 任务装配工时 / 任务预算装配工时 | 百分比,保留两位小数 |
|
||||||
|
| 合同预算测试工时 | 人工录入,按销售合同保存 | 小时 |
|
||||||
|
| 合同预算测试进度 | 合同质检工时 / 合同预算测试工时 | 百分比,保留两位小数 |
|
||||||
|
|
||||||
|
预算工时为 `0` 时,对应进度显示 `0.00%`。进度允许超过 `100%`,用于反映实际工时超出预算的情况。
|
||||||
|
|
||||||
|
## 数据设计
|
||||||
|
|
||||||
|
- `dbo.计划排产_装配任务预算`:以订单号为主键保存任务预算。
|
||||||
|
- `dbo.计划排产_装配合同预算`:以合同号为主键保存合同预算。
|
||||||
|
- `dbo.计划排产_装配任务预算_保存`:参数化保存过程,校验预算类型、业务键和非负预算。
|
||||||
|
- `dbo.计划排产_装配任务查询_核心`:返回新增 4 个字段并计算百分比。
|
||||||
|
- `dbo.计划排产_装配任务查询_核心_预算前_20260725`:正式环境部署前的精确过程备份。
|
||||||
|
|
||||||
|
预算按小时录入;数据库中的实际装配和质检工时为秒,计算时先除以 `3600` 转换为小时,再除以预算并乘以 `100`。
|
||||||
|
|
||||||
|
## 验证结果
|
||||||
|
|
||||||
|
1. 正式数据库事务回归:订单 `5727` 临时设置任务预算 `100` 小时、合同预算 `50` 小时,得到任务进度 `27.13%`、合同测试进度 `39.59%`,随后回滚,预算表均为 0 行。
|
||||||
|
2. 正式接口读写回归:两个预算保存均返回 `result=1`,再次查询得到相同进度;仅删除带 `Codex接口回归` 标记且值完全匹配的两条测试数据,清理后预算表均为 0 行。
|
||||||
|
3. 新旧查询一致性:系统类 55 行、阀类 283 行;全部原字段均存在且公共字段 SHA-256 哈希一致,只新增需求中的 4 个字段。
|
||||||
|
4. 性能回归:本次对比中系统类新查询约 `723 ms`,阀类新查询约 `904 ms`,未发现性能退化。
|
||||||
|
5. 前端生产构建成功,Webpack 仅报告项目既有的大资源包告警。
|
||||||
|
6. 页面初始化防误保存回归:预算原值加入行状态后,重新启动页面并等待初始化,正式预算表持续为 0 行,未再产生零值记录。
|
||||||
|
|
||||||
|
## 发布状态
|
||||||
|
|
||||||
|
- 正式数据库:已部署并验证。
|
||||||
|
- 前端源码:已修改并通过生产构建。
|
||||||
|
- 正式前端静态站点:未部署。当前未提供正式前端站点地址、IIS 物理目录或受控发布通道;`192.168.2.92:10101` 为后端接口站点,不承载当前前端入口。
|
||||||
|
- 本地预览:`https://127.0.0.1:1998/`,使用开发自签名证书。
|
||||||
|
|
||||||
|
发布包:`release_packages/MES_Manage_View_V20_装配任务预算进度_20260725.zip`
|
||||||
|
|
||||||
|
- 大小:62,963,217 字节
|
||||||
|
- SHA-256:`5E53DA3CA7BF2825589077D1F90433E57549096090F460F3E32A1DEC5F8D232B`
|
||||||
|
- 包内包含正式环境 `static/config.js`。
|
||||||
|
|
||||||
|
## 回滚
|
||||||
|
|
||||||
|
- 数据库部署:`db_backups/add_install_task_budget_progress_20260725.sql`
|
||||||
|
- 数据库回滚:`db_backups/rollback_install_task_budget_progress_20260725.sql`
|
||||||
|
|
||||||
|
数据库回滚恢复预算功能上线前的核心查询并删除保存过程,但有意保留两张预算表,防止已经录入的人工预算数据丢失。正式前端发布时必须先备份原静态目录,前端回滚使用该目录备份。
|
||||||
BIN
doc/设计工时任务报表字段配置修改.docx
Normal file
BIN
doc/设计工时任务报表字段配置修改.docx
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
8722
server_baseline/MES_ManageV20250916_20260725/Bin/ASPNet_Drawing.xml
Normal file
8722
server_baseline/MES_ManageV20250916_20260725/Bin/ASPNet_Drawing.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/BasicData.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/BasicData.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/BasicData.pdb
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/BasicData.pdb
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
4617
server_baseline/MES_ManageV20250916_20260725/Bin/DataLinkMesWork.xml
Normal file
4617
server_baseline/MES_ManageV20250916_20260725/Bin/DataLinkMesWork.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/JWT.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/JWT.dll
Normal file
Binary file not shown.
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/MES_SPC.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/MES_SPC.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/MES_SPC.pdb
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/MES_SPC.pdb
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,417 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Microsoft.Bcl.AsyncInterfaces</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1">
|
||||||
|
<summary>Provides the core logic for implementing a manual-reset <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
|
||||||
|
<typeparam name="TResult"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation">
|
||||||
|
<summary>
|
||||||
|
The callback to invoke when the operation completes if <see cref="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> was called before the operation completed,
|
||||||
|
or <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.s_sentinel"/> if the operation completed before a callback was supplied,
|
||||||
|
or null if a callback hasn't yet been provided and the operation hasn't yet completed.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuationState">
|
||||||
|
<summary>State to pass to <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation"/>.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext">
|
||||||
|
<summary><see cref="T:System.Threading.ExecutionContext"/> to flow to the callback, or null if no flowing is required.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._capturedContext">
|
||||||
|
<summary>
|
||||||
|
A "captured" <see cref="T:System.Threading.SynchronizationContext"/> or <see cref="T:System.Threading.Tasks.TaskScheduler"/> with which to invoke the callback,
|
||||||
|
or null if no special context is required.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._completed">
|
||||||
|
<summary>Whether the current operation has completed.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result">
|
||||||
|
<summary>The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._error">
|
||||||
|
<summary>The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._version">
|
||||||
|
<summary>The current version of this value, used to help prevent misuse.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.RunContinuationsAsynchronously">
|
||||||
|
<summary>Gets or sets whether to force continuations to run asynchronously.</summary>
|
||||||
|
<remarks>Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Reset">
|
||||||
|
<summary>Resets to prepare for the next operation.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetResult(`0)">
|
||||||
|
<summary>Completes with a successful result.</summary>
|
||||||
|
<param name="result">The result.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetException(System.Exception)">
|
||||||
|
<summary>Complets with an error.</summary>
|
||||||
|
<param name="error"></param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Version">
|
||||||
|
<summary>Gets the operation version.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetStatus(System.Int16)">
|
||||||
|
<summary>Gets the status of the operation.</summary>
|
||||||
|
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16)">
|
||||||
|
<summary>Gets the result of the operation.</summary>
|
||||||
|
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
|
||||||
|
<summary>Schedules the continuation action for this operation.</summary>
|
||||||
|
<param name="continuation">The continuation to invoke when the operation has completed.</param>
|
||||||
|
<param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
|
||||||
|
<param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
|
||||||
|
<param name="flags">The flags describing the behavior of the continuation.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ValidateToken(System.Int16)">
|
||||||
|
<summary>Ensures that the specified token matches the current version.</summary>
|
||||||
|
<param name="token">The token supplied by <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SignalCompletion">
|
||||||
|
<summary>Signals that the operation has completed. Invoked after the result or error has been set.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.InvokeContinuation">
|
||||||
|
<summary>
|
||||||
|
Invokes the continuation with the appropriate captured context / scheduler.
|
||||||
|
This assumes that if <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext"/> is not null we're already
|
||||||
|
running within that <see cref="T:System.Threading.ExecutionContext"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Threading.Tasks.TaskAsyncEnumerableExtensions">
|
||||||
|
<summary>Provides a set of static methods for configuring <see cref="T:System.Threading.Tasks.Task"/>-related behaviors on asynchronous enumerables and disposables.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean)">
|
||||||
|
<summary>Configures how awaits on the tasks returned from an async disposable will be performed.</summary>
|
||||||
|
<param name="source">The source async disposable.</param>
|
||||||
|
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
|
||||||
|
<returns>The configured async disposable.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Boolean)">
|
||||||
|
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
|
||||||
|
<typeparam name="T">The type of the objects being iterated.</typeparam>
|
||||||
|
<param name="source">The source enumerable being iterated.</param>
|
||||||
|
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
|
||||||
|
<returns>The configured enumerable.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Threading.CancellationToken)">
|
||||||
|
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
|
||||||
|
<typeparam name="T">The type of the objects being iterated.</typeparam>
|
||||||
|
<param name="source">The source enumerable being iterated.</param>
|
||||||
|
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
|
||||||
|
<returns>The configured enumerable.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder">
|
||||||
|
<summary>Represents a builder for asynchronous iterators.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Create">
|
||||||
|
<summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder"/> struct.</summary>
|
||||||
|
<returns>The initialized instance.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext``1(``0@)">
|
||||||
|
<summary>Invokes <see cref="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext"/> on the state machine while guarding the <see cref="T:System.Threading.ExecutionContext"/>.</summary>
|
||||||
|
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
|
||||||
|
<param name="stateMachine">The state machine instance, passed by reference.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
|
||||||
|
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
|
||||||
|
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
|
||||||
|
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
|
||||||
|
<param name="awaiter">The awaiter.</param>
|
||||||
|
<param name="stateMachine">The state machine.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
|
||||||
|
<summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
|
||||||
|
<typeparam name="TAwaiter">The type of the awaiter.</typeparam>
|
||||||
|
<typeparam name="TStateMachine">The type of the state machine.</typeparam>
|
||||||
|
<param name="awaiter">The awaiter.</param>
|
||||||
|
<param name="stateMachine">The state machine.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Complete">
|
||||||
|
<summary>Marks iteration as being completed, whether successfully or otherwise.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.ObjectIdForDebugger">
|
||||||
|
<summary>Gets an object that may be used to uniquely identify this builder to the debugger.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute">
|
||||||
|
<summary>Indicates whether a method is an asynchronous iterator.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute.#ctor(System.Type)">
|
||||||
|
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute"/> class.</summary>
|
||||||
|
<param name="stateMachineType">The type object for the underlying state machine type that's used to implement a state machine method.</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
|
||||||
|
<summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
|
||||||
|
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
|
||||||
|
<returns>A task that represents the asynchronous dispose operation.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
|
||||||
|
<summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)">
|
||||||
|
<summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
|
||||||
|
<param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
|
||||||
|
<returns>The configured enumerable.</returns>
|
||||||
|
<remarks>This will replace any previous value set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)"/> for this iteration.</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)">
|
||||||
|
<summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
|
||||||
|
<param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
|
||||||
|
<returns>The configured enumerable.</returns>
|
||||||
|
<remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
|
||||||
|
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
|
||||||
|
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
|
||||||
|
<summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.MoveNextAsync">
|
||||||
|
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
|
||||||
|
<returns>
|
||||||
|
A <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> that will complete with a result of <c>true</c>
|
||||||
|
if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
|
||||||
|
passed the end of the collection.
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current">
|
||||||
|
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.DisposeAsync">
|
||||||
|
<summary>
|
||||||
|
Performs application-defined tasks associated with freeing, releasing, or
|
||||||
|
resetting unmanaged resources asynchronously.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute">
|
||||||
|
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
|
||||||
|
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
||||||
|
<summary>
|
||||||
|
Attribute used to indicate a source generator should create a function for marshalling
|
||||||
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
||||||
|
The current built-in source generator only supports C# and only supplies an implementation when
|
||||||
|
applied to static, partial, non-generic methods.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="libraryName">Name of the library containing the import.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
||||||
|
<summary>
|
||||||
|
Gets the name of the library containing the import.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the name of the entry point to be called.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how to marshal string arguments to the method.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
||||||
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
||||||
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
||||||
|
<summary>
|
||||||
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
||||||
|
on other platforms) before returning from the attributed method.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Specifies how strings should be marshalled for generated p/invokes
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
||||||
|
<summary>
|
||||||
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-8 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-16 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Collections.Generic.IAsyncEnumerable`1">
|
||||||
|
<summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
|
||||||
|
<typeparam name="T">The type of values to enumerate.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)">
|
||||||
|
<summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
|
||||||
|
<param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
|
||||||
|
<returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Collections.Generic.IAsyncEnumerator`1">
|
||||||
|
<summary>Supports a simple asynchronous iteration over a generic collection.</summary>
|
||||||
|
<typeparam name="T">The type of objects to enumerate.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync">
|
||||||
|
<summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
|
||||||
|
<returns>
|
||||||
|
A <see cref="T:System.Threading.Tasks.ValueTask`1"/> that will complete with a result of <c>true</c> if the enumerator
|
||||||
|
was successfully advanced to the next element, or <c>false</c> if the enumerator has passed the end
|
||||||
|
of the collection.
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Collections.Generic.IAsyncEnumerator`1.Current">
|
||||||
|
<summary>Gets the element in the collection at the current position of the enumerator.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.IAsyncDisposable">
|
||||||
|
<summary>Provides a mechanism for releasing unmanaged resources asynchronously.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.IAsyncDisposable.DisposeAsync">
|
||||||
|
<summary>
|
||||||
|
Performs application-defined tasks associated with freeing, releasing, or
|
||||||
|
resetting unmanaged resources asynchronously.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
||||||
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
||||||
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
||||||
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
||||||
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
||||||
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
||||||
|
<param name="parameterName">
|
||||||
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
||||||
|
<summary>Gets the associated parameter name.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
||||||
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
||||||
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
||||||
|
<param name="parameterValue">
|
||||||
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
||||||
|
the associated parameter matches this value.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
||||||
|
<summary>Gets the condition parameter value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with a field or property member.</summary>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
||||||
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,542 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Microsoft.Extensions.Caching.Memory</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.SlidingExpiration">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed.
|
||||||
|
This will not extend the entry lifetime beyond the absolute expiration (if set).
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.ExpirationTokens">
|
||||||
|
<summary>
|
||||||
|
Gets the <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> instances which cause the cache entry to expire.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.PostEvictionCallbacks">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the callbacks will be fired after the cache entry is evicted from the cache.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.Priority">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the priority for keeping the cache entry in the cache during a
|
||||||
|
memory pressure triggered cleanup. The default is <see cref="F:Microsoft.Extensions.Caching.Memory.CacheItemPriority.Normal"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Caching.Memory.MemoryCache">
|
||||||
|
<summary>
|
||||||
|
An implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> using a dictionary to
|
||||||
|
store its entries.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions})">
|
||||||
|
<summary>
|
||||||
|
Creates a new <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/> instance.
|
||||||
|
</summary>
|
||||||
|
<param name="optionsAccessor">The options of the cache.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions},Microsoft.Extensions.Logging.ILoggerFactory)">
|
||||||
|
<summary>
|
||||||
|
Creates a new <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/> instance.
|
||||||
|
</summary>
|
||||||
|
<param name="optionsAccessor">The options of the cache.</param>
|
||||||
|
<param name="loggerFactory">The factory used to create loggers.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Finalize">
|
||||||
|
<summary>
|
||||||
|
Cleans up the background collection events.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCache.Count">
|
||||||
|
<summary>
|
||||||
|
Gets the count of the current entries for diagnostic purposes.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCache.Keys">
|
||||||
|
<summary>
|
||||||
|
Gets an enumerable of the all the keys in the <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCache.Size">
|
||||||
|
<summary>
|
||||||
|
Internal accessor for Size for testing only.
|
||||||
|
|
||||||
|
Note that this is only eventually consistent with the contents of the collection.
|
||||||
|
See comment on <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache.CoherentState"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.CreateEntry(System.Object)">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.TryGetValue(System.Object,System.Object@)">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Remove(System.Object)">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Clear">
|
||||||
|
<summary>
|
||||||
|
Removes all keys and values from the cache.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.GetCurrentStatistics">
|
||||||
|
<summary>
|
||||||
|
Gets a snapshot of the current statistics for the memory cache.
|
||||||
|
</summary>
|
||||||
|
<returns>Returns <see langword="null"/> if statistics are not being tracked because <see cref="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.TrackStatistics" /> is <see langword="false"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.UpdateCacheSizeExceedsCapacity(Microsoft.Extensions.Caching.Memory.CacheEntry,Microsoft.Extensions.Caching.Memory.CacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCache.CoherentState)">
|
||||||
|
<summary>
|
||||||
|
Determines if increasing the cache size by the size of the
|
||||||
|
entry would cause it to exceed any size limit on the cache.
|
||||||
|
</summary>
|
||||||
|
<returns>
|
||||||
|
<see langword="true" /> if increasing the cache size would
|
||||||
|
cause it to exceed the size limit; otherwise, <see langword="false" />.
|
||||||
|
</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Compact(System.Double)">
|
||||||
|
Remove at least the given percentage (0.10 for 10%) of the total entries (or estimated memory?), according to the following policy:
|
||||||
|
1. Remove all expired items.
|
||||||
|
2. Bucket by CacheItemPriority.
|
||||||
|
3. Least recently used objects.
|
||||||
|
?. Items with the soonest absolute expiration.
|
||||||
|
?. Items with the soonest sliding expiration.
|
||||||
|
?. Larger objects - estimated by object graph size, inaccurate.
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Dispose">
|
||||||
|
<inheritdoc />
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Dispose(System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
Disposes the cache and clears all entries.
|
||||||
|
</summary>
|
||||||
|
<param name="disposing"><see langword="true" /> to dispose the object resources; <see langword="false" /> to take no action.</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Caching.Memory.MemoryCache.CoherentState">
|
||||||
|
<summary>
|
||||||
|
Wrapper for the memory cache entries collection.
|
||||||
|
|
||||||
|
Entries may have various sizes. If a size limit has been set, the cache keeps track of the aggregate of all the entries' sizes
|
||||||
|
in order to trigger compaction when the size limit is exceeded.
|
||||||
|
|
||||||
|
For performance reasons, the size is not updated atomically with the collection, but is only made eventually consistent.
|
||||||
|
|
||||||
|
When the memory cache is cleared, it replaces the backing collection entirely. This may occur in parallel with operations
|
||||||
|
like add, set, remove, and compact which may modify the collection and thus its overall size.
|
||||||
|
|
||||||
|
To keep the overall size eventually consistent, therefore, the collection and the overall size are wrapped in this CoherentState
|
||||||
|
object. Individual operations take a local reference to this wrapper object while they work, and make size updates to this object.
|
||||||
|
Clearing the cache simply replaces the object, so that any still in progress updates do not affect the overall size value for
|
||||||
|
the new backing collection.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions">
|
||||||
|
<summary>
|
||||||
|
Specifies options for <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.Clock">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the clock used by the cache for expiration.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.ExpirationScanFrequency">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the minimum length of time between successive scans for expired items.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.SizeLimit">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the maximum size of the cache.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.CompactOnMemoryPressure">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a value that indicates whether the cache is compacted when the maximum size is exceeded.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.CompactionPercentage">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the amount the cache is compacted by when the maximum size is exceeded.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.TrackLinkedCacheEntries">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a value that indicates whether linked entries are tracked.
|
||||||
|
</summary>
|
||||||
|
<value>
|
||||||
|
<see langword="true"/> if linked entries are tracked; otherwise, <see langword="false" />.
|
||||||
|
The default is <see langword="false" />.
|
||||||
|
</value>
|
||||||
|
<remarks>Prior to .NET 7, this feature was always enabled.</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.TrackStatistics">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a value that indicates whether memory cache statistics are tracked.
|
||||||
|
</summary>
|
||||||
|
<value>
|
||||||
|
<see langword="true"/> if memory cache statistics are tracked; otherwise, <see langword="false" />.
|
||||||
|
The default is <see langword="false" />.
|
||||||
|
</value>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions">
|
||||||
|
<summary>
|
||||||
|
Specifies options for <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions.#ctor">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache">
|
||||||
|
<summary>
|
||||||
|
Implements <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> using <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions})">
|
||||||
|
<summary>
|
||||||
|
Creates a new <see cref="T:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache"/> instance.
|
||||||
|
</summary>
|
||||||
|
<param name="optionsAccessor">The options of the cache.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions},Microsoft.Extensions.Logging.ILoggerFactory)">
|
||||||
|
<summary>
|
||||||
|
Creates a new <see cref="T:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache"/> instance.
|
||||||
|
</summary>
|
||||||
|
<param name="optionsAccessor">The options of the cache.</param>
|
||||||
|
<param name="loggerFactory">The logger factory to create <see cref="T:Microsoft.Extensions.Logging.ILogger"/> used to log messages.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.Get(System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> as a byte array.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to get.</param>
|
||||||
|
<returns>The byte array value of the key.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.GetAsync(System.String,System.Threading.CancellationToken)">
|
||||||
|
<summary>
|
||||||
|
Asynchronously gets the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> as a byte array.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to get.</param>
|
||||||
|
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> to use to cancel operation.</param>
|
||||||
|
<returns>The task for getting the byte array value associated with the specified key from the cache.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.Set(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)">
|
||||||
|
<summary>
|
||||||
|
Sets the specified item associated with a key in the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> as a byte array.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to set.</param>
|
||||||
|
<param name="value">The byte array value of the item to set.</param>
|
||||||
|
<param name="options">The cache options for the item to set.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.SetAsync(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)">
|
||||||
|
<summary>
|
||||||
|
Asynchronously sets the specified item associated with a key in the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> as a byte array.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to set.</param>
|
||||||
|
<param name="value">The byte array value of the item to set.</param>
|
||||||
|
<param name="options">The cache options for the item to set.</param>
|
||||||
|
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> to use to cancel operation.</param>
|
||||||
|
<returns>The task for setting the byte array value associated with the specified key in the cache.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.Refresh(System.String)">
|
||||||
|
<summary>
|
||||||
|
Refreshes the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to refresh.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.RefreshAsync(System.String,System.Threading.CancellationToken)">
|
||||||
|
<summary>
|
||||||
|
Asynchronously refreshes the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to refresh.</param>
|
||||||
|
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> to use to cancel operation.</param>
|
||||||
|
<returns>The task for refreshing the specified key in the cache.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.Remove(System.String)">
|
||||||
|
<summary>
|
||||||
|
Removes the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to remove.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Caching.Distributed.MemoryDistributedCache.RemoveAsync(System.String,System.Threading.CancellationToken)">
|
||||||
|
<summary>
|
||||||
|
Asynchronously removes the specified item associated with a key from the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the item to remove.</param>
|
||||||
|
<param name="token">The <see cref="T:System.Threading.CancellationToken"/> to use to cancel operation.</param>
|
||||||
|
<returns>The task for removing the specified key from the cache.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions">
|
||||||
|
<summary>
|
||||||
|
Extension methods for setting up memory cache related services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
|
||||||
|
<summary>
|
||||||
|
Adds a non distributed in-memory implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> to the
|
||||||
|
<see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
|
||||||
|
</summary>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions})">
|
||||||
|
<summary>
|
||||||
|
Adds a non distributed in-memory implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> to the
|
||||||
|
<see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
|
||||||
|
</summary>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
|
||||||
|
<param name="setupAction">
|
||||||
|
The <see cref="T:System.Action`1"/> to configure the provided <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions"/>.
|
||||||
|
</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
|
||||||
|
<summary>
|
||||||
|
Adds a default implementation of <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> that stores items in memory
|
||||||
|
to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />. Frameworks that require a distributed cache to work
|
||||||
|
can safely add this dependency as part of their dependency list to ensure that there is at least
|
||||||
|
one implementation available.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
<see cref="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/> should only be used in single
|
||||||
|
server scenarios as this cache stores items in memory and doesn't expand across multiple machines.
|
||||||
|
For those scenarios it is recommended to use a proper distributed cache that can expand across
|
||||||
|
multiple machines.
|
||||||
|
</remarks>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions})">
|
||||||
|
<summary>
|
||||||
|
Adds a default implementation of <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> that stores items in memory
|
||||||
|
to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />. Frameworks that require a distributed cache to work
|
||||||
|
can safely add this dependency as part of their dependency list to ensure that there is at least
|
||||||
|
one implementation available.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
<see cref="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/> should only be used in single
|
||||||
|
server scenarios as this cache stores items in memory and doesn't expand across multiple machines.
|
||||||
|
For those scenarios it is recommended to use a proper distributed cache that can expand across
|
||||||
|
multiple machines.
|
||||||
|
</remarks>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
|
||||||
|
<param name="setupAction">
|
||||||
|
The <see cref="T:System.Action`1"/> to configure the provided <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions"/>.
|
||||||
|
</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
|
||||||
|
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
|
||||||
|
<param name="argument">The reference type argument to validate as non-null.</param>
|
||||||
|
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
|
||||||
|
if the specified string is <see langword="null"/> or whitespace respectively.
|
||||||
|
</summary>
|
||||||
|
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
|
||||||
|
<param name="paramName">The name of the parameter being checked.</param>
|
||||||
|
<returns>The original value of <paramref name="argument"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
||||||
|
<summary>
|
||||||
|
Attribute used to indicate a source generator should create a function for marshalling
|
||||||
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
||||||
|
The current built-in source generator only supports C# and only supplies an implementation when
|
||||||
|
applied to static, partial, non-generic methods.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="libraryName">Name of the library containing the import.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
||||||
|
<summary>
|
||||||
|
Gets the name of the library containing the import.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the name of the entry point to be called.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how to marshal string arguments to the method.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
||||||
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
||||||
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
||||||
|
<summary>
|
||||||
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
||||||
|
on other platforms) before returning from the attributed method.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Specifies how strings should be marshalled for generated p/invokes
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
||||||
|
<summary>
|
||||||
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-8 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-16 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Marvin.ComputeHash32(System.ReadOnlySpan{System.Byte},System.UInt64)">
|
||||||
|
<summary>
|
||||||
|
Compute a Marvin hash and collapse it into a 32-bit hash.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Marvin.ComputeHash32(System.Byte@,System.UInt32,System.UInt32,System.UInt32)">
|
||||||
|
<summary>
|
||||||
|
Compute a Marvin hash and collapse it into a 32-bit hash.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.CacheEntryHasEmptySize">
|
||||||
|
<summary>Cache entry must specify a value for {0} when {1} is set.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
||||||
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
||||||
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
||||||
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
||||||
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
||||||
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
||||||
|
<param name="parameterName">
|
||||||
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
||||||
|
<summary>Gets the associated parameter name.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
||||||
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
||||||
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
||||||
|
<param name="parameterValue">
|
||||||
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
||||||
|
the associated parameter matches this value.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
||||||
|
<summary>Gets the condition parameter value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with a field or property member.</summary>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
||||||
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
@@ -0,0 +1,535 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Microsoft.Extensions.Configuration.Abstractions</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext">
|
||||||
|
<summary>
|
||||||
|
Provides data about the current item of the configuration.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext.#ctor(System.String,System.String,System.String,Microsoft.Extensions.Configuration.IConfigurationProvider)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of <see cref="T:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="path">The path of the current item of the configuration.</param>
|
||||||
|
<param name="key">The key of the current item of the configuration.</param>
|
||||||
|
<param name="value">The value of the current item of the configuration.</param>
|
||||||
|
<param name="configurationProvider">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider" /> to use to get the value of the current item.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext.Path">
|
||||||
|
<summary>
|
||||||
|
Gets the path of the current item.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext.Key">
|
||||||
|
<summary>
|
||||||
|
Gets the key of the current item.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext.Value">
|
||||||
|
<summary>
|
||||||
|
Gets the value of the current item.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.ConfigurationDebugViewContext.ConfigurationProvider">
|
||||||
|
<summary>
|
||||||
|
Gets the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider" /> that was used to get the value of the current item.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationExtensions">
|
||||||
|
<summary>
|
||||||
|
Provides extension methods for configuration classes.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.Add``1(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action{``0})">
|
||||||
|
<summary>
|
||||||
|
Adds a new configuration source.
|
||||||
|
</summary>
|
||||||
|
<param name="builder">The builder to add to.</param>
|
||||||
|
<param name="configureSource">Configures the source secrets.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.GetConnectionString(Microsoft.Extensions.Configuration.IConfiguration,System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the specified connection string from the specified configuration.
|
||||||
|
Shorthand for <c>GetSection("ConnectionStrings")[name]</c>.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration to enumerate.</param>
|
||||||
|
<param name="name">The connection string key.</param>
|
||||||
|
<returns>The connection string.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.AsEnumerable(Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Get the enumeration of key value pairs within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration" />
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration to enumerate.</param>
|
||||||
|
<returns>An enumeration of key value pairs.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.AsEnumerable(Microsoft.Extensions.Configuration.IConfiguration,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
Get the enumeration of key value pairs within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration" />
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration to enumerate.</param>
|
||||||
|
<param name="makePathsRelative"><see langword="true" /> to trim the current configuration's path from the front of the returned child keys.</param>
|
||||||
|
<returns>An enumeration of key value pairs.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.Exists(Microsoft.Extensions.Configuration.IConfigurationSection)">
|
||||||
|
<summary>
|
||||||
|
Determines whether the section has a <see cref="P:Microsoft.Extensions.Configuration.IConfigurationSection.Value"/> or has children.
|
||||||
|
</summary>
|
||||||
|
<param name="section">The section to enumerate.</param>
|
||||||
|
<returns><see langword="true" /> if the section has values or children; otherwise, <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.GetRequiredSection(Microsoft.Extensions.Configuration.IConfiguration,System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets a configuration subsection with the specified key.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration to enumerate.</param>
|
||||||
|
<param name="key">The key of the configuration section.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/>.</returns>
|
||||||
|
<remarks>
|
||||||
|
If no matching sub-section is found with the specified key, an exception is raised.
|
||||||
|
</remarks>
|
||||||
|
<exception cref="T:System.InvalidOperationException">There is no section with key <paramref name="key"/>.</exception>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationKeyNameAttribute">
|
||||||
|
<summary>
|
||||||
|
Specifies the key name for a configuration property.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationKeyNameAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of <see cref="T:Microsoft.Extensions.Configuration.ConfigurationKeyNameAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The key name.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.ConfigurationKeyNameAttribute.Name">
|
||||||
|
<summary>
|
||||||
|
Gets the key name for a configuration property.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationPath">
|
||||||
|
<summary>
|
||||||
|
Provides utility methods and constants for manipulating Configuration paths.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:Microsoft.Extensions.Configuration.ConfigurationPath.KeyDelimiter">
|
||||||
|
<summary>
|
||||||
|
The delimiter ":" used to separate individual keys in a path.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.Combine(System.String[])">
|
||||||
|
<summary>
|
||||||
|
Combines path segments into one path.
|
||||||
|
</summary>
|
||||||
|
<param name="pathSegments">The path segments to combine.</param>
|
||||||
|
<returns>The combined path.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.Combine(System.Collections.Generic.IEnumerable{System.String})">
|
||||||
|
<summary>
|
||||||
|
Combines path segments into one path.
|
||||||
|
</summary>
|
||||||
|
<param name="pathSegments">The path segments to combine.</param>
|
||||||
|
<returns>The combined path.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.GetSectionKey(System.String)">
|
||||||
|
<summary>
|
||||||
|
Extracts the last path segment from the path.
|
||||||
|
</summary>
|
||||||
|
<param name="path">The path.</param>
|
||||||
|
<returns>The last path segment of the path.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.GetParentPath(System.String)">
|
||||||
|
<summary>
|
||||||
|
Extracts the path corresponding to the parent node for a given path.
|
||||||
|
</summary>
|
||||||
|
<param name="path">The path.</param>
|
||||||
|
<returns>The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationRootExtensions">
|
||||||
|
<summary>
|
||||||
|
Provides extension methods for <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationRootExtensions.GetDebugView(Microsoft.Extensions.Configuration.IConfigurationRoot)">
|
||||||
|
<summary>
|
||||||
|
Generates a human-readable view of the configuration showing where each value came from.
|
||||||
|
</summary>
|
||||||
|
<returns>The debug view.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationRootExtensions.GetDebugView(Microsoft.Extensions.Configuration.IConfigurationRoot,System.Func{Microsoft.Extensions.Configuration.ConfigurationDebugViewContext,System.String})">
|
||||||
|
<summary>
|
||||||
|
Generates a human-readable view of the configuration showing where each value came from.
|
||||||
|
</summary>
|
||||||
|
<param name="root">The configuration root.</param>
|
||||||
|
<param name="processValue">
|
||||||
|
The function for processing the value, for example, hiding secrets.
|
||||||
|
Parameters:
|
||||||
|
ConfigurationDebugViewContext: Context of the current configuration item.
|
||||||
|
returns: A string value is used to assign as the Value of the configuration section.
|
||||||
|
</param>
|
||||||
|
<returns>The debug view.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfiguration">
|
||||||
|
<summary>
|
||||||
|
Represents a set of key/value application configuration properties.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfiguration.Item(System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a configuration value.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The configuration key.</param>
|
||||||
|
<returns>The configuration value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetSection(System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets a configuration sub-section with the specified key.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key of the configuration section.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/>.</returns>
|
||||||
|
<remarks>
|
||||||
|
This method will never return <c>null</c>. If no matching sub-section is found with the specified key,
|
||||||
|
an empty <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/> will be returned.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetChildren">
|
||||||
|
<summary>
|
||||||
|
Gets the immediate descendant configuration sub-sections.
|
||||||
|
</summary>
|
||||||
|
<returns>The configuration sub-sections.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetReloadToken">
|
||||||
|
<summary>
|
||||||
|
Returns a <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that can be used to observe when this configuration is reloaded.
|
||||||
|
</summary>
|
||||||
|
<returns>A <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationBuilder">
|
||||||
|
<summary>
|
||||||
|
Represents a type used to build application configuration.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Properties">
|
||||||
|
<summary>
|
||||||
|
Gets a key/value collection that can be used to share data between the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>
|
||||||
|
and the registered <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSource"/>s.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Sources">
|
||||||
|
<summary>
|
||||||
|
Gets the sources used to obtain configuration values
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationBuilder.Add(Microsoft.Extensions.Configuration.IConfigurationSource)">
|
||||||
|
<summary>
|
||||||
|
Adds a new configuration source.
|
||||||
|
</summary>
|
||||||
|
<param name="source">The configuration source to add.</param>
|
||||||
|
<returns>The same <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationBuilder.Build">
|
||||||
|
<summary>
|
||||||
|
Builds an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> with keys and values from the set of sources registered in
|
||||||
|
<see cref="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Sources"/>.
|
||||||
|
</summary>
|
||||||
|
<returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/> with keys and values from the registered sources.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationManager">
|
||||||
|
<summary>
|
||||||
|
Represents a mutable configuration object.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
It is both an <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> and an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
|
||||||
|
As sources are added, it updates its current view of configuration.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationProvider">
|
||||||
|
<summary>
|
||||||
|
Provides configuration key/values for an application.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.TryGet(System.String,System.String@)">
|
||||||
|
<summary>
|
||||||
|
Tries to get a configuration value for the specified key.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key.</param>
|
||||||
|
<param name="value">When this method returns, contains the value for the specified key.</param>
|
||||||
|
<returns><see langword="true" /> if a value for the specified key was found, otherwise <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.Set(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Sets a configuration value for the specified key.
|
||||||
|
</summary>
|
||||||
|
<param name="key">The key.</param>
|
||||||
|
<param name="value">The value.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.GetReloadToken">
|
||||||
|
<summary>
|
||||||
|
Attempts to get an <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> for change tracking.
|
||||||
|
</summary>
|
||||||
|
<returns>An <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> token if this provider supports change tracking, <see langword="null"/> otherwise.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.Load">
|
||||||
|
<summary>
|
||||||
|
Loads configuration values from the source represented by this <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.GetChildKeys(System.Collections.Generic.IEnumerable{System.String},System.String)">
|
||||||
|
<summary>
|
||||||
|
Returns the immediate descendant configuration keys for a given parent path based on the data of this
|
||||||
|
<see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> and the set of keys returned by all the preceding
|
||||||
|
<see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> providers.
|
||||||
|
</summary>
|
||||||
|
<param name="earlierKeys">The child keys returned by the preceding providers for the same parent path.</param>
|
||||||
|
<param name="parentPath">The parent path.</param>
|
||||||
|
<returns>The child keys.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationRoot">
|
||||||
|
<summary>
|
||||||
|
Represents the root of an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> hierarchy.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload">
|
||||||
|
<summary>
|
||||||
|
Forces the configuration values to be reloaded from the underlying <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> providers.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationRoot.Providers">
|
||||||
|
<summary>
|
||||||
|
Gets the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> providers for this configuration.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationSection">
|
||||||
|
<summary>
|
||||||
|
Represents a section of application configuration values.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Key">
|
||||||
|
<summary>
|
||||||
|
Gets the key this section occupies in its parent.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Path">
|
||||||
|
<summary>
|
||||||
|
Gets the full path to this section within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Value">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the section value.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.IConfigurationSource">
|
||||||
|
<summary>
|
||||||
|
Represents a source of configuration key/values for an application.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.IConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
|
||||||
|
<summary>
|
||||||
|
Builds the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> for this source.
|
||||||
|
</summary>
|
||||||
|
<param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</param>
|
||||||
|
<returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
|
||||||
|
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
|
||||||
|
<param name="argument">The reference type argument to validate as non-null.</param>
|
||||||
|
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
|
||||||
|
if the specified string is <see langword="null"/> or whitespace respectively.
|
||||||
|
</summary>
|
||||||
|
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
|
||||||
|
<param name="paramName">The name of the parameter being checked.</param>
|
||||||
|
<returns>The original value of <paramref name="argument"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
||||||
|
<summary>
|
||||||
|
Attribute used to indicate a source generator should create a function for marshalling
|
||||||
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
||||||
|
The current built-in source generator only supports C# and only supplies an implementation when
|
||||||
|
applied to static, partial, non-generic methods.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="libraryName">Name of the library containing the import.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
||||||
|
<summary>
|
||||||
|
Gets the name of the library containing the import.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the name of the entry point to be called.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how to marshal string arguments to the method.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
||||||
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
||||||
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
||||||
|
<summary>
|
||||||
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
||||||
|
on other platforms) before returning from the attributed method.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Specifies how strings should be marshalled for generated p/invokes
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
||||||
|
<summary>
|
||||||
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-8 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-16 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.InvalidSectionName">
|
||||||
|
<summary>Section '{0}' not found in configuration.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
||||||
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
||||||
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
||||||
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
||||||
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
||||||
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
||||||
|
<param name="parameterName">
|
||||||
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
||||||
|
<summary>Gets the associated parameter name.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
||||||
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
||||||
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
||||||
|
<param name="parameterValue">
|
||||||
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
||||||
|
the associated parameter matches this value.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
||||||
|
<summary>Gets the condition parameter value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with a field or property member.</summary>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
||||||
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
@@ -0,0 +1,654 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Microsoft.Extensions.Configuration.Binder</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.BinderOptions">
|
||||||
|
<summary>
|
||||||
|
Specifies options used by the <see cref="T:Microsoft.Extensions.Configuration.ConfigurationBinder"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.BinderOptions.BindNonPublicProperties">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a value that indicates whether the binder attempts to set all properties or only public properties.
|
||||||
|
</summary>
|
||||||
|
<value>
|
||||||
|
<see langword="true" /> if the binder attempts to set all non-read-only properties; <see langword="false" /> if only public properties are set.
|
||||||
|
</value>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Configuration.BinderOptions.ErrorOnUnknownConfiguration">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a value that indicates whether exceptions are thrown when converting a value or when a configuration
|
||||||
|
key is found for which the provided model object doesn't have an appropriate property that matches the key's name.
|
||||||
|
</summary>
|
||||||
|
<value>
|
||||||
|
<see langword="true" /> if an <see cref="T:System.InvalidOperationException"/> is thrown with a description; <see langword="false" /> if no exceptions are thrown. The default is <see langword="false" />.
|
||||||
|
</value>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Configuration.ConfigurationBinder">
|
||||||
|
<summary>
|
||||||
|
Static helper class that allows binding strongly typed objects to configuration values.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get``1(Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the configuration instance to a new instance of type T.
|
||||||
|
If this configuration section has a value, that will be used.
|
||||||
|
Otherwise binding by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T">The type of the new instance to bind.</typeparam>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<returns>The new instance of T if successful, default(T) otherwise.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get``1(Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the configuration instance to a new instance of type T.
|
||||||
|
If this configuration section has a value, that will be used.
|
||||||
|
Otherwise binding by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T">The type of the new instance to bind.</typeparam>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="configureOptions">Configures the binder options.</param>
|
||||||
|
<returns>The new instance of T if successful, default(T) otherwise.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get(Microsoft.Extensions.Configuration.IConfiguration,System.Type)">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the configuration instance to a new instance of type T.
|
||||||
|
If this configuration section has a value, that will be used.
|
||||||
|
Otherwise binding by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="type">The type of the new instance to bind.</param>
|
||||||
|
<returns>The new instance if successful, null otherwise.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the configuration instance to a new instance of type T.
|
||||||
|
If this configuration section has a value, that will be used.
|
||||||
|
Otherwise binding by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="type">The type of the new instance to bind.</param>
|
||||||
|
<param name="configureOptions">Configures the binder options.</param>
|
||||||
|
<returns>The new instance if successful, null otherwise.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Object)">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the given object instance to the configuration section specified by the key by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="key">The key of the configuration section to bind.</param>
|
||||||
|
<param name="instance">The object to bind.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object)">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="instance">The object to bind.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration instance to bind.</param>
|
||||||
|
<param name="instance">The object to bind.</param>
|
||||||
|
<param name="configureOptions">Configures the binder options.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue``1(Microsoft.Extensions.Configuration.IConfiguration,System.String)">
|
||||||
|
<summary>
|
||||||
|
Extracts the value with the specified key and converts it to type T.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T">The type to convert the value to.</typeparam>
|
||||||
|
<param name="configuration">The configuration.</param>
|
||||||
|
<param name="key">The key of the configuration section's value to convert.</param>
|
||||||
|
<returns>The converted value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue``1(Microsoft.Extensions.Configuration.IConfiguration,System.String,``0)">
|
||||||
|
<summary>
|
||||||
|
Extracts the value with the specified key and converts it to type T.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T">The type to convert the value to.</typeparam>
|
||||||
|
<param name="configuration">The configuration.</param>
|
||||||
|
<param name="key">The key of the configuration section's value to convert.</param>
|
||||||
|
<param name="defaultValue">The default value to use if no value is found.</param>
|
||||||
|
<returns>The converted value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String)">
|
||||||
|
<summary>
|
||||||
|
Extracts the value with the specified key and converts it to the specified type.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration.</param>
|
||||||
|
<param name="type">The type to convert the value to.</param>
|
||||||
|
<param name="key">The key of the configuration section's value to convert.</param>
|
||||||
|
<returns>The converted value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object)">
|
||||||
|
<summary>
|
||||||
|
Extracts the value with the specified key and converts it to the specified type.
|
||||||
|
</summary>
|
||||||
|
<param name="configuration">The configuration.</param>
|
||||||
|
<param name="type">The type to convert the value to.</param>
|
||||||
|
<param name="key">The key of the configuration section's value to convert.</param>
|
||||||
|
<param name="defaultValue">The default value to use if no value is found.</param>
|
||||||
|
<returns>The converted value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.ResetPropertyValue(System.Reflection.PropertyInfo,System.Object,Microsoft.Extensions.Configuration.BinderOptions)">
|
||||||
|
<summary>
|
||||||
|
Reset the property value to the value from the property getter. This is useful for properties that have a getter or setters that perform some logic changing the object state.
|
||||||
|
</summary>
|
||||||
|
<param name="property">The property to reset.</param>
|
||||||
|
<param name="instance">The instance to reset the property on.</param>
|
||||||
|
<param name="options">The binder options.</param>
|
||||||
|
<remarks>
|
||||||
|
This method doesn't do any configuration binding. It just resets the property value to the value from the property getter.
|
||||||
|
This method called only when creating an instance using a primary constructor with parameters names match properties names.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.CreateInstance(System.Type,Microsoft.Extensions.Configuration.IConfiguration,Microsoft.Extensions.Configuration.BinderOptions,System.Reflection.ParameterInfo[]@)">
|
||||||
|
<summary>
|
||||||
|
Create an instance of the specified type.
|
||||||
|
</summary>
|
||||||
|
<param name="type">The type to create an instance of.</param>
|
||||||
|
<param name="config">The configuration to bind to the instance.</param>
|
||||||
|
<param name="options">The binder options.</param>
|
||||||
|
<param name="constructorParameters">The parameters of the constructor used to create the instance.</param>
|
||||||
|
<returns>The created instance.</returns>
|
||||||
|
<exception cref="T:System.InvalidOperationException">If the type cannot be created.</exception>
|
||||||
|
<remarks>
|
||||||
|
constructorParameters will not be null only when using a constructor with a parameters which get their values from the configuration
|
||||||
|
This happen when using types having properties match the constructor parameter names. `record` types are an example.
|
||||||
|
In such cases we need to carry the parameters list to avoid binding the properties again during BindProperties.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
|
||||||
|
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
|
||||||
|
<param name="argument">The reference type argument to validate as non-null.</param>
|
||||||
|
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
|
||||||
|
if the specified string is <see langword="null"/> or whitespace respectively.
|
||||||
|
</summary>
|
||||||
|
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
|
||||||
|
<param name="paramName">The name of the parameter being checked.</param>
|
||||||
|
<returns>The original value of <paramref name="argument"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
||||||
|
<summary>
|
||||||
|
Attribute used to indicate a source generator should create a function for marshalling
|
||||||
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
||||||
|
The current built-in source generator only supports C# and only supplies an implementation when
|
||||||
|
applied to static, partial, non-generic methods.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="libraryName">Name of the library containing the import.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
||||||
|
<summary>
|
||||||
|
Gets the name of the library containing the import.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the name of the entry point to be called.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how to marshal string arguments to the method.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
||||||
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
||||||
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
||||||
|
<summary>
|
||||||
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
||||||
|
on other platforms) before returning from the attributed method.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Specifies how strings should be marshalled for generated p/invokes
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
||||||
|
<summary>
|
||||||
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-8 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-16 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
|
||||||
|
for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which members are being accessed during the execution
|
||||||
|
of a program.
|
||||||
|
|
||||||
|
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
|
||||||
|
|
||||||
|
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
|
||||||
|
that the string represents a fully qualified type name.
|
||||||
|
|
||||||
|
When this attribute is applied to a class, interface, or struct, the members specified
|
||||||
|
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
|
||||||
|
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
|
||||||
|
|
||||||
|
If the attribute is applied to a method it's treated as a special case and it implies
|
||||||
|
the attribute should be applied to the "this" parameter of the method. As such the attribute
|
||||||
|
should only be used on instance methods of types assignable to System.Type (or string, but no methods
|
||||||
|
will use it there).
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
|
||||||
|
with the specified member types.
|
||||||
|
</summary>
|
||||||
|
<param name="memberTypes">The types of members dynamically accessed.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
|
||||||
|
<summary>
|
||||||
|
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
|
||||||
|
of members dynamically accessed.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies the types of members that are dynamically accessed.
|
||||||
|
|
||||||
|
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
|
||||||
|
bitwise combination of its member values.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
|
||||||
|
<summary>
|
||||||
|
Specifies no members.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
|
||||||
|
<summary>
|
||||||
|
Specifies the default, parameterless public constructor.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
|
||||||
|
<summary>
|
||||||
|
Specifies all public constructors.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public constructors.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
|
||||||
|
<summary>
|
||||||
|
Specifies all public methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
|
||||||
|
<summary>
|
||||||
|
Specifies all public fields.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public fields.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies all public nested types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public nested types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
|
||||||
|
<summary>
|
||||||
|
Specifies all public properties.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public properties.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
|
||||||
|
<summary>
|
||||||
|
Specifies all public events.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public events.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
|
||||||
|
<summary>
|
||||||
|
Specifies all interfaces implemented by the type.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
|
||||||
|
<summary>
|
||||||
|
Specifies all members.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that the specified method requires the ability to generate new code at runtime,
|
||||||
|
for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
|
||||||
|
with the specified message.
|
||||||
|
</summary>
|
||||||
|
<param name="message">
|
||||||
|
A message that contains information about the usage of dynamic code.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
|
||||||
|
<summary>
|
||||||
|
Gets a message that contains information about the usage of dynamic code.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional URL that contains more information about the method,
|
||||||
|
why it requires dynamic code, and what options a consumer has to deal with it.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that the specified method requires dynamic access to code that is not referenced
|
||||||
|
statically, for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which methods are unsafe to call when removing unreferenced
|
||||||
|
code from an application.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute"/> class
|
||||||
|
with the specified message.
|
||||||
|
</summary>
|
||||||
|
<param name="message">
|
||||||
|
A message that contains information about the usage of unreferenced code.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Message">
|
||||||
|
<summary>
|
||||||
|
Gets a message that contains information about the usage of unreferenced code.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional URL that contains more information about the method,
|
||||||
|
why it requires unreferenced code, and what options a consumer has to deal with it.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
|
||||||
|
<summary>
|
||||||
|
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
|
||||||
|
single code artifact.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
|
||||||
|
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
|
||||||
|
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
|
||||||
|
class, specifying the category of the tool and the identifier for an analysis rule.
|
||||||
|
</summary>
|
||||||
|
<param name="category">The category for the attribute.</param>
|
||||||
|
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
|
||||||
|
<summary>
|
||||||
|
Gets the category identifying the classification of the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
|
||||||
|
for which a message suppression attribute applies.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
|
||||||
|
<summary>
|
||||||
|
Gets the identifier of the analysis tool rule to be suppressed.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
|
||||||
|
properties form a unique check identifier.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the scope of the code that is relevant for the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The Scope property is an optional argument that specifies the metadata scope for which
|
||||||
|
the attribute is relevant.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a fully qualified path that represents the target of the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
|
||||||
|
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
|
||||||
|
Because it is fully qualified, it can be long, particularly for targets such as parameters.
|
||||||
|
The analysis tool user interface should be capable of automatically formatting the parameter.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional argument expanding on exclusion criteria.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
|
||||||
|
exclusion where the literal metadata target is not sufficiently precise. For example,
|
||||||
|
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
|
||||||
|
and it may be desirable to suppress a violation against a statement in the method that will
|
||||||
|
give a rule violation, but not against all statements in the method.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the justification for suppressing the code analysis message.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
||||||
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
||||||
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
||||||
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
||||||
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
||||||
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
||||||
|
<param name="parameterName">
|
||||||
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
||||||
|
<summary>Gets the associated parameter name.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
||||||
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
||||||
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
||||||
|
<param name="parameterValue">
|
||||||
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
||||||
|
the associated parameter matches this value.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
||||||
|
<summary>Gets the condition parameter value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with a field or property member.</summary>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
||||||
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_CannotActivateAbstractOrInterface">
|
||||||
|
<summary>Cannot create instance of type '{0}' because it is either abstract or an interface.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_CannotBindToConstructorParameter">
|
||||||
|
<summary>Cannot create instance of type '{0}' because one or more parameters cannot be bound to. Constructor parameters cannot be declared as in, out, or ref. Invalid parameters are: '{1}'</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_ConstructorParametersDoNotMatchProperties">
|
||||||
|
<summary>Cannot create instance of type '{0}' because one or more parameters cannot be bound to. Constructor parameters must have corresponding properties. Fields are not supported. Missing properties are: '{1}'</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_FailedBinding">
|
||||||
|
<summary>Failed to convert configuration value at '{0}' to type '{1}'.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_FailedToActivate">
|
||||||
|
<summary>Failed to create instance of type '{0}'.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_GeneralErrorWhenBinding">
|
||||||
|
<summary>'{0}' was set and binding has failed. The likely cause is an invalid configuration value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_MissingConfig">
|
||||||
|
<summary>'{0}' was set on the provided {1}, but the following properties were not found on the instance of {2}: {3}</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_MissingPublicInstanceConstructor">
|
||||||
|
<summary>Cannot create instance of type '{0}' because it is missing a public instance constructor.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_MultipleParameterizedConstructors">
|
||||||
|
<summary>Cannot create instance of type '{0}' because it has multiple public parameterized constructors.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_ParameterBeingBoundToIsUnnamed">
|
||||||
|
<summary>Cannot create instance of type '{0}' because one or more parameters are unnamed.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_ParameterHasNoMatchingConfig">
|
||||||
|
<summary>Cannot create instance of type '{0}' because parameter '{1}' has no matching config. Each parameter in the constructor that does not have a default value must have a corresponding config entry.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.SR.Error_UnsupportedMultidimensionalArray">
|
||||||
|
<summary>Cannot create instance of type '{0}' because multidimensional arrays are not supported.</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,608 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>Microsoft.Extensions.Options.ConfigurationExtensions</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1">
|
||||||
|
<summary>
|
||||||
|
Creates <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>s so that <see cref="T:Microsoft.Extensions.Options.IOptionsMonitor`1"/> gets
|
||||||
|
notified when <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> changes.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1.#ctor(Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Constructor taking the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance to watch.
|
||||||
|
</summary>
|
||||||
|
<param name="config">The configuration instance.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1.#ctor(System.String,Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Constructor taking the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance to watch.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the options instance being watched.</param>
|
||||||
|
<param name="config">The configuration instance.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1.Name">
|
||||||
|
<summary>
|
||||||
|
The name of the option instance being changed.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1.GetChangeToken">
|
||||||
|
<summary>
|
||||||
|
Returns the reloadToken from the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Options.ConfigureFromConfigurationOptions`1">
|
||||||
|
<summary>
|
||||||
|
Configures an option instance by using <see cref="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object)"/> against an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options to bind.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.ConfigureFromConfigurationOptions`1.#ctor(Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Constructor that takes the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance to bind against.
|
||||||
|
</summary>
|
||||||
|
<param name="config">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance.</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.Options.NamedConfigureFromConfigurationOptions`1">
|
||||||
|
<summary>
|
||||||
|
Configures an option instance by using <see cref="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object)"/> against an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options to bind.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.NamedConfigureFromConfigurationOptions`1.#ctor(System.String,Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Constructor that takes the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance to bind against.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the options instance.</param>
|
||||||
|
<param name="config">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.Options.NamedConfigureFromConfigurationOptions`1.#ctor(System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Constructor that takes the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance to bind against.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the options instance.</param>
|
||||||
|
<param name="config">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> instance.</param>
|
||||||
|
<param name="configureBinder">Used to configure the <see cref="T:Microsoft.Extensions.Configuration.BinderOptions"/>.</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions">
|
||||||
|
<summary>
|
||||||
|
Extension methods for adding configuration related options services to the DI container via <see cref="T:Microsoft.Extensions.Options.OptionsBuilder`1"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.Bind``1(Microsoft.Extensions.Options.OptionsBuilder{``0},Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance which <typeparamref name="TOptions"/> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The options type to be configured.</typeparam>
|
||||||
|
<param name="optionsBuilder">The options builder to add the services to.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Options.OptionsBuilder`1"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.Bind``1(Microsoft.Extensions.Options.OptionsBuilder{``0},Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance which <typeparamref name="TOptions"/> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The options type to be configured.</typeparam>
|
||||||
|
<param name="optionsBuilder">The options builder to add the services to.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<param name="configureBinder">Used to configure the <see cref="T:Microsoft.Extensions.Configuration.BinderOptions"/>.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Options.OptionsBuilder`1"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.BindConfiguration``1(Microsoft.Extensions.Options.OptionsBuilder{``0},System.String,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Registers the dependency injection container to bind <typeparamref name="TOptions"/> against
|
||||||
|
the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> obtained from the DI service provider.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The options type to be configured.</typeparam>
|
||||||
|
<param name="optionsBuilder">The options builder to add the services to.</param>
|
||||||
|
<param name="configSectionPath">The name of the configuration section to bind from.</param>
|
||||||
|
<param name="configureBinder">Optional. Used to configure the <see cref="T:Microsoft.Extensions.Configuration.BinderOptions"/>.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.Options.OptionsBuilder`1"/> so that additional calls can be chained.</returns>
|
||||||
|
<exception cref="T:System.ArgumentNullException">
|
||||||
|
<paramref name="optionsBuilder"/> or <paramref name="configSectionPath" /> is <see langword="null"/>.
|
||||||
|
</exception>
|
||||||
|
<seealso cref="M:Microsoft.Extensions.DependencyInjection.OptionsBuilderConfigurationExtensions.Bind``1(Microsoft.Extensions.Options.OptionsBuilder{``0},Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})"/>
|
||||||
|
</member>
|
||||||
|
<member name="T:Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions">
|
||||||
|
<summary>
|
||||||
|
Extension methods for adding configuration-related options services to the DI container.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance that <typeparamref name="TOptions" /> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options being configured.</typeparam>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to add the services to.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration)">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance that <typeparamref name="TOptions" /> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options being configured.</typeparam>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to add the services to.</param>
|
||||||
|
<param name="name">The name of the options instance.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance that <typeparamref name="TOptions" /> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options being configured.</typeparam>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to add the services to.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<param name="configureBinder">Used to configure the <see cref="T:Microsoft.Extensions.Configuration.BinderOptions"/>.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure``1(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
|
||||||
|
<summary>
|
||||||
|
Registers a configuration instance that <typeparamref name="TOptions" /> will bind against.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TOptions">The type of options being configured.</typeparam>
|
||||||
|
<param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to add the services to.</param>
|
||||||
|
<param name="name">The name of the options instance.</param>
|
||||||
|
<param name="config">The configuration being bound.</param>
|
||||||
|
<param name="configureBinder">Used to configure the <see cref="T:Microsoft.Extensions.Configuration.BinderOptions"/>.</param>
|
||||||
|
<returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
|
||||||
|
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
|
||||||
|
<param name="argument">The reference type argument to validate as non-null.</param>
|
||||||
|
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
|
||||||
|
if the specified string is <see langword="null"/> or whitespace respectively.
|
||||||
|
</summary>
|
||||||
|
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
|
||||||
|
<param name="paramName">The name of the parameter being checked.</param>
|
||||||
|
<returns>The original value of <paramref name="argument"/>.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
|
||||||
|
<summary>
|
||||||
|
Attribute used to indicate a source generator should create a function for marshalling
|
||||||
|
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This attribute is meaningless if the source generator associated with it is not enabled.
|
||||||
|
The current built-in source generator only supports C# and only supplies an implementation when
|
||||||
|
applied to static, partial, non-generic methods.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
|
||||||
|
</summary>
|
||||||
|
<param name="libraryName">Name of the library containing the import.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
|
||||||
|
<summary>
|
||||||
|
Gets the name of the library containing the import.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the name of the entry point to be called.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Gets or sets how to marshal string arguments to the method.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
|
||||||
|
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
|
||||||
|
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
|
||||||
|
<summary>
|
||||||
|
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
|
||||||
|
on other platforms) before returning from the attributed method.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Runtime.InteropServices.StringMarshalling">
|
||||||
|
<summary>
|
||||||
|
Specifies how strings should be marshalled for generated p/invokes
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
|
||||||
|
<summary>
|
||||||
|
Indicates the user is supplying a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-8 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
|
||||||
|
<summary>
|
||||||
|
Use the platform-provided UTF-16 marshaller.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
|
||||||
|
for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which members are being accessed during the execution
|
||||||
|
of a program.
|
||||||
|
|
||||||
|
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
|
||||||
|
|
||||||
|
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
|
||||||
|
that the string represents a fully qualified type name.
|
||||||
|
|
||||||
|
When this attribute is applied to a class, interface, or struct, the members specified
|
||||||
|
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
|
||||||
|
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
|
||||||
|
|
||||||
|
If the attribute is applied to a method it's treated as a special case and it implies
|
||||||
|
the attribute should be applied to the "this" parameter of the method. As such the attribute
|
||||||
|
should only be used on instance methods of types assignable to System.Type (or string, but no methods
|
||||||
|
will use it there).
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
|
||||||
|
with the specified member types.
|
||||||
|
</summary>
|
||||||
|
<param name="memberTypes">The types of members dynamically accessed.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
|
||||||
|
<summary>
|
||||||
|
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
|
||||||
|
of members dynamically accessed.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies the types of members that are dynamically accessed.
|
||||||
|
|
||||||
|
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
|
||||||
|
bitwise combination of its member values.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
|
||||||
|
<summary>
|
||||||
|
Specifies no members.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
|
||||||
|
<summary>
|
||||||
|
Specifies the default, parameterless public constructor.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
|
||||||
|
<summary>
|
||||||
|
Specifies all public constructors.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public constructors.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
|
||||||
|
<summary>
|
||||||
|
Specifies all public methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
|
||||||
|
<summary>
|
||||||
|
Specifies all public fields.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public fields.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies all public nested types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public nested types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
|
||||||
|
<summary>
|
||||||
|
Specifies all public properties.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public properties.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
|
||||||
|
<summary>
|
||||||
|
Specifies all public events.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
|
||||||
|
<summary>
|
||||||
|
Specifies all non-public events.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
|
||||||
|
<summary>
|
||||||
|
Specifies all interfaces implemented by the type.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
|
||||||
|
<summary>
|
||||||
|
Specifies all members.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that the specified method requires the ability to generate new code at runtime,
|
||||||
|
for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
|
||||||
|
with the specified message.
|
||||||
|
</summary>
|
||||||
|
<param name="message">
|
||||||
|
A message that contains information about the usage of dynamic code.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
|
||||||
|
<summary>
|
||||||
|
Gets a message that contains information about the usage of dynamic code.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional URL that contains more information about the method,
|
||||||
|
why it requires dynamic code, and what options a consumer has to deal with it.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute">
|
||||||
|
<summary>
|
||||||
|
Indicates that the specified method requires dynamic access to code that is not referenced
|
||||||
|
statically, for example through <see cref="N:System.Reflection"/>.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
This allows tools to understand which methods are unsafe to call when removing unreferenced
|
||||||
|
code from an application.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute"/> class
|
||||||
|
with the specified message.
|
||||||
|
</summary>
|
||||||
|
<param name="message">
|
||||||
|
A message that contains information about the usage of unreferenced code.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Message">
|
||||||
|
<summary>
|
||||||
|
Gets a message that contains information about the usage of unreferenced code.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute.Url">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional URL that contains more information about the method,
|
||||||
|
why it requires unreferenced code, and what options a consumer has to deal with it.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
|
||||||
|
<summary>
|
||||||
|
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
|
||||||
|
single code artifact.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
|
||||||
|
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
|
||||||
|
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
|
||||||
|
<summary>
|
||||||
|
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
|
||||||
|
class, specifying the category of the tool and the identifier for an analysis rule.
|
||||||
|
</summary>
|
||||||
|
<param name="category">The category for the attribute.</param>
|
||||||
|
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
|
||||||
|
<summary>
|
||||||
|
Gets the category identifying the classification of the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
|
||||||
|
for which a message suppression attribute applies.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
|
||||||
|
<summary>
|
||||||
|
Gets the identifier of the analysis tool rule to be suppressed.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
|
||||||
|
properties form a unique check identifier.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the scope of the code that is relevant for the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The Scope property is an optional argument that specifies the metadata scope for which
|
||||||
|
the attribute is relevant.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
|
||||||
|
<summary>
|
||||||
|
Gets or sets a fully qualified path that represents the target of the attribute.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
|
||||||
|
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
|
||||||
|
Because it is fully qualified, it can be long, particularly for targets such as parameters.
|
||||||
|
The analysis tool user interface should be capable of automatically formatting the parameter.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
|
||||||
|
<summary>
|
||||||
|
Gets or sets an optional argument expanding on exclusion criteria.
|
||||||
|
</summary>
|
||||||
|
<remarks>
|
||||||
|
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
|
||||||
|
exclusion where the literal metadata target is not sufficiently precise. For example,
|
||||||
|
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
|
||||||
|
and it may be desirable to suppress a violation against a statement in the method that will
|
||||||
|
give a rule violation, but not against all statements in the method.
|
||||||
|
</remarks>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
|
||||||
|
<summary>
|
||||||
|
Gets or sets the justification for suppressing the code analysis message.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
|
||||||
|
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
|
||||||
|
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
|
||||||
|
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
|
||||||
|
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter may be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
|
||||||
|
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated parameter will not be null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
|
||||||
|
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with the associated parameter name.</summary>
|
||||||
|
<param name="parameterName">
|
||||||
|
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
|
||||||
|
<summary>Gets the associated parameter name.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
|
||||||
|
<summary>Applied to a method that will never return under any circumstance.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
|
||||||
|
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
|
||||||
|
<summary>Initializes the attribute with the specified parameter value.</summary>
|
||||||
|
<param name="parameterValue">
|
||||||
|
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
|
||||||
|
the associated parameter matches this value.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
|
||||||
|
<summary>Gets the condition parameter value.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
|
||||||
|
<summary>Initializes the attribute with a field or property member.</summary>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
|
||||||
|
<summary>Initializes the attribute with the list of field and property members.</summary>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
|
||||||
|
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field or property member will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="member">
|
||||||
|
The field or property member that is promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
|
||||||
|
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
|
||||||
|
<param name="returnValue">
|
||||||
|
The return value condition. If the method returns this value, the associated field and property members will not be null.
|
||||||
|
</param>
|
||||||
|
<param name="members">
|
||||||
|
The list of field and property members that are promised to be not-null.
|
||||||
|
</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
|
||||||
|
<summary>Gets the return value condition.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
|
||||||
|
<summary>Gets field or property member names.</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.pdb
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.pdb
Normal file
Binary file not shown.
9621
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.xml
Normal file
9621
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.OOXML.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.pdb
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.pdb
Normal file
Binary file not shown.
43613
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.xml
Normal file
43613
server_baseline/MES_ManageV20250916_20260725/Bin/NPOI.xml
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/SkiaSharp.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/SkiaSharp.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/SkiaSharp.pdb
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/SkiaSharp.pdb
Normal file
Binary file not shown.
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/Spire.Pdf.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/Spire.Pdf.dll
Normal file
Binary file not shown.
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/Spire.XLS.dll
Normal file
BIN
server_baseline/MES_ManageV20250916_20260725/Bin/Spire.XLS.dll
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Buffers</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Buffers.ArrayPool`1">
|
||||||
|
<summary>Provides a resource pool that enables reusing instances of type <see cref="T[]"></see>.</summary>
|
||||||
|
<typeparam name="T">The type of the objects that are in the resource pool.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.#ctor">
|
||||||
|
<summary>Initializes a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Create">
|
||||||
|
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class.</summary>
|
||||||
|
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Create(System.Int32,System.Int32)">
|
||||||
|
<summary>Creates a new instance of the <see cref="T:System.Buffers.ArrayPool`1"></see> class using the specifed configuration.</summary>
|
||||||
|
<param name="maxArrayLength">The maximum length of an array instance that may be stored in the pool.</param>
|
||||||
|
<param name="maxArraysPerBucket">The maximum number of array instances that may be stored in each bucket in the pool. The pool groups arrays of similar lengths into buckets for faster access.</param>
|
||||||
|
<returns>A new instance of the <see cref="System.Buffers.ArrayPool`1"></see> class with the specified configuration.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Rent(System.Int32)">
|
||||||
|
<summary>Retrieves a buffer that is at least the requested length.</summary>
|
||||||
|
<param name="minimumLength">The minimum length of the array.</param>
|
||||||
|
<returns>An array of type <see cref="T[]"></see> that is at least <paramref name="minimumLength">minimumLength</paramref> in length.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)">
|
||||||
|
<summary>Returns an array to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method on the same <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
|
||||||
|
<param name="array">A buffer to return to the pool that was previously obtained using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method.</param>
|
||||||
|
<param name="clearArray">Indicates whether the contents of the buffer should be cleared before reuse. If <paramref name="clearArray">clearArray</paramref> is set to true, and if the pool will store the buffer to enable subsequent reuse, the <see cref="M:System.Buffers.ArrayPool`1.Return(`0[],System.Boolean)"></see> method will clear the <paramref name="array">array</paramref> of its contents so that a subsequent caller using the <see cref="M:System.Buffers.ArrayPool`1.Rent(System.Int32)"></see> method will not see the content of the previous caller. If <paramref name="clearArray">clearArray</paramref> is set to false or if the pool will release the buffer, the array&#39;s contents are left unchanged.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Buffers.ArrayPool`1.Shared">
|
||||||
|
<summary>Gets a shared <see cref="T:System.Buffers.ArrayPool`1"></see> instance.</summary>
|
||||||
|
<returns>A shared <see cref="System.Buffers.ArrayPool`1"></see> instance.</returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,355 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Memory</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Span`1">
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(System.Void*,System.Int32)">
|
||||||
|
<param name="pointer"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[],System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.#ctor(`0[],System.Int32,System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Clear">
|
||||||
|
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.CopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.DangerousCreate(System.Object,`0@,System.Int32)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<param name="objectData"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.DangerousGetPinnableReference">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Empty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Equals(System.Object)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Fill(`0)">
|
||||||
|
<param name="value"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.GetHashCode">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.IsEmpty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Item(System.Int32)">
|
||||||
|
<param name="index"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.Span`1.Length">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Equality(System.Span{`0},System.Span{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(System.ArraySegment{T})~System.Span{T}">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(System.Span{T})~System.ReadOnlySpan{T}">
|
||||||
|
<param name="span"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Implicit(T[])~System.Span{T}">
|
||||||
|
<param name="array"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.op_Inequality(System.Span{`0},System.Span{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Slice(System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.Slice(System.Int32,System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.ToArray">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Span`1.TryCopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.SpanExtensions">
|
||||||
|
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsBytes``1(System.Span{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan(System.String)">
|
||||||
|
<param name="text"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan``1(System.ArraySegment{``0})">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.AsSpan``1(``0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.CopyTo``1(``0[],System.Span{``0})">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="destination"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.Span{System.Byte},System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOf``1(System.Span{``0},``0)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<param name="value2"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<param name="value2"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="values"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="values"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.IndexOfAny(System.ReadOnlySpan{System.Byte},System.Byte,System.Byte)">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value0"></param>
|
||||||
|
<param name="value1"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.NonPortableCast``2(System.ReadOnlySpan{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="TFrom"></typeparam>
|
||||||
|
<typeparam name="TTo"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.NonPortableCast``2(System.Span{``0})">
|
||||||
|
<param name="source"></param>
|
||||||
|
<typeparam name="TFrom"></typeparam>
|
||||||
|
<typeparam name="TTo"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.SequenceEqual``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="first"></param>
|
||||||
|
<param name="second"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith(System.ReadOnlySpan{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith(System.Span{System.Byte},System.ReadOnlySpan{System.Byte})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith``1(System.ReadOnlySpan{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.SpanExtensions.StartsWith``1(System.Span{``0},System.ReadOnlySpan{``0})">
|
||||||
|
<param name="span"></param>
|
||||||
|
<param name="value"></param>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:System.ReadOnlySpan`1">
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[])">
|
||||||
|
<param name="array"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(System.Void*,System.Int32)">
|
||||||
|
<param name="pointer"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.#ctor(`0[],System.Int32,System.Int32)">
|
||||||
|
<param name="array"></param>
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.CopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.DangerousCreate(System.Object,`0@,System.Int32)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<param name="objectData"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.DangerousGetPinnableReference">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Empty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Equals(System.Object)">
|
||||||
|
<param name="obj"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.GetHashCode">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.IsEmpty">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Item(System.Int32)">
|
||||||
|
<param name="index"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:System.ReadOnlySpan`1.Length">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Equality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Implicit(System.ArraySegment{T})~System.ReadOnlySpan{T}">
|
||||||
|
<param name="arraySegment"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Implicit(T[])~System.ReadOnlySpan{T}">
|
||||||
|
<param name="array"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.op_Inequality(System.ReadOnlySpan{`0},System.ReadOnlySpan{`0})">
|
||||||
|
<param name="left"></param>
|
||||||
|
<param name="right"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.Slice(System.Int32,System.Int32)">
|
||||||
|
<param name="start"></param>
|
||||||
|
<param name="length"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.ToArray">
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.ReadOnlySpan`1.TryCopyTo(System.Span{`0})">
|
||||||
|
<param name="destination"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,291 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>System.Runtime.CompilerServices.Unsafe</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="T:System.Runtime.CompilerServices.Unsafe">
|
||||||
|
<summary>Contains generic, low-level functionality for manipulating pointers.</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
|
||||||
|
<summary>Adds an element offset to the given reference.</summary>
|
||||||
|
<param name="source">The reference to add the offset to.</param>
|
||||||
|
<param name="elementOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the addition of offset to pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
|
||||||
|
<summary>Adds an element offset to the given reference.</summary>
|
||||||
|
<param name="source">The reference to add the offset to.</param>
|
||||||
|
<param name="elementOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the addition of offset to pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.UIntPtr)">
|
||||||
|
<summary>Adds an element offset to the given reference.</summary>
|
||||||
|
<param name="source">The reference to add the offset to.</param>
|
||||||
|
<param name="elementOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the addition of offset to pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(System.Void*,System.Int32)">
|
||||||
|
<summary>Adds an element offset to the given void pointer.</summary>
|
||||||
|
<param name="source">The void pointer to add the offset to.</param>
|
||||||
|
<param name="elementOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of void pointer.</typeparam>
|
||||||
|
<returns>A new void pointer that reflects the addition of offset to the specified pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
|
||||||
|
<summary>Adds a byte offset to the given reference.</summary>
|
||||||
|
<param name="source">The reference to add the offset to.</param>
|
||||||
|
<param name="byteOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.UIntPtr)">
|
||||||
|
<summary>Adds a byte offset to the given reference.</summary>
|
||||||
|
<param name="source">The reference to add the offset to.</param>
|
||||||
|
<param name="byteOffset">The offset to add.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
|
||||||
|
<summary>Determines whether the specified references point to the same location.</summary>
|
||||||
|
<param name="left">The first reference to compare.</param>
|
||||||
|
<param name="right">The second reference to compare.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>
|
||||||
|
<see langword="true" /> if <paramref name="left" /> and <paramref name="right" /> point to the same location; otherwise, <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
|
||||||
|
<summary>Casts the given object to the specified type.</summary>
|
||||||
|
<param name="o">The object to cast.</param>
|
||||||
|
<typeparam name="T">The type which the object will be cast to.</typeparam>
|
||||||
|
<returns>The original object, casted to the given type.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
|
||||||
|
<summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo" />.</summary>
|
||||||
|
<param name="source">The reference to reinterpret.</param>
|
||||||
|
<typeparam name="TFrom">The type of reference to reinterpret.</typeparam>
|
||||||
|
<typeparam name="TTo">The desired type of the reference.</typeparam>
|
||||||
|
<returns>A reference to a value of type <typeparamref name="TTo" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
|
||||||
|
<summary>Returns a pointer to the given by-ref parameter.</summary>
|
||||||
|
<param name="value">The object whose pointer is obtained.</param>
|
||||||
|
<typeparam name="T">The type of object.</typeparam>
|
||||||
|
<returns>A pointer to the given value.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(``0@)">
|
||||||
|
<summary>Reinterprets the given read-only reference as a reference.</summary>
|
||||||
|
<param name="source">The read-only reference to reinterpret.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A reference to a value of type <typeparamref name="T" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
|
||||||
|
<summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T" />.</summary>
|
||||||
|
<param name="source">The location of the value to reference.</param>
|
||||||
|
<typeparam name="T">The type of the interpreted location.</typeparam>
|
||||||
|
<returns>A reference to a value of type <typeparamref name="T" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
|
||||||
|
<summary>Determines the byte offset from origin to target from the given references.</summary>
|
||||||
|
<param name="origin">The reference to origin.</param>
|
||||||
|
<param name="target">The reference to target.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>Byte offset from origin to target i.e. <paramref name="target" /> - <paramref name="origin" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
|
||||||
|
<summary>Copies a value of type <typeparamref name="T" /> to the given location.</summary>
|
||||||
|
<param name="destination">The location to copy to.</param>
|
||||||
|
<param name="source">A pointer to the value to copy.</param>
|
||||||
|
<typeparam name="T">The type of value to copy.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
|
||||||
|
<summary>Copies a value of type <typeparamref name="T" /> to the given location.</summary>
|
||||||
|
<param name="destination">The location to copy to.</param>
|
||||||
|
<param name="source">A reference to the value to copy.</param>
|
||||||
|
<typeparam name="T">The type of value to copy.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
|
||||||
|
<summary>Copies bytes from the source address to the destination address.</summary>
|
||||||
|
<param name="destination">The destination address to copy to.</param>
|
||||||
|
<param name="source">The source address to copy from.</param>
|
||||||
|
<param name="byteCount">The number of bytes to copy.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
|
||||||
|
<summary>Copies bytes from the source address to the destination address.</summary>
|
||||||
|
<param name="destination">The destination address to copy to.</param>
|
||||||
|
<param name="source">The source address to copy from.</param>
|
||||||
|
<param name="byteCount">The number of bytes to copy.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
|
||||||
|
<summary>Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="destination">The destination address to copy to.</param>
|
||||||
|
<param name="source">The source address to copy from.</param>
|
||||||
|
<param name="byteCount">The number of bytes to copy.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
|
||||||
|
<summary>Copies bytes from the source address to the destination address without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="destination">The destination address to copy to.</param>
|
||||||
|
<param name="source">The source address to copy from.</param>
|
||||||
|
<param name="byteCount">The number of bytes to copy.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
|
||||||
|
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
|
||||||
|
<param name="startAddress">The address of the start of the memory block to initialize.</param>
|
||||||
|
<param name="value">The value to initialize the block to.</param>
|
||||||
|
<param name="byteCount">The number of bytes to initialize.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
|
||||||
|
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
|
||||||
|
<param name="startAddress">The address of the start of the memory block to initialize.</param>
|
||||||
|
<param name="value">The value to initialize the block to.</param>
|
||||||
|
<param name="byteCount">The number of bytes to initialize.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
|
||||||
|
<summary>Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.</summary>
|
||||||
|
<param name="startAddress">The address of the start of the memory block to initialize.</param>
|
||||||
|
<param name="value">The value to initialize the block to.</param>
|
||||||
|
<param name="byteCount">The number of bytes to initialize.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
|
||||||
|
<summary>Initializes a block of memory at the given location with a given initial value without assuming architecture dependent alignment of the address.</summary>
|
||||||
|
<param name="startAddress">The address of the start of the memory block to initialize.</param>
|
||||||
|
<param name="value">The value to initialize the block to.</param>
|
||||||
|
<param name="byteCount">The number of bytes to initialize.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressGreaterThan``1(``0@,``0@)">
|
||||||
|
<summary>Returns a value that indicates whether a specified reference is greater than another specified reference.</summary>
|
||||||
|
<param name="left">The first value to compare.</param>
|
||||||
|
<param name="right">The second value to compare.</param>
|
||||||
|
<typeparam name="T">The type of the reference.</typeparam>
|
||||||
|
<returns>
|
||||||
|
<see langword="true" /> if <paramref name="left" /> is greater than <paramref name="right" />; otherwise, <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.IsAddressLessThan``1(``0@,``0@)">
|
||||||
|
<summary>Returns a value that indicates whether a specified reference is less than another specified reference.</summary>
|
||||||
|
<param name="left">The first value to compare.</param>
|
||||||
|
<param name="right">The second value to compare.</param>
|
||||||
|
<typeparam name="T">The type of the reference.</typeparam>
|
||||||
|
<returns>
|
||||||
|
<see langword="true" /> if <paramref name="left" /> is less than <paramref name="right" />; otherwise, <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.IsNullRef``1(``0@)">
|
||||||
|
<summary>Determines if a given reference to a value of type <typeparamref name="T" /> is a null reference.</summary>
|
||||||
|
<param name="source">The reference to check.</param>
|
||||||
|
<typeparam name="T">The type of the reference.</typeparam>
|
||||||
|
<returns>
|
||||||
|
<see langword="true" /> if <paramref name="source" /> is a null reference; otherwise, <see langword="false" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.NullRef``1">
|
||||||
|
<summary>Returns a reference to a value of type <typeparamref name="T" /> that is a null reference.</summary>
|
||||||
|
<typeparam name="T">The type of the reference.</typeparam>
|
||||||
|
<returns>A reference to a value of type <typeparamref name="T" /> that is a null reference.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
|
||||||
|
<summary>Reads a value of type <typeparamref name="T" /> from the given location.</summary>
|
||||||
|
<param name="source">The location to read from.</param>
|
||||||
|
<typeparam name="T">The type to read.</typeparam>
|
||||||
|
<returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
|
||||||
|
<summary>Reads a value of type <typeparamref name="T" /> from the given location without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="source">The location to read from.</param>
|
||||||
|
<typeparam name="T">The type to read.</typeparam>
|
||||||
|
<returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
|
||||||
|
<summary>Reads a value of type <typeparamref name="T" /> from the given location without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="source">The location to read from.</param>
|
||||||
|
<typeparam name="T">The type to read.</typeparam>
|
||||||
|
<returns>An object of type <typeparamref name="T" /> read from the given location.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
|
||||||
|
<summary>Returns the size of an object of the given type parameter.</summary>
|
||||||
|
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
|
||||||
|
<returns>The size of an object of type <typeparamref name="T" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.SkipInit``1(``0@)">
|
||||||
|
<summary>Bypasses definite assignment rules for a given value.</summary>
|
||||||
|
<param name="value">The uninitialized object.</param>
|
||||||
|
<typeparam name="T">The type of the uninitialized object.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
|
||||||
|
<summary>Subtracts an element offset from the given reference.</summary>
|
||||||
|
<param name="source">The reference to subtract the offset from.</param>
|
||||||
|
<param name="elementOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the subtraction of offset from pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
|
||||||
|
<summary>Subtracts an element offset from the given reference.</summary>
|
||||||
|
<param name="source">The reference to subtract the offset from.</param>
|
||||||
|
<param name="elementOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the subtraction of offset from pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.UIntPtr)">
|
||||||
|
<summary>Subtracts an element offset from the given reference.</summary>
|
||||||
|
<param name="source">The reference to subtract the offset from.</param>
|
||||||
|
<param name="elementOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(System.Void*,System.Int32)">
|
||||||
|
<summary>Subtracts an element offset from the given void pointer.</summary>
|
||||||
|
<param name="source">The void pointer to subtract the offset from.</param>
|
||||||
|
<param name="elementOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of the void pointer.</typeparam>
|
||||||
|
<returns>A new void pointer that reflects the subtraction of offset from the specified pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
|
||||||
|
<summary>Subtracts a byte offset from the given reference.</summary>
|
||||||
|
<param name="source">The reference to subtract the offset from.</param>
|
||||||
|
<param name="byteOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the subtraction of byte offset from pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.UIntPtr)">
|
||||||
|
<summary>Subtracts a byte offset from the given reference.</summary>
|
||||||
|
<param name="source">The reference to subtract the offset from.</param>
|
||||||
|
<param name="byteOffset">The offset to subtract.</param>
|
||||||
|
<typeparam name="T">The type of reference.</typeparam>
|
||||||
|
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Unbox``1(System.Object)">
|
||||||
|
<summary>Returns a <see langword="mutable ref" /> to a boxed value.</summary>
|
||||||
|
<param name="box">The value to unbox.</param>
|
||||||
|
<typeparam name="T">The type to be unboxed.</typeparam>
|
||||||
|
<exception cref="T:System.NullReferenceException">
|
||||||
|
<paramref name="box" /> is <see langword="null" />, and <typeparamref name="T" /> is a non-nullable value type.</exception>
|
||||||
|
<exception cref="T:System.InvalidCastException">
|
||||||
|
<paramref name="box" /> is not a boxed value type.
|
||||||
|
|
||||||
|
-or-
|
||||||
|
|
||||||
|
<paramref name="box" /> is not a boxed <typeparamref name="T" />.</exception>
|
||||||
|
<exception cref="T:System.TypeLoadException">
|
||||||
|
<typeparamref name="T" /> cannot be found.</exception>
|
||||||
|
<returns>A <see langword="mutable ref" /> to the boxed value <paramref name="box" />.</returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
|
||||||
|
<summary>Writes a value of type <typeparamref name="T" /> to the given location.</summary>
|
||||||
|
<param name="destination">The location to write to.</param>
|
||||||
|
<param name="value">The value to write.</param>
|
||||||
|
<typeparam name="T">The type of value to write.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
|
||||||
|
<summary>Writes a value of type <typeparamref name="T" /> to the given location without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="destination">The location to write to.</param>
|
||||||
|
<param name="value">The value to write.</param>
|
||||||
|
<typeparam name="T">The type of value to write.</typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
|
||||||
|
<summary>Writes a value of type <typeparamref name="T" /> to the given location without assuming architecture dependent alignment of the addresses.</summary>
|
||||||
|
<param name="destination">The location to write to.</param>
|
||||||
|
<param name="value">The value to write.</param>
|
||||||
|
<typeparam name="T">The type of value to write.</typeparam>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user