Files
GateDge2023_ljy/08.昶东/EastChanger/SQLServer/2.1.库存明细同步接口回填.sql
PastSaid 08d8878eef a
2024-03-11 14:47:23 +08:00

46 lines
1.6 KiB
Transact-SQL

IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_INSERT_STK_SYNC_RECORD')
DROP PROCEDURE dbo.PROC_INSERT_STK_SYNC_RECORD;
GO
CREATE PROCEDURE PROC_INSERT_STK_SYNC_RECORD
@newId varchar(100)
,@oId varchar(100)
,@itemNo varchar(100)
,@declaId varchar(100)
,@syncId varchar(100)
,@status int
AS
BEGIN
UPDATE T_STK_INVENTORY set FBILLNO = @itemNo ,FSTATUS = @status WHERE FID = @oId;
/*第一步,查看报错表的当前种子值*/
DBCC CHECKIDENT('z_STK_SYNC_RECORD', NORESEED)
/*第二步,查看报错表的主键最大值*/
DECLARE @FID bigint
SELECT @FID=ISNULL(MAX(FID),100001)+1 FROM t_STK_SYNC_RECORD
SELECT @FID
/*第三步,更新种子值(更新前对比第一步和第二步获取的值,如果第一步获取的种子值更大,则无需更新)*/
DBCC CHECKIDENT('z_STK_SYNC_RECORD', RESEED, @FID)
INSERT INTO T_STK_SYNC_RECORD (
FID,FSTOCKORGID,FKEEPERTYPEID,FKEEPERID,FOWNERTYPEID,FOWNERID,
FSTOCKID,FSTOCKLOCID,FAUXPROPID,FSTOCKSTATUSID,FLOT,FBOMID,FMTONO,
FPROJECTNO,FPRODUCEDATE,FEXPIRYDATE,FBASEUNITID,FBASEQTY,FBASELOCKQTY,
FSECQTY,FSECLOCKQTY,FSTOCKUNITID,FMATERIALID,FQTY,FLOCKQTY,FSECUNITID
,FBASEAVBQTY,FAVBQTY,FSECAVBQTY,FUPDATETIME,FISEFFECTIVED
,FITEMNO,FOSTKID,FDeclaId,FSyncId,FSyncDateTime
)
SELECT
@FID,FSTOCKORGID,FKEEPERTYPEID,FKEEPERID,FOWNERTYPEID,FOWNERID,
FSTOCKID,FSTOCKLOCID,FAUXPROPID,FSTOCKSTATUSID,FLOT,FBOMID,FMTONO,
FPROJECTNO,FPRODUCEDATE,FEXPIRYDATE,FBASEUNITID,FBASEQTY,FBASELOCKQTY,
FSECQTY,FSECLOCKQTY,FSTOCKUNITID,FMATERIALID,FQTY,FLOCKQTY,FSECUNITID
,FBASEAVBQTY,FAVBQTY,FSECAVBQTY,FUPDATETIME,FISEFFECTIVED
,@itemNo,FID,@declaId,@syncId,getdate()
FROM T_STK_INVENTORY
WHERE FID = @oId
END