更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本
This commit is contained in:
185
sql/生产审核_操作者人名查询修复.sql
Normal file
185
sql/生产审核_操作者人名查询修复.sql
Normal file
@@ -0,0 +1,185 @@
|
||||
-- 生产审核操作者输入框按人名查询兼容工作者和录工票人员;修改人:Ld 修改时间:2026-07-23 16:08:35;
|
||||
ALTER PROCEDURE [dbo].[机加工MES_加工完成整修审核_查询数据]
|
||||
@审核状态_check INT = 0,
|
||||
@审核状态 NVARCHAR(20) = N'',
|
||||
@审核类型_check INT = 0,
|
||||
@审核类型 NVARCHAR(50) = N'',
|
||||
@操作者_check INT = 0,
|
||||
@操作者 NVARCHAR(100) = N'',
|
||||
@时间_check INT = 0,
|
||||
@开始时间 NVARCHAR(20) = N'',
|
||||
@结束时间 NVARCHAR(20) = N'',
|
||||
@PageCurrent INT = 1,
|
||||
@PageSize INT = 100
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @PageCurrent IS NULL OR @PageCurrent < 1 SET @PageCurrent = 1;
|
||||
IF @PageSize IS NULL OR @PageSize < 1 SET @PageSize = 100;
|
||||
|
||||
;WITH AuditData AS (
|
||||
SELECT
|
||||
ROW_NUMBER() OVER (
|
||||
ORDER BY
|
||||
CASE WHEN A.审核状态 = N'待审核' THEN 0 ELSE 1 END,
|
||||
A.提交时间 DESC,
|
||||
A.id DESC
|
||||
) AS RowNum,
|
||||
A.id,
|
||||
A.审核类型,
|
||||
A.审核状态,
|
||||
V.订单号,
|
||||
V.产品名称,
|
||||
V.零件名称,
|
||||
V.零件图号,
|
||||
V.工序,
|
||||
V.工艺计划流水号,
|
||||
V.数量 AS 投产数量,
|
||||
V.已完成数,
|
||||
V.工序顺序,
|
||||
V.物料编码,
|
||||
V.材料,
|
||||
A.工序流水号,
|
||||
A.工作者考勤编号,
|
||||
工作者.姓名 AS 工作者姓名,
|
||||
A.完成数量,
|
||||
A.完成类型,
|
||||
ISNULL(NULLIF(A.计价方式, N''), N'计件') AS 计价方式,
|
||||
CASE WHEN ISNULL(A.单件工价, 0) <> 0 THEN A.单件工价 ELSE ISNULL(priceData.单件工价, 0) END AS 单件工价,
|
||||
ISNULL(A.单时工价, 0) AS 单时工价,
|
||||
A.录工票人员编号,
|
||||
录工票人员.姓名 AS 录工票人员姓名,
|
||||
A.工位号,
|
||||
ISNULL(SB.设备名称, A.设备名) AS 工位设备名称,
|
||||
A.备注,
|
||||
A.剩余工时,
|
||||
A.剩余数量,
|
||||
A.设备号,
|
||||
A.设备名,
|
||||
A.操作者,
|
||||
-- 操作者人名查询兼容操作者、工作者和录工票人员;修改人:Ld 修改时间:2026-07-23 16:08:35;
|
||||
COALESCE(操作者人员.姓名, 工作者.姓名, 录工票人员.姓名, A.操作者) AS 操作者姓名,
|
||||
A.整修状态,
|
||||
A.整修记录id,
|
||||
A.整修方案,
|
||||
CONVERT(VARCHAR(19), A.开始时间, 120) AS 开始时间,
|
||||
CONVERT(VARCHAR(19), A.结束时间, 120) AS 结束时间,
|
||||
CONVERT(VARCHAR(19), A.提交时间, 120) AS 提交时间,
|
||||
A.审核人,
|
||||
审核人员.姓名 AS 审核人姓名,
|
||||
CONVERT(VARCHAR(19), A.审核时间, 120) AS 审核时间,
|
||||
A.审核意见,
|
||||
A.修改人,
|
||||
CONVERT(VARCHAR(19), A.修改时间, 120) AS 修改时间
|
||||
FROM [dbo].[MES_机加工MES_加工完成整修审核表] AS A
|
||||
LEFT JOIN [dbo].[车间生产管理_零件工序_视图] AS V
|
||||
ON A.工序流水号 = V.工序流水号
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 工作者
|
||||
ON A.工作者考勤编号 = 工作者.考勤编号
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 录工票人员
|
||||
ON A.录工票人员编号 = 录工票人员.序号
|
||||
OR A.录工票人员编号 = 录工票人员.人员编号
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 操作者人员
|
||||
ON A.操作者 = CONVERT(NVARCHAR(100), 操作者人员.人员编号)
|
||||
OR A.操作者 = CONVERT(NVARCHAR(100), 操作者人员.序号)
|
||||
OR A.操作者 = 操作者人员.姓名
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 审核人员
|
||||
ON A.审核人 = CONVERT(NVARCHAR(100), 审核人员.人员编号)
|
||||
OR A.审核人 = CONVERT(NVARCHAR(100), 审核人员.序号)
|
||||
OR A.审核人 = 审核人员.姓名
|
||||
LEFT JOIN [dbo].[基础数据_设备工位点检表] AS SB
|
||||
ON A.工位号 = SB.工位号
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1
|
||||
CASE
|
||||
WHEN ISNULL(price.[单件工价], 0) <> 0 THEN price.[单件工价]
|
||||
ELSE ISNULL(price.[最终单价(元/件)], 0)
|
||||
END AS 单件工价
|
||||
FROM [dbo].[车间生产管理工艺_工序工价] price
|
||||
WHERE price.工序流水号 = A.工序流水号
|
||||
AND ISNULL(price.是否启用, 1) = 1
|
||||
ORDER BY ISNULL(price.生效日期, CONVERT(DATE, '1900-01-01')) DESC, price.修改时间 DESC, price.工价流水号 DESC
|
||||
) priceData
|
||||
WHERE (@审核状态_check = 0 OR A.审核状态 = @审核状态)
|
||||
AND (@审核类型_check = 0 OR A.审核类型 = @审核类型)
|
||||
AND (
|
||||
@操作者_check = 0
|
||||
OR ISNULL(操作者人员.姓名, ISNULL(A.操作者, N'')) LIKE N'%' + @操作者 + N'%'
|
||||
OR ISNULL(工作者.姓名, N'') LIKE N'%' + @操作者 + N'%'
|
||||
OR ISNULL(录工票人员.姓名, N'') LIKE N'%' + @操作者 + N'%'
|
||||
)
|
||||
AND (@时间_check = 0 OR CONVERT(DATE, A.提交时间) BETWEEN CONVERT(DATE, @开始时间) AND CONVERT(DATE, @结束时间))
|
||||
)
|
||||
SELECT
|
||||
id,
|
||||
审核类型,
|
||||
审核状态,
|
||||
订单号,
|
||||
产品名称,
|
||||
零件名称,
|
||||
零件图号,
|
||||
工序,
|
||||
工艺计划流水号,
|
||||
投产数量,
|
||||
已完成数,
|
||||
工序顺序,
|
||||
物料编码,
|
||||
材料,
|
||||
工序流水号,
|
||||
工作者考勤编号,
|
||||
工作者姓名,
|
||||
完成数量,
|
||||
完成类型,
|
||||
计价方式,
|
||||
单件工价,
|
||||
单时工价,
|
||||
录工票人员编号,
|
||||
录工票人员姓名,
|
||||
工位号,
|
||||
工位设备名称,
|
||||
备注,
|
||||
剩余工时,
|
||||
剩余数量,
|
||||
设备号,
|
||||
设备名,
|
||||
操作者,
|
||||
操作者姓名,
|
||||
整修状态,
|
||||
整修记录id,
|
||||
整修方案,
|
||||
开始时间,
|
||||
结束时间,
|
||||
提交时间,
|
||||
审核人,
|
||||
审核人姓名,
|
||||
审核时间,
|
||||
审核意见,
|
||||
修改人,
|
||||
修改时间
|
||||
FROM AuditData
|
||||
WHERE RowNum BETWEEN ((@PageCurrent - 1) * @PageSize + 1) AND (@PageCurrent * @PageSize)
|
||||
ORDER BY RowNum;
|
||||
|
||||
SELECT COUNT(1) AS total
|
||||
FROM [dbo].[MES_机加工MES_加工完成整修审核表] AS A
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 工作者
|
||||
ON A.工作者考勤编号 = 工作者.考勤编号
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 录工票人员
|
||||
ON A.录工票人员编号 = 录工票人员.序号
|
||||
OR A.录工票人员编号 = 录工票人员.人员编号
|
||||
LEFT JOIN [dbo].[人事档案管理_人员名单] AS 操作者人员
|
||||
ON A.操作者 = CONVERT(NVARCHAR(100), 操作者人员.人员编号)
|
||||
OR A.操作者 = CONVERT(NVARCHAR(100), 操作者人员.序号)
|
||||
OR A.操作者 = 操作者人员.姓名
|
||||
WHERE (@审核状态_check = 0 OR A.审核状态 = @审核状态)
|
||||
AND (@审核类型_check = 0 OR A.审核类型 = @审核类型)
|
||||
AND (
|
||||
@操作者_check = 0
|
||||
OR ISNULL(操作者人员.姓名, ISNULL(A.操作者, N'')) LIKE N'%' + @操作者 + N'%'
|
||||
OR ISNULL(工作者.姓名, N'') LIKE N'%' + @操作者 + N'%'
|
||||
OR ISNULL(录工票人员.姓名, N'') LIKE N'%' + @操作者 + N'%'
|
||||
)
|
||||
AND (@时间_check = 0 OR CONVERT(DATE, A.提交时间) BETWEEN CONVERT(DATE, @开始时间) AND CONVERT(DATE, @结束时间));
|
||||
END;
|
||||
GO
|
||||
Reference in New Issue
Block a user