更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本
This commit is contained in:
105
sql/库房管理_库位_分页查询_测试库_20260731.sql
Normal file
105
sql/库房管理_库位_分页查询_测试库_20260731.sql
Normal file
@@ -0,0 +1,105 @@
|
||||
/*
|
||||
库房管理库位分页查询脚本(测试库 ERPTOOL_JY_20250826Back)
|
||||
修改人:Ld 修改时间:2026-07-31 14:19:37;
|
||||
说明:将库房管理新模块使用的库位查询过程改为分页版,不修改原仓储库位页面。
|
||||
*/
|
||||
|
||||
SET NOCOUNT ON;
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库位_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库位_查询;
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE dbo.库房管理_库位_查询
|
||||
@库房流水号 INT = NULL,
|
||||
@库区流水号 INT = NULL,
|
||||
@库位名称_check BIT = 0,
|
||||
@库位名称 NVARCHAR(50) = NULL,
|
||||
@库位状态_check BIT = 0,
|
||||
@库位状态 NVARCHAR(20) = NULL,
|
||||
@PageCurrent INT = NULL,
|
||||
@PageSize INT = NULL,
|
||||
@PageCount INT = NULL OUTPUT,
|
||||
@ItemCount INT = NULL OUTPUT
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @tbname NVARCHAR(MAX);
|
||||
DECLARE @fieldkey NVARCHAR(1000);
|
||||
DECLARE @where NVARCHAR(1000);
|
||||
DECLARE @fieldshow NVARCHAR(MAX);
|
||||
DECLARE @fieldOrder NVARCHAR(1000);
|
||||
DECLARE @locationName NVARCHAR(100);
|
||||
DECLARE @locationStatus NVARCHAR(100);
|
||||
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SET @库区流水号 = NULLIF(@库区流水号, 0);
|
||||
SET @locationName = REPLACE(ISNULL(@库位名称, N''), N'''', N'''''');
|
||||
SET @locationStatus = REPLACE(ISNULL(@库位状态, N''), N'''', N'''''');
|
||||
SET @PageCurrent = ISNULL(NULLIF(@PageCurrent, 0), 1);
|
||||
SET @PageSize = ISNULL(NULLIF(@PageSize, 0), 20);
|
||||
|
||||
SET @tbname = N'(
|
||||
SELECT
|
||||
h.货位流水号 AS 库位流水号,
|
||||
h.货位名称 AS 库位名称,
|
||||
h.库房流水号,
|
||||
k.库房名称,
|
||||
h.库区流水号,
|
||||
q.库区名称,
|
||||
h.排号,
|
||||
h.列号,
|
||||
h.层号,
|
||||
CASE
|
||||
WHEN ISNULL(h.是否启用, 1) = 0 THEN N''停用''
|
||||
WHEN ISNULL(s.库存数量, 0) > 0 AND ISNULL(h.库位容量, 0) > 0 AND ISNULL(s.库存数量, 0) >= ISNULL(h.库位容量, 0) THEN N''满库位''
|
||||
WHEN ISNULL(s.库存数量, 0) > 0 THEN N''有库存''
|
||||
ELSE ISNULL(h.库位状态, N''空库位'')
|
||||
END AS 库位状态,
|
||||
ISNULL(h.库位容量, 0) AS 库位容量,
|
||||
ISNULL(s.物料种类, 0) AS 物料种类,
|
||||
ISNULL(s.库存数量, 0) AS 库存数量,
|
||||
h.操作日期,
|
||||
h.修改时间
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
|
||||
LEFT JOIN dbo.库房管理_库区主文件 q ON h.库区流水号 = q.库区流水号
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT 货位流水号, COUNT(DISTINCT 物料流水号) AS 物料种类, SUM(ISNULL(货位存量, 0)) AS 库存数量
|
||||
FROM dbo.库存管理_物料与货位对照表
|
||||
WHERE ISNULL(货位存量, 0) > 0
|
||||
GROUP BY 货位流水号
|
||||
) s ON h.货位流水号 = s.货位流水号
|
||||
) AS T';
|
||||
SET @fieldkey = N'库位流水号';
|
||||
SET @fieldshow = N'库位流水号,库位名称,库房流水号,库房名称,库区流水号,库区名称,排号,列号,层号,库位状态,库位容量,物料种类,库存数量,操作日期,修改时间';
|
||||
SET @fieldOrder = N'排号 ASC, 列号 ASC, 层号 ASC, 库位名称 ASC, 库位流水号 ASC';
|
||||
SET @where = N'1 = 1';
|
||||
|
||||
IF @库房流水号 IS NOT NULL
|
||||
SET @where = @where + N' AND 库房流水号 = ' + CAST(@库房流水号 AS NVARCHAR(20));
|
||||
|
||||
IF @库区流水号 IS NOT NULL
|
||||
SET @where = @where + N' AND 库区流水号 = ' + CAST(@库区流水号 AS NVARCHAR(20));
|
||||
|
||||
IF @库位名称_check = 1 AND @locationName <> N''
|
||||
SET @where = @where + N' AND 库位名称 LIKE N''%' + @locationName + N'%''';
|
||||
|
||||
IF @库位状态_check = 1 AND @locationStatus <> N''
|
||||
SET @where = @where + N' AND 库位状态 = N''' + @locationStatus + N'''';
|
||||
|
||||
EXEC dbo.sp_xt_pagesplit2
|
||||
@tbname,
|
||||
@fieldkey,
|
||||
@where,
|
||||
@fieldshow,
|
||||
@fieldOrder,
|
||||
@PageCurrent,
|
||||
@PageSize,
|
||||
@PageCount OUTPUT,
|
||||
@ItemCount OUTPUT;
|
||||
END
|
||||
GO
|
||||
Reference in New Issue
Block a user