-- 恢复 BHZZ-20250707004 / JY-FA-830-14.01 到车间可加工状态
-- 修改人:Ld 修改时间:2026-07-31 16:45:00;
SET NOCOUNT ON;
SET XACT_ABORT ON;

-- 修复前快照，便于回溯。修改人:Ld 修改时间:2026-07-31 16:45:00;
IF OBJECT_ID(N'dbo.GPT_恢复可加工_4935_20260731_1645_工艺计划', N'U') IS NULL
    SELECT *
    INTO dbo.GPT_恢复可加工_4935_20260731_1645_工艺计划
    FROM dbo.车间生产管理工艺_零件工艺计划
    WHERE 工艺计划流水号 = 4935;

BEGIN TRAN;

IF NOT EXISTS (
    SELECT 1
    FROM dbo.车间生产管理工艺_零件工艺计划
    WHERE 工艺计划流水号 = 4935
      AND 零件图号 = N'JY-FA-830-14.01'
      AND 考核状态 = 3
      AND 批次数量 = 100
      AND ISNULL(完成数量, 0) = 42
      AND ISNULL(报废数量, 0) = 0
)
BEGIN
    RAISERROR(N'工艺计划 4935 当前状态不符合恢复条件，停止修复', 16, 1);
    ROLLBACK TRAN;
    RETURN;
END

-- 仅恢复工艺计划状态为加工中，保留已完成/已入库/到货等历史数量。修改人:Ld 修改时间:2026-07-31 16:45:00;
UPDATE dbo.车间生产管理工艺_零件工艺计划
SET 考核状态 = 2
WHERE 工艺计划流水号 = 4935;

COMMIT TRAN;

SELECT N'修复完成' AS 结果;

SELECT 工艺计划流水号,基本件流水号,批次数量,报废数量,入库数量,完成日期,零件图号,考核状态,完成数量,分配日期,工艺更新时间
FROM dbo.车间生产管理工艺_零件工艺计划
WHERE 工艺计划流水号 = 4935;

EXEC dbo.精工车间_车间派工_查询
    @订单流水号 = 14210,
    @订单流水号_check = 1,
    @组件流水号 = 23354,
    @组件流水号_check = 1,
    @零件名称_check = 1,
    @零件名称 = N'JY-FA-830-14.01',
    @图号_check = 0,
    @图号 = N'',
    @订单状态_check = 0,
    @订单状态 = N'',
    @精工期限_check = 0,
    @精工期限 = N'';
