更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本
This commit is contained in:
818
sql/库房管理_隔离实施_测试库_20260730.sql
Normal file
818
sql/库房管理_隔离实施_测试库_20260730.sql
Normal file
@@ -0,0 +1,818 @@
|
||||
/*
|
||||
库房管理隔离实施脚本(测试库 ERPTOOL_JY_20250826Back)
|
||||
修改人:Ld 修改时间:2026-07-30 09:23:13;
|
||||
说明:
|
||||
1. 新增库房、库区、库房业务记录表。
|
||||
2. 对库存管理_货位主文件仅补充可空字段,不改变原字段和原存储过程。
|
||||
3. 新增存储过程全部使用“库房管理_”前缀,不覆盖现有“仓储管理_”过程。
|
||||
*/
|
||||
|
||||
SET NOCOUNT ON;
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库房主文件', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.库房管理_库房主文件
|
||||
(
|
||||
库房流水号 INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_库房管理_库房主文件 PRIMARY KEY,
|
||||
库房编号 NVARCHAR(50) NOT NULL,
|
||||
库房名称 NVARCHAR(100) NOT NULL,
|
||||
库房类型 NVARCHAR(50) NULL,
|
||||
地址 NVARCHAR(200) NULL,
|
||||
负责人 INT NULL,
|
||||
状态 NVARCHAR(20) NOT NULL CONSTRAINT DF_库房管理_库房主文件_状态 DEFAULT(N'启用'),
|
||||
排数 INT NOT NULL CONSTRAINT DF_库房管理_库房主文件_排数 DEFAULT(8),
|
||||
每排列数 INT NOT NULL CONSTRAINT DF_库房管理_库房主文件_每排列数 DEFAULT(24),
|
||||
层数 INT NOT NULL CONSTRAINT DF_库房管理_库房主文件_层数 DEFAULT(3),
|
||||
备注 NVARCHAR(500) NULL,
|
||||
创建人 INT NULL,
|
||||
创建时间 DATETIME NOT NULL CONSTRAINT DF_库房管理_库房主文件_创建时间 DEFAULT(GETDATE()),
|
||||
修改人 INT NULL,
|
||||
修改时间 DATETIME NULL,
|
||||
CONSTRAINT UQ_库房管理_库房主文件_库房编号 UNIQUE(库房编号)
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库区主文件', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.库房管理_库区主文件
|
||||
(
|
||||
库区流水号 INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_库房管理_库区主文件 PRIMARY KEY,
|
||||
库房流水号 INT NOT NULL,
|
||||
库区编号 NVARCHAR(50) NOT NULL,
|
||||
库区名称 NVARCHAR(100) NOT NULL,
|
||||
库区类型 NVARCHAR(50) NULL,
|
||||
状态 NVARCHAR(20) NOT NULL CONSTRAINT DF_库房管理_库区主文件_状态 DEFAULT(N'启用'),
|
||||
排序 INT NULL,
|
||||
备注 NVARCHAR(500) NULL,
|
||||
创建人 INT NULL,
|
||||
创建时间 DATETIME NOT NULL CONSTRAINT DF_库房管理_库区主文件_创建时间 DEFAULT(GETDATE()),
|
||||
修改人 INT NULL,
|
||||
修改时间 DATETIME NULL,
|
||||
CONSTRAINT FK_库房管理_库区主文件_库房 FOREIGN KEY(库房流水号) REFERENCES dbo.库房管理_库房主文件(库房流水号),
|
||||
CONSTRAINT UQ_库房管理_库区主文件_库房库区编号 UNIQUE(库房流水号, 库区编号)
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_业务记录', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.库房管理_业务记录
|
||||
(
|
||||
业务记录流水号 INT IDENTITY(1,1) NOT NULL CONSTRAINT PK_库房管理_业务记录 PRIMARY KEY,
|
||||
业务类型 NVARCHAR(50) NOT NULL,
|
||||
业务单号 NVARCHAR(100) NULL,
|
||||
库房流水号 INT NULL,
|
||||
库区流水号 INT NULL,
|
||||
货位流水号 INT NULL,
|
||||
物料流水号 INT NULL,
|
||||
物料与货位流水号 INT NULL,
|
||||
变动数量 FLOAT NULL,
|
||||
变动前数量 FLOAT NULL,
|
||||
变动后数量 FLOAT NULL,
|
||||
备注 NVARCHAR(500) NULL,
|
||||
操作人 INT NULL,
|
||||
操作时间 DATETIME NOT NULL CONSTRAINT DF_库房管理_业务记录_操作时间 DEFAULT(GETDATE()),
|
||||
CONSTRAINT FK_库房管理_业务记录_库房 FOREIGN KEY(库房流水号) REFERENCES dbo.库房管理_库房主文件(库房流水号),
|
||||
CONSTRAINT FK_库房管理_业务记录_库区 FOREIGN KEY(库区流水号) REFERENCES dbo.库房管理_库区主文件(库区流水号)
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'库房流水号') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 库房流水号 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'库区流水号') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 库区流水号 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'排号') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 排号 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'列号') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 列号 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'层号') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 层号 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'库位状态') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 库位状态 NVARCHAR(20) NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'库位容量') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 库位容量 FLOAT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'是否启用') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 是否启用 BIT NOT NULL CONSTRAINT DF_库存管理_货位主文件_是否启用 DEFAULT(1);
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'修改人') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 修改人 INT NULL;
|
||||
GO
|
||||
IF COL_LENGTH(N'dbo.库存管理_货位主文件', N'修改时间') IS NULL
|
||||
ALTER TABLE dbo.库存管理_货位主文件 ADD 修改时间 DATETIME NULL;
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_库存管理_货位主文件_库房管理库房')
|
||||
BEGIN
|
||||
ALTER TABLE dbo.库存管理_货位主文件 WITH CHECK
|
||||
ADD CONSTRAINT FK_库存管理_货位主文件_库房管理库房 FOREIGN KEY(库房流水号) REFERENCES dbo.库房管理_库房主文件(库房流水号);
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_库存管理_货位主文件_库房管理库区')
|
||||
BEGIN
|
||||
ALTER TABLE dbo.库存管理_货位主文件 WITH CHECK
|
||||
ADD CONSTRAINT FK_库存管理_货位主文件_库房管理库区 FOREIGN KEY(库区流水号) REFERENCES dbo.库房管理_库区主文件(库区流水号);
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.库存管理_货位主文件') AND name = N'IX_库存管理_货位主文件_库房库区排列层')
|
||||
CREATE INDEX IX_库存管理_货位主文件_库房库区排列层 ON dbo.库存管理_货位主文件(库房流水号, 库区流水号, 排号, 列号, 层号);
|
||||
GO
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE object_id = OBJECT_ID(N'dbo.库房管理_业务记录') AND name = N'IX_库房管理_业务记录_库位物料时间')
|
||||
CREATE INDEX IX_库房管理_业务记录_库位物料时间 ON dbo.库房管理_业务记录(货位流水号, 物料流水号, 操作时间 DESC);
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-2F')
|
||||
BEGIN
|
||||
INSERT INTO dbo.库房管理_库房主文件(库房编号, 库房名称, 库房类型, 地址, 状态, 排数, 每排列数, 层数, 备注, 创建人)
|
||||
VALUES(N'KF-2F', N'二楼隔层仓库', N'隔层仓库', N'二楼隔层', N'启用', 1, 99, 1, N'库位格式:字母数字-数字,例如 A1-1', 0);
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-LK')
|
||||
BEGIN
|
||||
INSERT INTO dbo.库房管理_库房主文件(库房编号, 库房名称, 库房类型, 地址, 状态, 排数, 每排列数, 层数, 备注, 创建人)
|
||||
VALUES(N'KF-LK', N'立库仓库', N'立库仓库', N'立库区域', N'启用', 99, 99, 99, N'库位格式:xx-xx-xx,例如 01-01-01', 0);
|
||||
END
|
||||
GO
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-3F')
|
||||
BEGIN
|
||||
INSERT INTO dbo.库房管理_库房主文件(库房编号, 库房名称, 库房类型, 地址, 状态, 排数, 每排列数, 层数, 备注, 创建人)
|
||||
VALUES(N'KF-3F', N'三楼仓库', N'三楼可视化仓库', N'三楼仓库', N'启用', 8, 24, 3, N'库位格式:x-xx-xx-xx,可视化界面按三楼布局展示', 0);
|
||||
END
|
||||
GO
|
||||
|
||||
;WITH DefaultArea AS
|
||||
(
|
||||
SELECT N'KF-2F' AS 库房编号, N'2F' AS 库区编号, N'二楼隔层库区' AS 库区名称, N'隔层库区' AS 库区类型, N'字母数字-数字库位区' AS 备注
|
||||
UNION ALL SELECT N'KF-LK', N'LK', N'立库库区', N'立库库区', N'xx-xx-xx 库位区'
|
||||
UNION ALL SELECT N'KF-3F', N'3F', N'三楼可视化库区', N'三楼库区', N'x-xx-xx-xx 可视化库位区'
|
||||
)
|
||||
INSERT INTO dbo.库房管理_库区主文件(库房流水号, 库区编号, 库区名称, 库区类型, 排序, 备注, 创建人)
|
||||
SELECT k.库房流水号, a.库区编号, a.库区名称, a.库区类型, 1, a.备注, 0
|
||||
FROM DefaultArea a
|
||||
INNER JOIN dbo.库房管理_库房主文件 k ON a.库房编号 = k.库房编号
|
||||
WHERE NOT EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
FROM dbo.库房管理_库区主文件 x
|
||||
WHERE x.库房流水号 = k.库房流水号
|
||||
AND x.库区编号 = a.库区编号
|
||||
);
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT 1 FROM dbo.库存管理_货位主文件 WHERE 货位名称 = N'KF-A-01-01-1')
|
||||
BEGIN
|
||||
UPDATE dbo.库存管理_货位主文件
|
||||
SET 货位名称 = N'1-01-01-01',
|
||||
修改人 = 0,
|
||||
修改时间 = GETDATE()
|
||||
WHERE 货位名称 = N'KF-A-01-01-1';
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库位编码归属_同步', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库位编码归属_同步;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库位编码归属_同步
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @二楼库房 INT;
|
||||
DECLARE @二楼库区 INT;
|
||||
DECLARE @立库库房 INT;
|
||||
DECLARE @立库库区 INT;
|
||||
DECLARE @三楼库房 INT;
|
||||
DECLARE @三楼库区 INT;
|
||||
|
||||
SELECT @二楼库房 = 库房流水号 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-2F';
|
||||
SELECT @二楼库区 = 库区流水号 FROM dbo.库房管理_库区主文件 WHERE 库房流水号 = @二楼库房 AND 库区编号 = N'2F';
|
||||
SELECT @立库库房 = 库房流水号 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-LK';
|
||||
SELECT @立库库区 = 库区流水号 FROM dbo.库房管理_库区主文件 WHERE 库房流水号 = @立库库房 AND 库区编号 = N'LK';
|
||||
SELECT @三楼库房 = 库房流水号 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-3F';
|
||||
SELECT @三楼库区 = 库区流水号 FROM dbo.库房管理_库区主文件 WHERE 库房流水号 = @三楼库房 AND 库区编号 = N'3F';
|
||||
|
||||
UPDATE h
|
||||
SET 库房流水号 = @二楼库房,
|
||||
库区流水号 = @二楼库区,
|
||||
排号 = NULL,
|
||||
列号 = NULL,
|
||||
层号 = NULL,
|
||||
库位状态 = ISNULL(h.库位状态, N'空库位'),
|
||||
修改时间 = GETDATE()
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
WHERE h.货位名称 LIKE N'[A-Za-z][0-9]%-[0-9]%'
|
||||
AND LEN(h.货位名称) - LEN(REPLACE(h.货位名称, N'-', N'')) = 1;
|
||||
|
||||
UPDATE h
|
||||
SET 库房流水号 = @立库库房,
|
||||
库区流水号 = @立库库区,
|
||||
排号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 3)),
|
||||
列号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 2)),
|
||||
层号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 1)),
|
||||
库位状态 = ISNULL(h.库位状态, N'空库位'),
|
||||
修改时间 = GETDATE()
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
WHERE LEN(h.货位名称) - LEN(REPLACE(h.货位名称, N'-', N'')) = 2
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 3)) = 1
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 2)) = 1
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 1)) = 1;
|
||||
|
||||
UPDATE h
|
||||
SET 库房流水号 = @三楼库房,
|
||||
库区流水号 = @三楼库区,
|
||||
排号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 4)),
|
||||
列号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 3)),
|
||||
层号 = CONVERT(INT, PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 2)),
|
||||
库位状态 = ISNULL(h.库位状态, N'空库位'),
|
||||
修改时间 = GETDATE()
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
WHERE LEN(h.货位名称) - LEN(REPLACE(h.货位名称, N'-', N'')) = 3
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 4)) = 1
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 3)) = 1
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 2)) = 1
|
||||
AND ISNUMERIC(PARSENAME(REPLACE(h.货位名称, N'-', N'.'), 1)) = 1;
|
||||
|
||||
SELECT
|
||||
SUM(CASE WHEN 库房流水号 = @二楼库房 THEN 1 ELSE 0 END) AS 二楼隔层库位数,
|
||||
SUM(CASE WHEN 库房流水号 = @立库库房 THEN 1 ELSE 0 END) AS 立库库位数,
|
||||
SUM(CASE WHEN 库房流水号 = @三楼库房 THEN 1 ELSE 0 END) AS 三楼库位数
|
||||
FROM dbo.库存管理_货位主文件;
|
||||
END
|
||||
GO
|
||||
|
||||
EXEC dbo.库房管理_库位编码归属_同步;
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库房_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库房_查询;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库房_查询
|
||||
@库房名称_check BIT = 0,
|
||||
@库房名称 NVARCHAR(100) = NULL,
|
||||
@状态_check BIT = 0,
|
||||
@状态 NVARCHAR(20) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SELECT
|
||||
k.库房流水号,
|
||||
k.库房编号,
|
||||
k.库房名称,
|
||||
k.库房类型,
|
||||
k.地址,
|
||||
k.负责人,
|
||||
k.状态,
|
||||
k.排数,
|
||||
k.每排列数,
|
||||
k.层数,
|
||||
k.备注,
|
||||
ISNULL(q.库区数, 0) AS 库区数,
|
||||
ISNULL(h.库位数, 0) AS 库位数,
|
||||
ISNULL(s.有库存库位数, 0) AS 有库存库位数,
|
||||
ISNULL(s.库存数量, 0) AS 库存数量,
|
||||
k.创建时间,
|
||||
k.修改时间
|
||||
FROM dbo.库房管理_库房主文件 k
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT 库房流水号, COUNT(1) AS 库区数
|
||||
FROM dbo.库房管理_库区主文件
|
||||
GROUP BY 库房流水号
|
||||
) q ON k.库房流水号 = q.库房流水号
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT 库房流水号, COUNT(1) AS 库位数
|
||||
FROM dbo.库存管理_货位主文件
|
||||
WHERE 库房流水号 IS NOT NULL
|
||||
GROUP BY 库房流水号
|
||||
) h ON k.库房流水号 = h.库房流水号
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
h.库房流水号,
|
||||
COUNT(DISTINCT h.货位流水号) AS 有库存库位数,
|
||||
SUM(ISNULL(m.货位存量, 0)) AS 库存数量
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
INNER JOIN dbo.库存管理_物料与货位对照表 m ON h.货位流水号 = m.货位流水号 AND ISNULL(m.货位存量, 0) > 0
|
||||
WHERE h.库房流水号 IS NOT NULL
|
||||
GROUP BY h.库房流水号
|
||||
) s ON k.库房流水号 = s.库房流水号
|
||||
WHERE (@库房名称_check = 0 OR k.库房编号 LIKE N'%' + ISNULL(@库房名称, N'') + N'%' OR k.库房名称 LIKE N'%' + ISNULL(@库房名称, N'') + N'%')
|
||||
AND (@状态_check = 0 OR k.状态 = @状态)
|
||||
ORDER BY k.库房编号;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库房_保存', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库房_保存;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库房_保存
|
||||
@库房流水号 INT = NULL,
|
||||
@库房编号 NVARCHAR(50),
|
||||
@库房名称 NVARCHAR(100),
|
||||
@库房类型 NVARCHAR(50) = NULL,
|
||||
@地址 NVARCHAR(200) = NULL,
|
||||
@负责人 INT = NULL,
|
||||
@状态 NVARCHAR(20) = N'启用',
|
||||
@排数 INT = 8,
|
||||
@每排列数 INT = 24,
|
||||
@层数 INT = 3,
|
||||
@备注 NVARCHAR(500) = NULL,
|
||||
@UserID INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
IF EXISTS (SELECT 1 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = @库房编号 AND ISNULL(@库房流水号, 0) <> 库房流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'库房编号已存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF ISNULL(@库房流水号, 0) = 0
|
||||
BEGIN
|
||||
INSERT INTO dbo.库房管理_库房主文件(库房编号, 库房名称, 库房类型, 地址, 负责人, 状态, 排数, 每排列数, 层数, 备注, 创建人)
|
||||
VALUES(@库房编号, @库房名称, @库房类型, @地址, @负责人, ISNULL(@状态, N'启用'), ISNULL(@排数, 8), ISNULL(@每排列数, 24), ISNULL(@层数, 3), @备注, @UserID);
|
||||
|
||||
SELECT '1' AS result, SCOPE_IDENTITY() AS 库房流水号, N'新增成功' AS msg;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.库房管理_库房主文件
|
||||
SET 库房编号 = @库房编号,
|
||||
库房名称 = @库房名称,
|
||||
库房类型 = @库房类型,
|
||||
地址 = @地址,
|
||||
负责人 = @负责人,
|
||||
状态 = ISNULL(@状态, 状态),
|
||||
排数 = ISNULL(@排数, 排数),
|
||||
每排列数 = ISNULL(@每排列数, 每排列数),
|
||||
层数 = ISNULL(@层数, 层数),
|
||||
备注 = @备注,
|
||||
修改人 = @UserID,
|
||||
修改时间 = GETDATE()
|
||||
WHERE 库房流水号 = @库房流水号;
|
||||
|
||||
SELECT '1' AS result, @库房流水号 AS 库房流水号, N'编辑成功' AS msg;
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库房_停用', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库房_停用;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库房_停用
|
||||
@库房流水号 INT,
|
||||
@UserID INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
IF EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
FROM dbo.库存管理_货位主文件 h
|
||||
INNER JOIN dbo.库存管理_物料与货位对照表 m ON h.货位流水号 = m.货位流水号
|
||||
WHERE h.库房流水号 = @库房流水号 AND ISNULL(m.货位存量, 0) > 0
|
||||
)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'库房下仍有库存,不能停用' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
UPDATE dbo.库房管理_库房主文件
|
||||
SET 状态 = N'停用', 修改人 = @UserID, 修改时间 = GETDATE()
|
||||
WHERE 库房流水号 = @库房流水号;
|
||||
|
||||
UPDATE dbo.库存管理_货位主文件
|
||||
SET 是否启用 = 0, 修改人 = @UserID, 修改时间 = GETDATE()
|
||||
WHERE 库房流水号 = @库房流水号;
|
||||
|
||||
SELECT '1' AS result, N'停用成功' AS msg;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库区_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库区_查询;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库区_查询
|
||||
@库房流水号 INT = NULL,
|
||||
@状态_check BIT = 0,
|
||||
@状态 NVARCHAR(20) = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SELECT
|
||||
q.库区流水号,
|
||||
q.库房流水号,
|
||||
k.库房名称,
|
||||
q.库区编号,
|
||||
q.库区名称,
|
||||
q.库区类型,
|
||||
q.状态,
|
||||
q.排序,
|
||||
q.备注,
|
||||
ISNULL(h.库位数, 0) AS 库位数
|
||||
FROM dbo.库房管理_库区主文件 q
|
||||
INNER JOIN dbo.库房管理_库房主文件 k ON q.库房流水号 = k.库房流水号
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT 库区流水号, COUNT(1) AS 库位数
|
||||
FROM dbo.库存管理_货位主文件
|
||||
WHERE 库区流水号 IS NOT NULL
|
||||
GROUP BY 库区流水号
|
||||
) h ON q.库区流水号 = h.库区流水号
|
||||
WHERE (@库房流水号 IS NULL OR q.库房流水号 = @库房流水号)
|
||||
AND (@状态_check = 0 OR q.状态 = @状态)
|
||||
ORDER BY q.排序, q.库区编号;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库区_保存', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库区_保存;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库区_保存
|
||||
@库区流水号 INT = NULL,
|
||||
@库房流水号 INT,
|
||||
@库区编号 NVARCHAR(50),
|
||||
@库区名称 NVARCHAR(100),
|
||||
@库区类型 NVARCHAR(50) = NULL,
|
||||
@状态 NVARCHAR(20) = N'启用',
|
||||
@排序 INT = NULL,
|
||||
@备注 NVARCHAR(500) = NULL,
|
||||
@UserID INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
IF EXISTS (SELECT 1 FROM dbo.库房管理_库区主文件 WHERE 库房流水号 = @库房流水号 AND 库区编号 = @库区编号 AND ISNULL(@库区流水号, 0) <> 库区流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'库区编号已存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF ISNULL(@库区流水号, 0) = 0
|
||||
BEGIN
|
||||
INSERT INTO dbo.库房管理_库区主文件(库房流水号, 库区编号, 库区名称, 库区类型, 状态, 排序, 备注, 创建人)
|
||||
VALUES(@库房流水号, @库区编号, @库区名称, @库区类型, ISNULL(@状态, N'启用'), @排序, @备注, @UserID);
|
||||
|
||||
SELECT '1' AS result, SCOPE_IDENTITY() AS 库区流水号, N'新增成功' AS msg;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.库房管理_库区主文件
|
||||
SET 库房流水号 = @库房流水号,
|
||||
库区编号 = @库区编号,
|
||||
库区名称 = @库区名称,
|
||||
库区类型 = @库区类型,
|
||||
状态 = ISNULL(@状态, 状态),
|
||||
排序 = @排序,
|
||||
备注 = @备注,
|
||||
修改人 = @UserID,
|
||||
修改时间 = GETDATE()
|
||||
WHERE 库区流水号 = @库区流水号;
|
||||
|
||||
SELECT '1' AS result, @库区流水号 AS 库区流水号, N'编辑成功' AS msg;
|
||||
END
|
||||
END
|
||||
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
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SET @库区流水号 = NULLIF(@库区流水号, 0);
|
||||
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.货位流水号
|
||||
WHERE (@库房流水号 IS NULL OR h.库房流水号 = @库房流水号)
|
||||
AND (@库区流水号 IS NULL OR h.库区流水号 = @库区流水号)
|
||||
AND (@库位名称_check = 0 OR h.货位名称 LIKE N'%' + ISNULL(@库位名称, N'') + N'%')
|
||||
AND (@库位状态_check = 0 OR
|
||||
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 = @库位状态)
|
||||
ORDER BY h.排号, h.列号, h.层号, h.货位名称;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库位_保存', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库位_保存;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库位_保存
|
||||
@库位流水号 INT = NULL,
|
||||
@库位名称 NVARCHAR(50),
|
||||
@库房流水号 INT,
|
||||
@库区流水号 INT = NULL,
|
||||
@排号 INT = NULL,
|
||||
@列号 INT = NULL,
|
||||
@层号 INT = NULL,
|
||||
@库位状态 NVARCHAR(20) = N'空库位',
|
||||
@库位容量 FLOAT = NULL,
|
||||
@是否启用 BIT = 1,
|
||||
@UserID INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库区流水号 = NULLIF(@库区流水号, 0);
|
||||
IF EXISTS (SELECT 1 FROM dbo.库存管理_货位主文件 WHERE 货位名称 = @库位名称 AND ISNULL(@库位流水号, 0) <> 货位流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'库位名称已存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF ISNULL(@库位流水号, 0) = 0
|
||||
BEGIN
|
||||
INSERT INTO dbo.库存管理_货位主文件(货位名称, 库房流水号, 库区流水号, 排号, 列号, 层号, 库位状态, 库位容量, 是否启用, 操作日期, 修改人, 修改时间)
|
||||
VALUES(@库位名称, @库房流水号, @库区流水号, @排号, @列号, @层号, ISNULL(@库位状态, N'空库位'), @库位容量, ISNULL(@是否启用, 1), GETDATE(), @UserID, GETDATE());
|
||||
|
||||
SELECT '1' AS result, SCOPE_IDENTITY() AS 库位流水号, N'新增成功' AS msg;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.库存管理_货位主文件
|
||||
SET 货位名称 = @库位名称,
|
||||
库房流水号 = @库房流水号,
|
||||
库区流水号 = @库区流水号,
|
||||
排号 = @排号,
|
||||
列号 = @列号,
|
||||
层号 = @层号,
|
||||
库位状态 = ISNULL(@库位状态, 库位状态),
|
||||
库位容量 = @库位容量,
|
||||
是否启用 = ISNULL(@是否启用, 是否启用),
|
||||
修改人 = @UserID,
|
||||
修改时间 = GETDATE()
|
||||
WHERE 货位流水号 = @库位流水号;
|
||||
|
||||
SELECT '1' AS result, @库位流水号 AS 库位流水号, N'编辑成功' AS msg;
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_可视化库位_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_可视化库位_查询;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_可视化库位_查询
|
||||
@库房流水号 INT = NULL,
|
||||
@库区流水号 INT = NULL,
|
||||
@层号 INT = 1
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SET @库区流水号 = NULLIF(@库区流水号, 0);
|
||||
IF @库房流水号 IS NULL
|
||||
SELECT @库房流水号 = 库房流水号 FROM dbo.库房管理_库房主文件 WHERE 库房编号 = N'KF-3F';
|
||||
|
||||
DECLARE @排数 INT = 8;
|
||||
DECLARE @每排列数 INT = 24;
|
||||
DECLARE @层数 INT = 3;
|
||||
DECLARE @库房编号 NVARCHAR(50) = N'KF';
|
||||
|
||||
SELECT TOP 1
|
||||
@排数 = ISNULL(排数, 8),
|
||||
@每排列数 = ISNULL(每排列数, 24),
|
||||
@层数 = ISNULL(层数, 3),
|
||||
@库房编号 = ISNULL(库房编号, N'KF')
|
||||
FROM dbo.库房管理_库房主文件
|
||||
WHERE (@库房流水号 IS NULL OR 库房流水号 = @库房流水号)
|
||||
ORDER BY 库房流水号;
|
||||
|
||||
;WITH row_num AS
|
||||
(
|
||||
SELECT 1 AS n
|
||||
UNION ALL SELECT n + 1 FROM row_num WHERE n < @排数
|
||||
),
|
||||
col_num AS
|
||||
(
|
||||
SELECT 1 AS n
|
||||
UNION ALL SELECT n + 1 FROM col_num WHERE n < @每排列数
|
||||
),
|
||||
cell AS
|
||||
(
|
||||
SELECT r.n AS 排号, c.n AS 列号, @层号 AS 层号
|
||||
FROM row_num r
|
||||
CROSS JOIN col_num c
|
||||
),
|
||||
stock AS
|
||||
(
|
||||
SELECT 货位流水号, COUNT(DISTINCT 物料流水号) AS 物料种类, SUM(ISNULL(货位存量, 0)) AS 库存数量
|
||||
FROM dbo.库存管理_物料与货位对照表
|
||||
WHERE ISNULL(货位存量, 0) > 0
|
||||
GROUP BY 货位流水号
|
||||
)
|
||||
SELECT
|
||||
cell.排号,
|
||||
cell.列号,
|
||||
cell.层号,
|
||||
ISNULL(h.货位名称, CONVERT(NVARCHAR(10), cell.排号) + N'-' + RIGHT(N'00' + CONVERT(NVARCHAR(10), cell.列号), 2) + N'-' + RIGHT(N'00' + CONVERT(NVARCHAR(10), cell.层号), 2) + N'-01') AS 库位编号,
|
||||
h.货位流水号 AS 库位流水号,
|
||||
CASE
|
||||
WHEN h.货位流水号 IS NULL THEN N'未建库位'
|
||||
WHEN ISNULL(h.是否启用, 1) = 0 THEN N'停用'
|
||||
WHEN ISNULL(stock.库存数量, 0) > 0 AND ISNULL(h.库位容量, 0) > 0 AND ISNULL(stock.库存数量, 0) >= ISNULL(h.库位容量, 0) THEN N'满库位'
|
||||
WHEN ISNULL(stock.库存数量, 0) > 0 THEN N'有库存'
|
||||
ELSE ISNULL(h.库位状态, N'空库位')
|
||||
END AS 库位状态,
|
||||
ISNULL(stock.物料种类, 0) AS 物料种类,
|
||||
ISNULL(stock.库存数量, 0) AS 库存数量,
|
||||
ISNULL(h.库位容量, 0) AS 库位容量
|
||||
FROM cell
|
||||
LEFT JOIN dbo.库存管理_货位主文件 h
|
||||
ON h.排号 = cell.排号
|
||||
AND h.列号 = cell.列号
|
||||
AND h.层号 = cell.层号
|
||||
AND (@库房流水号 IS NULL OR h.库房流水号 = @库房流水号)
|
||||
AND (@库区流水号 IS NULL OR h.库区流水号 = @库区流水号)
|
||||
AND LEN(h.货位名称) - LEN(REPLACE(h.货位名称, N'-', N'')) = 3
|
||||
LEFT JOIN stock ON h.货位流水号 = stock.货位流水号
|
||||
ORDER BY cell.排号, cell.列号
|
||||
OPTION (MAXRECURSION 0);
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_物料库位_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_物料库位_查询;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_物料库位_查询
|
||||
@查询方向 NVARCHAR(10) = N'综合',
|
||||
@关键字_check BIT = 0,
|
||||
@关键字 NVARCHAR(100) = NULL,
|
||||
@库房流水号 INT = NULL,
|
||||
@库位流水号 INT = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SET @库位流水号 = NULLIF(@库位流水号, 0);
|
||||
SELECT
|
||||
m.物料流水号,
|
||||
m.物料编码,
|
||||
m.名称 AS 物料名称,
|
||||
m.代号 AS 图号或型号,
|
||||
h.货位流水号 AS 库位流水号,
|
||||
h.货位名称 AS 库位名称,
|
||||
h.库房流水号,
|
||||
k.库房名称,
|
||||
h.库区流水号,
|
||||
q.库区名称,
|
||||
h.排号,
|
||||
h.列号,
|
||||
h.层号,
|
||||
d.货位存量 AS 库存数量,
|
||||
d.批次号,
|
||||
CASE
|
||||
WHEN ISNULL(d.货位存量, 0) > 0 THEN N'有库存'
|
||||
ELSE N'无库存'
|
||||
END AS 库存状态,
|
||||
d.操作日期,
|
||||
@查询方向 AS 查询方向
|
||||
FROM dbo.库存管理_物料与货位对照表 d
|
||||
INNER JOIN dbo.库存管理_物料主文件_基本 m ON d.物料流水号 = m.物料流水号
|
||||
INNER JOIN dbo.库存管理_货位主文件 h ON d.货位流水号 = h.货位流水号
|
||||
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
|
||||
LEFT JOIN dbo.库房管理_库区主文件 q ON h.库区流水号 = q.库区流水号
|
||||
WHERE ISNULL(d.货位存量, 0) > 0
|
||||
AND (@库房流水号 IS NULL OR h.库房流水号 = @库房流水号)
|
||||
AND (@库位流水号 IS NULL OR h.货位流水号 = @库位流水号)
|
||||
AND
|
||||
(
|
||||
@关键字_check = 0
|
||||
OR m.物料编码 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR m.名称 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR m.代号 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR h.货位名称 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
)
|
||||
ORDER BY k.库房名称, h.排号, h.列号, h.层号, m.物料编码;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.库房管理_库存流水_查询', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.库房管理_库存流水_查询;
|
||||
GO
|
||||
CREATE PROCEDURE dbo.库房管理_库存流水_查询
|
||||
@关键字_check BIT = 0,
|
||||
@关键字 NVARCHAR(100) = NULL,
|
||||
@库房流水号 INT = NULL,
|
||||
@开始日期 DATE = NULL,
|
||||
@结束日期 DATE = NULL
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
SET @库房流水号 = NULLIF(@库房流水号, 0);
|
||||
SELECT TOP 500 *
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
N'入库' AS 业务类型,
|
||||
r.入库记录流水号 AS 业务流水号,
|
||||
m.物料编码,
|
||||
m.名称 AS 物料名称,
|
||||
m.代号 AS 图号或型号,
|
||||
h.货位名称 AS 库位名称,
|
||||
k.库房名称,
|
||||
CONVERT(FLOAT, r.实际到货数量) AS 数量,
|
||||
r.入库时间 AS 业务时间
|
||||
FROM dbo.库存管理_外购件_入库记录 r
|
||||
LEFT JOIN dbo.库存管理_物料主文件_基本 m ON r.标准件和外购件流水号 = m.物料流水号
|
||||
LEFT JOIN dbo.库存管理_货位主文件 h ON r.货位流水号 = h.货位流水号
|
||||
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
|
||||
UNION ALL
|
||||
SELECT
|
||||
N'出库' AS 业务类型,
|
||||
r.出库记录流水号 AS 业务流水号,
|
||||
m.物料编码,
|
||||
m.名称 AS 物料名称,
|
||||
m.代号 AS 图号或型号,
|
||||
h.货位名称 AS 库位名称,
|
||||
k.库房名称,
|
||||
CONVERT(FLOAT, r.出库数量) AS 数量,
|
||||
r.操作日期 AS 业务时间
|
||||
FROM dbo.库存管理_物料出库_出库记录 r
|
||||
LEFT JOIN dbo.库存管理_物料主文件_基本 m ON r.物料流水号 = m.物料流水号
|
||||
LEFT JOIN dbo.库存管理_货位主文件 h ON r.货位流水号 = h.货位流水号
|
||||
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
|
||||
UNION ALL
|
||||
SELECT
|
||||
N'盘点' AS 业务类型,
|
||||
r.修改记录流水号 AS 业务流水号,
|
||||
m.物料编码,
|
||||
m.名称 AS 物料名称,
|
||||
m.代号 AS 图号或型号,
|
||||
h.货位名称 AS 库位名称,
|
||||
k.库房名称,
|
||||
CONVERT(FLOAT, ISNULL(r.更改后数量, 0) - ISNULL(r.原数量, 0)) AS 数量,
|
||||
r.修改时间 AS 业务时间
|
||||
FROM dbo.库存盘点_修改记录 r
|
||||
LEFT JOIN dbo.库存管理_物料主文件_基本 m ON r.物料流水号 = m.物料流水号
|
||||
LEFT JOIN dbo.库存管理_物料与货位对照表 d ON r.物料与货位流水号 = d.物料与货位流水号
|
||||
LEFT JOIN dbo.库存管理_货位主文件 h ON d.货位流水号 = h.货位流水号
|
||||
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
|
||||
) x
|
||||
WHERE (@库房流水号 IS NULL OR x.库房名称 IN (SELECT 库房名称 FROM dbo.库房管理_库房主文件 WHERE 库房流水号 = @库房流水号))
|
||||
AND (@开始日期 IS NULL OR x.业务时间 >= @开始日期)
|
||||
AND (@结束日期 IS NULL OR x.业务时间 < DATEADD(DAY, 1, @结束日期))
|
||||
AND
|
||||
(
|
||||
@关键字_check = 0
|
||||
OR x.物料编码 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR x.物料名称 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR x.图号或型号 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
OR x.库位名称 LIKE N'%' + ISNULL(@关键字, N'') + N'%'
|
||||
)
|
||||
ORDER BY x.业务时间 DESC;
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user