48 lines
1.5 KiB
Transact-SQL
48 lines
1.5 KiB
Transact-SQL
USE [ERPTOOL_JY_20250826Back]
|
|
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-03 08:35:00; 物理删除禁用物料时同步清理图片
|
|
|
|
DELETE FROM dbo.库存管理_物料主文件_基本
|
|
WHERE 物料流水号 = @物料流水号
|
|
AND ISNULL(是否禁用, 0) = 1; -- 修改人:Ld 修改时间:2026-08-03 08:35:00; 仅允许已禁用物料物理删除
|
|
|
|
COMMIT TRAN;
|
|
|
|
SELECT '1' AS result, N'永久删除成功' AS msg; -- 修改人:Ld 修改时间:2026-08-03 08:35:00; 返回前端可识别结果
|
|
END TRY
|
|
BEGIN CATCH
|
|
IF @@TRANCOUNT > 0
|
|
ROLLBACK TRAN;
|
|
|
|
SELECT '0' AS result, ERROR_MESSAGE() AS msg;
|
|
END CATCH
|
|
END
|
|
GO
|