更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本
This commit is contained in:
211
sql/物料标准维护_禁用物料功能_正式库_20260804.sql
Normal file
211
sql/物料标准维护_禁用物料功能_正式库_20260804.sql
Normal file
@@ -0,0 +1,211 @@
|
||||
USE [ERPTOOL_JY]
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[物料管理_查询数据_分页]
|
||||
@物料名称_check bit = null,
|
||||
@物料名称 nvarchar(50) = null,
|
||||
@物料编码_check bit = null,
|
||||
@物料编码 nvarchar(50) = null,
|
||||
@图号_check bit = null,
|
||||
@图号 nvarchar(50) = null,
|
||||
@类型_check bit = null,
|
||||
@类型 int = null,
|
||||
@时间_check bit = null,
|
||||
@开始时间 nvarchar(50) = null,
|
||||
@结束时间 nvarchar(50) = null,
|
||||
@排序名称 int =null,
|
||||
@排序方式 int =null,
|
||||
@物料库_check bit = null,
|
||||
@物料库 int = null,
|
||||
@是否禁用_check bit = null, -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 正式库支持前端切换查看启用/禁用物料
|
||||
@是否禁用 bit = null, -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 1 查询禁用物料,0 查询启用物料
|
||||
|
||||
@PageCurrent int=1, --要显示的页码
|
||||
@PageSize int = 20, --每页的大小(记录数)
|
||||
@PageCount int = '1111' OUTPUT, --总页数
|
||||
@ItemCount int = '1111' OUTPUT --总记录数
|
||||
AS
|
||||
|
||||
declare @selectStrWhere nvarchar(4000)
|
||||
|
||||
|
||||
set @selectStrWhere = '1=1 ' -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 默认条件改为可拼接启用状态
|
||||
|
||||
if (ISNULL(@是否禁用_check, 0) = 1) -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 按按钮传入状态筛选禁用/启用物料
|
||||
set @selectStrWhere = @selectStrWhere + ' and 是否禁用 = ' + str(ISNULL(@是否禁用, 0))
|
||||
else
|
||||
set @selectStrWhere = @selectStrWhere + ' and 是否禁用=0 '
|
||||
|
||||
|
||||
--if(@物料名称_check = 1)
|
||||
-- set @selectStrWhere = @selectStrWhere+' and 名称 like + ''%'' + @物料名称 + ''%'' '
|
||||
--if(@时间_check = 1)
|
||||
-- set @selectStrWhere = @selectStrWhere+' and 修改日期 >=@开始时间 and 修改日期 <=@结束时间 '
|
||||
--if(@图号_check = 1)
|
||||
-- set @selectStrWhere = @selectStrWhere+' and 代号 like + ''%'' + @图号 + ''%'' '
|
||||
--if(@类型_check = 1)
|
||||
-- set @selectStrWhere = @selectStrWhere+' and 类型 = @类型 '
|
||||
|
||||
|
||||
if (@物料名称_check = 1)
|
||||
if(@物料名称 is not null)
|
||||
set @selectStrWhere = @selectStrWhere+' and 名称 like '+N'''%'+@物料名称+N'%'''
|
||||
|
||||
if (@物料编码_check = 1)
|
||||
if(@物料编码 is not null)
|
||||
set @selectStrWhere = @selectStrWhere+' and 物料编码 like '+N'''%'+@物料编码+N'%'''
|
||||
|
||||
|
||||
if (@时间_check = 1)
|
||||
if(@开始时间 is not null and @结束时间 is not null)
|
||||
set @selectStrWhere = @selectStrWhere+' and ' + N''''+@开始时间+N'''' + '<=修改日期' + ' and '+ N''''+@结束时间+N'''' + '>=修改日期'
|
||||
|
||||
if (@图号_check = 1)
|
||||
if(@图号 is not null)
|
||||
set @selectStrWhere = @selectStrWhere+' and 代号 like '+N'''%'+@图号+N'%'''
|
||||
|
||||
if (@类型_check = 1)
|
||||
if(@类型 is not null)
|
||||
set @selectStrWhere = @selectStrWhere+' and 类型 = '+str(@类型)
|
||||
|
||||
---if (@物料库_check = 1)
|
||||
-- if(@物料库 is not null)
|
||||
-- set @selectStrWhere = @selectStrWhere+' and 物料库流水号 = '+ str(@物料库)
|
||||
|
||||
|
||||
declare @tbname sysname --要分页显示的表名
|
||||
declare @fieldkey sysname --用于定位记录的主键(唯一键)字段,只能是单个字段
|
||||
declare @where nvarchar(4000) --查询条件
|
||||
declare @fieldshow nvarchar(1000) --以逗号分隔的要显示的字段列表,如果不指定,则显示所有字段
|
||||
declare @fieldOrder nvarchar(1000) ----以逗号分隔的排序字段列表,可以指定在字段后面指定DESC/ASC --不指定则按主键顺序
|
||||
|
||||
set @tbname = '物料视图'
|
||||
set @fieldkey = '物料流水号'
|
||||
set @where = @selectStrWhere
|
||||
set @fieldshow =' [代号], [修改人], [修改日期], [单位], [单位流水号],[名称], [库位], [货位流水号], [操作日期],[文件内容],[文件后缀], [物料类型],[物料库流水号],
|
||||
[是否启用], [是否禁用], [材料], [材料流水号],
|
||||
[物料流水号], [物料编码], [类型], [类型名称], [物料说明],[规格],[曾用物料编码],[Expr1]' -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 保持原输出字段并继续返回是否禁用状态
|
||||
if @排序名称 = 1
|
||||
begin
|
||||
if @排序方式 = 1
|
||||
begin
|
||||
set @fieldOrder ='名称 DESC'
|
||||
end
|
||||
else
|
||||
begin
|
||||
set @fieldOrder = '名称 ASC'
|
||||
end
|
||||
end
|
||||
else if @排序名称 = 2
|
||||
begin
|
||||
if @排序方式 = 1
|
||||
begin
|
||||
set @fieldOrder = '代号 DESC'
|
||||
end
|
||||
else
|
||||
begin
|
||||
set @fieldOrder = '代号 ASC'
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
set @fieldOrder = '操作日期 DESC'
|
||||
end
|
||||
|
||||
exec sp_xt_pagesplit @tbname,@fieldkey,@where,@fieldshow,@fieldOrder,'',@PageCurrent,@PageSize,@PageCount out,@ItemCount out
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[物料管理_删除]
|
||||
@物料流水号 int=null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @物料流水号 IS NULL OR NOT EXISTS (SELECT 1 FROM dbo.库存管理_物料主文件_基本 WHERE 物料流水号 = @物料流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'物料不存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
UPDATE dbo.库存管理_物料主文件_基本
|
||||
SET 是否禁用 = 1
|
||||
WHERE 物料流水号 = @物料流水号; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 删除保持原逻辑删除语义
|
||||
|
||||
DELETE FROM dbo.库存管理_物料_图片
|
||||
WHERE 物料流水号 = @物料流水号; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 删除后继续清理物料图片
|
||||
|
||||
SELECT '1' AS result, N'删除成功' AS msg; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 返回前端可识别结果
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'[dbo].[物料管理_启用]', N'P') IS NOT NULL
|
||||
DROP PROCEDURE [dbo].[物料管理_启用]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[物料管理_启用]
|
||||
@物料流水号 int=null,
|
||||
@操作者 int=null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @物料流水号 IS NULL OR NOT EXISTS (SELECT 1 FROM dbo.库存管理_物料主文件_基本 WHERE 物料流水号 = @物料流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'物料不存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
UPDATE dbo.库存管理_物料主文件_基本
|
||||
SET 是否禁用 = 0,
|
||||
修改人 = @操作者,
|
||||
修改日期 = GETDATE()
|
||||
WHERE 物料流水号 = @物料流水号; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 禁用物料重新启用
|
||||
|
||||
SELECT '1' AS result, N'启用成功' AS msg; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 返回前端可识别结果
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'[dbo].[物料管理_物理删除]', N'P') IS NOT NULL
|
||||
DROP PROCEDURE [dbo].[物料管理_物理删除]
|
||||
GO
|
||||
|
||||
CREATE PROCEDURE [dbo].[物料管理_物理删除]
|
||||
@物料流水号 int=null
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF @物料流水号 IS NULL OR NOT EXISTS (SELECT 1 FROM dbo.库存管理_物料主文件_基本 WHERE 物料流水号 = @物料流水号)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'物料不存在' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM dbo.库存管理_物料主文件_基本 WHERE 物料流水号 = @物料流水号 AND ISNULL(是否禁用, 0) = 0)
|
||||
BEGIN
|
||||
SELECT '0' AS result, N'启用物料不能物理删除,请先删除禁用后再操作' AS msg;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
BEGIN TRY
|
||||
BEGIN TRAN;
|
||||
|
||||
DELETE FROM dbo.库存管理_物料_图片
|
||||
WHERE 物料流水号 = @物料流水号; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 物理删除禁用物料时同步清理图片
|
||||
|
||||
DELETE FROM dbo.库存管理_物料主文件_基本
|
||||
WHERE 物料流水号 = @物料流水号
|
||||
AND ISNULL(是否禁用, 0) = 1; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 仅允许已禁用物料物理删除
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
SELECT '1' AS result, N'永久删除成功' AS msg; -- 修改人:Ld 修改时间:2026-08-04 08:34:47; 返回前端可识别结果
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF @@TRANCOUNT > 0
|
||||
ROLLBACK TRAN;
|
||||
|
||||
SELECT '0' AS result, ERROR_MESSAGE() AS msg;
|
||||
END CATCH
|
||||
END
|
||||
GO
|
||||
Reference in New Issue
Block a user