更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本

This commit is contained in:
Developer
2026-08-05 08:13:08 +08:00
parent 33549c3787
commit fd84f9d3ca
94 changed files with 14531 additions and 345 deletions

View File

@@ -0,0 +1,117 @@
/*
库房管理物料库位分页查询脚本(测试库 ERPTOOL_JY_20250826Back
修改人:Ld 修改时间:2026-07-31 13:05:48;
说明:新增独立分页查询过程供库房管理新页面“物料综合查询/物料找库位/库位找物料”使用,不修改原仓储管理过程。
*/
SET NOCOUNT ON;
GO
IF OBJECT_ID(N'dbo.仓储管理_物料库位_分页查询_库房管理', N'P') IS NOT NULL
DROP PROCEDURE dbo._物料库位_分页查询_库房管理;
GO
CREATE PROCEDURE dbo._物料库位_分页查询_库房管理
@ NVARCHAR(20) = N'综合',
@ NVARCHAR(50) = NULL,
@_check BIT = 0,
@ NVARCHAR(50) = NULL,
@_check BIT = 0,
@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(MAX);
DECLARE @fieldshow NVARCHAR(MAX);
DECLARE @fieldOrder NVARCHAR(1000);
DECLARE @keyword NVARCHAR(100);
DECLARE @warehouse NVARCHAR(100);
SET @keyword = REPLACE(ISNULL(@, N''), N'''', N'''''');
SET @warehouse = REPLACE(ISNULL(@, N''), N'''', N'''''');
SET @PageCurrent = ISNULL(NULLIF(@PageCurrent, 0), 1);
SET @PageSize = ISNULL(NULLIF(@PageSize, 0), 20);
SET @tbname = N'(
SELECT
ROW_NUMBER() OVER (ORDER BY ISNULL(A.货位名称, N''''), ISNULL(A.物料编码, N''''), A.物料与货位流水号) AS 分页流水号,
A.物料名称 AS 名称,
A.图号或型号 AS 代号,
A.物料编码,
A.物料名称,
A.图号或型号,
A.类型,
A.单位,
A.库存,
A.库存 AS 库存数量,
A.货位名称,
A.货位名称 AS 库位,
A.物料与货位流水号,
ISNULL(m.物料流水号, 0) AS 物料流水号,
A.货位流水号,
A.货位流水号 AS 库位流水号,
A.批次编号,
A.编辑人,
A.编辑时间,
ISNULL(k.库房名称,
CASE
WHEN A.货位名称 LIKE N''%毛坯%'' THEN N''一楼毛坯库''
WHEN A.货位名称 LIKE N''%耗材%'' THEN N''耗材库''
WHEN A.货位名称 LIKE N''[A-Za-z][0-9]%-[0-9]%'' AND A.货位名称 NOT LIKE N''%-%-%'' THEN N''二楼隔层仓库''
WHEN A.货位名称 LIKE N''[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'' THEN N''立库仓库''
WHEN A.货位名称 LIKE N''[0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'' THEN N''三楼仓库''
ELSE N''库房A区''
END) AS 库房名称,
ISNULL(q.库区名称,
CASE
WHEN A.货位名称 LIKE N''%毛坯%'' THEN N''一楼毛坯库区''
WHEN A.货位名称 LIKE N''%耗材%'' THEN N''耗材库区''
WHEN A.货位名称 LIKE N''[A-Za-z][0-9]%-[0-9]%'' AND A.货位名称 NOT LIKE N''%-%-%'' THEN N''二楼隔层库区''
WHEN A.货位名称 LIKE N''[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'' THEN N''立库库区''
WHEN A.货位名称 LIKE N''[0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'' THEN N''三楼可视化库区''
ELSE N''标准库位区''
END) AS 库区名称,
CASE WHEN ISNULL(A.库存, 0) > 0 THEN N''有库存'' ELSE N'''' END AS 库存状态
FROM dbo.外购件库存_视图 A
LEFT JOIN dbo.库存管理_货位主文件 h ON A.货位流水号 = h.货位流水号
LEFT JOIN dbo.库存管理_物料主文件_基本 m ON A.物料编码 = m.物料编码
LEFT JOIN dbo.库房管理_库房主文件 k ON h.库房流水号 = k.库房流水号
LEFT JOIN dbo.库房管理_库区主文件 q ON h.库区流水号 = q.库区流水号
WHERE ((ISNULL(A.批次编号, N'''') <> N'''' AND ISNULL(A.库存, 0) > 0) OR ISNULL(A.批次编号, N'''') = N'''')
) AS T';
SET @fieldkey = N'分页流水号';
SET @fieldOrder = N'库位 ASC, 物料编码 ASC, 物料与货位流水号 ASC';
SET @fieldshow = N'名称,代号,物料编码,物料名称,图号或型号,类型,单位,库存,库存数量,货位名称,库位,物料与货位流水号,物料流水号,货位流水号,库位流水号,批次编号,编辑人,编辑时间,库房名称,库区名称,库存状态';
SET @where = N'1 = 1';
IF @_check = 1 AND @keyword <> N''
BEGIN
IF @ = N'逆向'
SET @where = @where + N' AND (库位 LIKE N''%' + @keyword + N'%'' OR 货位名称 LIKE N''%' + @keyword + N'%'')';
ELSE IF @ = N'正向'
SET @where = @where + N' AND (名称 LIKE N''%' + @keyword + N'%'' OR 代号 LIKE N''%' + @keyword + N'%'' OR 物料名称 LIKE N''%' + @keyword + N'%'' OR 图号或型号 LIKE N''%' + @keyword + N'%'' OR 物料编码 LIKE N''%' + @keyword + N'%'')';
ELSE
SET @where = @where + N' AND (名称 LIKE N''%' + @keyword + N'%'' OR 代号 LIKE N''%' + @keyword + N'%'' OR 物料名称 LIKE N''%' + @keyword + N'%'' OR 图号或型号 LIKE N''%' + @keyword + N'%'' OR 物料编码 LIKE N''%' + @keyword + N'%'' OR 库位 LIKE N''%' + @keyword + N'%'' OR 货位名称 LIKE N''%' + @keyword + N'%'')';
END
IF @_check = 1 AND @warehouse <> N''
SET @where = @where + N' AND 库房名称 = N''' + @warehouse + N'''';
EXEC dbo.sp_xt_pagesplit2
@tbname,
@fieldkey,
@where,
@fieldshow,
@fieldOrder,
@PageCurrent,
@PageSize,
@PageCount OUTPUT,
@ItemCount OUTPUT;
END
GO