更新装配、精工车间、技术中心、仓储模块,新增工序工价、生产审核、三楼仓库可视化等功能及文档SQL
This commit is contained in:
94
sql/三楼仓库可视化_存储过程.sql
Normal file
94
sql/三楼仓库可视化_存储过程.sql
Normal file
@@ -0,0 +1,94 @@
|
||||
-- 三楼仓库可视化 - 库位查询存储过程
|
||||
-- 创建时间: 2026-06-30
|
||||
-- 说明: 查询三楼仓库库位列表及状态(三段式库位编码: 排号-列号-层号)
|
||||
-- 状态: 0=空闲, 1=有物料无库存, 2=有库存
|
||||
-- 矩阵布局: 竖向排号,横向列号
|
||||
|
||||
IF EXISTS (SELECT name FROM sys.procedures WHERE name = '仓储管理_三楼仓库库位_查询数据')
|
||||
DROP PROCEDURE 仓储管理_三楼仓库库位_查询数据
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[仓储管理_三楼仓库库位_查询数据]
|
||||
@排号_check bit = 0,
|
||||
@排号 nvarchar(50) = NULL,
|
||||
@库位编号_check bit = 0,
|
||||
@库位编号 nvarchar(50) = NULL,
|
||||
@库位状态_check bit = 0,
|
||||
@库位状态 int = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT
|
||||
h.货位名称 AS 库位编号,
|
||||
h.货位名称 AS 库位名称,
|
||||
CASE
|
||||
WHEN EXISTS (SELECT 1 FROM 库存管理_物料与货位对照表 ml WHERE ml.货位流水号 = h.货位流水号 AND ml.货位存量 > 0) THEN 2
|
||||
WHEN EXISTS (SELECT 1 FROM 库存管理_物料主文件_基本 m WHERE m.货位流水号 = h.货位流水号) THEN 1
|
||||
ELSE 0
|
||||
END AS 状态,
|
||||
PARSENAME(REPLACE(h.货位名称, '-', '.'), 3) AS 排号,
|
||||
CAST(PARSENAME(REPLACE(h.货位名称, '-', '.'), 2) AS int) AS 列号,
|
||||
PARSENAME(REPLACE(h.货位名称, '-', '.'), 1) AS 层号,
|
||||
h.货位流水号
|
||||
INTO #TempLocations
|
||||
FROM 库存管理_货位主文件 h
|
||||
WHERE LEN(h.货位名称) - LEN(REPLACE(h.货位名称, '-', '')) = 2
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, '-', '.'), 3)) = 1
|
||||
|
||||
DECLARE @sql nvarchar(4000)
|
||||
SET @sql = 'SELECT 库位编号, 库位名称, 状态, 排号, 列号, 层号, 货位流水号 FROM #TempLocations WHERE 1=1'
|
||||
|
||||
IF @排号_check = 1 AND @排号 IS NOT NULL
|
||||
SET @sql = @sql + ' AND 排号 = @p_row'
|
||||
|
||||
IF @库位编号_check = 1 AND @库位编号 IS NOT NULL
|
||||
SET @sql = @sql + ' AND 库位编号 LIKE ''%'' + @p_code + ''%'''
|
||||
|
||||
IF @库位状态_check = 1 AND @库位状态 IS NOT NULL
|
||||
SET @sql = @sql + ' AND 状态 = @p_status'
|
||||
|
||||
SET @sql = @sql + ' ORDER BY 排号, 列号, 层号'
|
||||
|
||||
EXEC sp_executesql @sql,
|
||||
N'@p_row nvarchar(50), @p_code nvarchar(50), @p_status int',
|
||||
@p_row = @排号, @p_code = @库位编号, @p_status = @库位状态
|
||||
|
||||
DROP TABLE #TempLocations
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
-- 三楼仓库可视化 - 库位物料查询存储过程
|
||||
-- 创建时间: 2026-06-30
|
||||
-- 说明: 按库位编号查询三楼仓库库位上的物料明细
|
||||
|
||||
IF EXISTS (SELECT name FROM sys.procedures WHERE name = '仓储管理_三楼仓库库位物料_查询数据')
|
||||
DROP PROCEDURE 仓储管理_三楼仓库库位物料_查询数据
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[仓储管理_三楼仓库库位物料_查询数据]
|
||||
@库位编号_check bit = 0,
|
||||
@库位编号 nvarchar(50) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @库位编号_check = 1 AND @库位编号 IS NOT NULL
|
||||
BEGIN
|
||||
SELECT
|
||||
m.物料编码 AS 物料编号,
|
||||
m.名称 AS 物料名称,
|
||||
m.代号 AS 图号,
|
||||
m.规格 AS 规格型号,
|
||||
ISNULL(ml.货位存量, 0) AS 库存数量,
|
||||
ISNULL(m.库存计量单位, '台') AS 单位,
|
||||
ISNULL(ml.批次号, '') AS 批次
|
||||
FROM 库存管理_货位主文件 h
|
||||
INNER JOIN 库存管理_物料主文件_基本 m ON h.货位流水号 = m.货位流水号
|
||||
LEFT JOIN 库存管理_物料与货位对照表 ml ON m.物料流水号 = ml.物料流水号 AND ml.货位流水号 = h.货位流水号
|
||||
WHERE h.货位名称 = @库位编号
|
||||
ORDER BY m.物料编码
|
||||
END
|
||||
END
|
||||
GO
|
||||
Reference in New Issue
Block a user