上传文件至 /
This commit is contained in:
+344
@@ -0,0 +1,344 @@
|
||||
/****** Object: Table [dbo].[DJBHWH_ERP_LQ] Script Date: 2024-11-08 17:51:57 ******/
|
||||
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[DJBHWH_ERP_LQ]') AND type in (N'U'))
|
||||
DROP TABLE [dbo].[DJBHWH_ERP_LQ]
|
||||
GO
|
||||
|
||||
/****** Object: Table [dbo].[DJBHWH_ERP_LQ] Script Date: 2024-11-08 17:51:57 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
CREATE TABLE [dbo].[DJBHWH_ERP_LQ](
|
||||
[BMFS] [varchar](50) NOT NULL,
|
||||
[DJMC] [varchar](50) NOT NULL,
|
||||
[DM] [varchar](50) NOT NULL,
|
||||
[DJH] [int] NULL,
|
||||
[BYZD1] [varchar](20) NULL,
|
||||
[BYZD2] [varchar](20) NULL,
|
||||
[BYZD3] [numeric](18, 4) NULL,
|
||||
[BYZD4] [numeric](18, 4) NULL,
|
||||
CONSTRAINT [PK_DJBHWH_ERP_LQ] PRIMARY KEY NONCLUSTERED
|
||||
(
|
||||
[BMFS] ASC,
|
||||
[DJMC] ASC,
|
||||
[DM] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
|
||||
|
||||
|
||||
INSERT INTO [DJBHWH_ERP_LQ] ([BMFS], [DJMC], [DM], [DJH], [BYZD1], [BYZD2], [BYZD3], [BYZD4]) VALUES ('LIQUAN', 'LIQUAN', 'XSQ', 1, NULL, NULL, NULL, NULL);
|
||||
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[P_SendCoupon] Script Date: 2024-11-08 18:07:04 ******/
|
||||
DROP PROCEDURE [dbo].[P_SendCoupon]
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[P_SendCoupon] Script Date: 2024-11-08 18:07:04 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
CREATE proc [dbo].[P_SendCoupon]
|
||||
@DJBH varchar(20), --单据编号
|
||||
@Cards VARCHAR(MAX)
|
||||
AS
|
||||
DECLARE @StartDate DATETIME, @EndDate DATETIME, @YXQX INT, @YXQFS INT;
|
||||
SELECT @DJBH=a.DJBH,@StartDate = a.RQ_S, @EndDate = a.RQ_E, @YXQX = a.YXQX, @YXQFS = a.ZDYXQFS
|
||||
FROM dbo.LQZCD a WITH (NOLOCK)
|
||||
WHERE a.DJBH = @DJBH;
|
||||
DECLARE @TabCoupn Table
|
||||
(
|
||||
Id int,
|
||||
VPDM VARCHAR(50),
|
||||
GKDM VARCHAR(50),
|
||||
LQBH VARCHAR(50),
|
||||
CODE VARCHAR(2),
|
||||
MSG VARCHAR(100)
|
||||
);
|
||||
BEGIN
|
||||
IF @DJBH=''
|
||||
GOTO FAIL
|
||||
DECLARE @ERROR INT =0;
|
||||
--生成随机数
|
||||
DECLARE @CODE VARCHAR(50);
|
||||
SELECT @CODE=NEWID();
|
||||
BEGIN TRAN
|
||||
DECLARE @DJH INT=1,@DM VARCHAR(20)='',@LQBHMAX int;
|
||||
SELECT @DJH=DJH,@DM=DM FROM DJBHWH_ERP_LQ WHERE BMFS='LIQUAN'
|
||||
SELECT @LQBHMAX=MAX( CONVERT(INT, REPLACE(LQBH,@DM,'')) ) FROM LIQUAN WHERE LQBH LIKE @DM+'%'
|
||||
|
||||
IF @LQBHMAX>@DJH
|
||||
BEGIN
|
||||
|
||||
UPDATE DJBHWH_ERP_LQ SET DJH=@LQBHMAX WHERE BMFS='LIQUAN'
|
||||
SELECT @DJH=DJH,@DM=DM FROM DJBHWH_ERP_LQ WHERE BMFS='LIQUAN'
|
||||
|
||||
END
|
||||
|
||||
|
||||
--插入数据到临时表
|
||||
INSERT INTO @TabCoupn(VPDM,Id,CODE) SELECT *,'0' FROM FT_GetSplitTable(@Cards);
|
||||
--券号15位 固定前缀@DM
|
||||
UPDATE A SET A.CODE='1',LQBH=@DM+SUBSTRING('000000000000',1,12-LEN(CAST(ID+@DJH AS VARCHAR(20))))+ CAST(ID+@DJH AS VARCHAR(20)),GKDM=B.GKDM
|
||||
FROM @TabCoupn A INNER JOIN V_VIPSET B ON A.VPDM=B.DM
|
||||
-- 过滤调VPDM不存在的数据
|
||||
UPDATE A SET CODE='9',MSG='VIP不存在' FROM @TabCoupn A WHERE CODE='0';
|
||||
SET @ERROR+=@@ERROR
|
||||
--数据发券数量
|
||||
DECLARE @CouponNum INT=0;
|
||||
SELECT @CouponNum=COUNT(1) FROM @TabCoupn WHERE CODE='1';
|
||||
--更新流水号表发券标记
|
||||
UPDATE DJBHWH_ERP_LQ SET DJH=DJH+@CouponNum WHERE BMFS='LIQUAN'
|
||||
--插入礼券制成单明细表
|
||||
INSERT INTO LQZCDMX(DJBH, LQBH, STATE)
|
||||
SELECT @DJBH,LQBH,'2' FROM @TabCoupn
|
||||
SET @ERROR+=@@ERROR
|
||||
--插入会员表
|
||||
INSERT INTO wx_user_coupon(lqbh, cardno, createddate)
|
||||
SELECT LQBH,VPDM,GETDATE() FROM @TabCoupn A WHERE CODE='1'
|
||||
SET @ERROR+=@@ERROR
|
||||
--插入礼券表
|
||||
DECLARE @QDDM NVARCHAR(100),@CKDM NVARCHAR(100),@SJ NVARCHAR(20)
|
||||
IF @YXQFS = 2
|
||||
BEGIN
|
||||
SET @StartDate = GETDATE();
|
||||
SET @EndDate = DATEADD(DAY, -1, DATEADD(MONTH, @YXQX, @StartDate));
|
||||
END;
|
||||
IF @YXQFS = 3
|
||||
BEGIN
|
||||
SET @StartDate = GETDATE();
|
||||
SET @EndDate = DATEADD(DAY, @YXQX - 1, @StartDate);
|
||||
END;
|
||||
INSERT INTO LIQUAN ( LQBH,LBDM,QDDM,CKDM,QYBJ,TYBJ,ZS,XFJE,BZJE,FSJE,SYJE,BYZD1,RQ_S,RQ_E,status,LQLX,LQZK,LQTOWM,SPZK,VPDM,SPFW)
|
||||
SELECT A.LQBH,LQZCD.LBDM, B.QDDM,B.CKDM,'1','0','0',LQLB.XFJE,LQZCD.BZJE,LQLB.FSJE,LQLB.FSJE ,ISNULL(LQZCD.BYZD1,'0'),
|
||||
CONVERT(VARCHAR(50), @StartDate, 23) + ' 00:00:00' ,
|
||||
CONVERT(VARCHAR(50), @EndDate, 23) + ' 23:59:59' ,
|
||||
'1' ,
|
||||
LQLB.LQLX ,
|
||||
LQZCD.lqzk,
|
||||
'1' ,LQZCD.SPZK,A.VPDM,SPFW
|
||||
FROM LQZCD
|
||||
INNER JOIN LQLB ON LQLB.LBDM = LQZCD.LBDM
|
||||
INNER JOIN @TabCoupn A ON A.CODE='1'
|
||||
INNER JOIN V_VIPSET B WITH (NOLOCK) ON A.VPDM=B.DM
|
||||
WHERE LQZCD.DJBH=@DJBH
|
||||
SET @ERROR+=@@ERROR
|
||||
IF (@ERROR>0)
|
||||
BEGIN
|
||||
ROLLBACK TRAN
|
||||
GOTO FAIL
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
COMMIT;
|
||||
GOTO OK
|
||||
END
|
||||
FAIL:
|
||||
SELECT CODE,LQBH,VPDM,GKDM,MSG,@StartDate StartDate,@EndDate EndDate,@DJBH DJBH FROM @TabCoupn;
|
||||
RETURN;
|
||||
OK:
|
||||
SELECT CODE,LQBH,VPDM,GKDM,MSG,@StartDate StartDate,@EndDate EndDate,@DJBH DJBH FROM @TabCoupn ;
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
DROP PROCEDURE [dbo].[xb_sjsx]
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[xb_sjsx] Script Date: 2024-11-08 18:07:50 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--零售销货单满额赠券
|
||||
CREATE PROCEDURE [dbo].[xb_sjsx] @dh varchar(100) --零售单号
|
||||
AS
|
||||
declare @rq varchar(100)
|
||||
declare @dp varchar(50)
|
||||
declare @je numeric(18, 4)
|
||||
declare @zcdh1 varchar(50)
|
||||
declare @zcdh2 varchar(50)
|
||||
declare @zcdh3 varchar(50)
|
||||
declare @djbh varchar(100)
|
||||
declare @kbcxdh varchar(100)
|
||||
declare @Sql VARCHAR(MAX)
|
||||
declare @sql1 VARCHAR(MAX)
|
||||
declare @hdje numeric(18, 4)
|
||||
declare @lqzs int
|
||||
declare @i int
|
||||
declare @j int
|
||||
declare @k int
|
||||
declare @vpdm varchar(50)
|
||||
IF EXISTS(SELECT 1
|
||||
FROM LSXHD
|
||||
WHERE XPBH = @DH)
|
||||
BEGIN
|
||||
begin
|
||||
set @i = 1 --制成单1变量
|
||||
set @j = 1 --制成单2变量
|
||||
set @k = 1 --制成单3变量
|
||||
set @zcdh1 = 'LPH0000041' --制成单1-800-200,11.08-11.12 312门店,409门店
|
||||
set @zcdh2 = 'LPH00000027' --制成单2----------------
|
||||
set @zcdh3 = 'LPH00000028' --制成单3----------------
|
||||
set @hdje = '800' --活动金额
|
||||
|
||||
select @rq = CONVERT(varchar(100), rq, 23), @dp = dm1, @djbh = DJBH ,@vpdm=dm6
|
||||
from LSXHD
|
||||
where XPBH = @dh --取日期,店铺,零售单号
|
||||
select @je = SUM(je) from LSXHDJS where djbh = @djbh and JSFS not in ('001', '005', '066') --查有效金额
|
||||
set @lqzs = @je / @hdje
|
||||
if not exists(select 1 from lsxhdjs where djbh = @djbh and JSFS = '001') --有礼券不参与返券
|
||||
begin
|
||||
if @dp in (select sddm from lqzcdfw where djbh = @zcdh1) and @rq >= '2024-11-08' and
|
||||
@rq <= '2024-11-12'
|
||||
---判断店铺和日期是否符合-礼券制成单1 exec P_SendCoupon @zcdh1 ,@vpdm
|
||||
begin
|
||||
|
||||
DECLARE @zs INT = 1;
|
||||
WHILE @zs <= @lqzs
|
||||
BEGIN
|
||||
exec P_SendCoupon @zcdh1 ,@vpdm
|
||||
SET @zs = @zs + 1;
|
||||
END
|
||||
|
||||
end
|
||||
else
|
||||
if @dp in (select sddm from lqzcdfw where djbh = @zcdh2) and @rq >= '2023-06-17' and
|
||||
@rq <= '2023-06-28'
|
||||
---判断店铺和日期是否符合-礼券制成单2
|
||||
begin
|
||||
select 1
|
||||
|
||||
end
|
||||
else
|
||||
if @dp in (select sddm from lqzcdfw where djbh = @zcdh3) and @rq >= '2023-06-22' and
|
||||
@rq <= '2023-06-29'
|
||||
---判断店铺和日期是否符合-礼券制成单3
|
||||
begin
|
||||
select 1
|
||||
|
||||
end
|
||||
end
|
||||
END
|
||||
print (@sql)
|
||||
EXEC (@sql)
|
||||
end
|
||||
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[P_API_IPOS_SAVE_ZP] Script Date: 2024-11-08 18:09:48 ******/
|
||||
DROP PROCEDURE [dbo].[P_API_IPOS_SAVE_ZP]
|
||||
GO
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[P_API_IPOS_SAVE_ZP] Script Date: 2024-11-08 18:09:48 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
|
||||
CREATE PROC [dbo].[P_API_IPOS_SAVE_ZP] (
|
||||
@XPBH VARCHAR (50) -- 小票号
|
||||
) AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @XHDH VARCHAR(50)=''; -- 零售销货单单号
|
||||
DECLARE @THDH VARCHAR(50)=''; -- 零售退货单单号
|
||||
DECLARE @ERRMSG NVARCHAR(4000) = N'',@ERRS INT
|
||||
SET @ERRS=0
|
||||
SELECT @XHDH=DJBH FROM LSXHD WITH(NOLOCK) WHERE XPBH=@XPBH
|
||||
SELECT @THDH=DJBH FROM LSTHD WITH(NOLOCK) WHERE XPBH=@XPBH AND @XHDH=''
|
||||
|
||||
IF @XHDH='' AND @THDH=''
|
||||
BEGIN
|
||||
SELECT 0
|
||||
RETURN
|
||||
END
|
||||
|
||||
BEGIN TRAN
|
||||
BEGIN TRY
|
||||
IF @XHDH <> ''
|
||||
BEGIN
|
||||
INSERT INTO LSXHDZP (DJBH,SPDM,GG1DM,GG2DM,SL,SL_1,CKJ,ZK,DJ,DJ_1,JE,JE_1,BYZD1,BYZD2,BYZD3,BYZD4,BYZD5,BYZD6,BYZD7,BYZD8,BZ,DJ_3)
|
||||
SELECT DJBH,SPDM,GG1DM,GG2DM,SL,SL_1,CKJ,ZK,DJ,DJ_1,JE,JE_1,BYZD1,BYZD2,BYZD3,BYZD4,XPBH,BYZD6,BYZD7,BYZD8,BZ,DJ_3
|
||||
FROM LSXHDMX WITH(NOLOCK) WHERE DJBH = @XHDH AND SP_Status=3
|
||||
SET @ERRS=@ERRS+@@ERROR
|
||||
DELETE FROM LSXHDMX WHERE DJBH = @XHDH AND SP_Status=3
|
||||
SET @ERRS=@ERRS+@@ERROR
|
||||
END
|
||||
ELSE IF @THDH <> ''
|
||||
BEGIN
|
||||
INSERT INTO LSTHDZP (DJBH,SPDM,GG1DM,GG2DM,SL,SL_1,CKJ,ZK,DJ,DJ_1,JE,JE_1,BYZD1,BYZD2,BYZD3,BYZD4,BYZD5,BYZD6,BYZD7,BYZD8,BZ,DJ_3)
|
||||
SELECT DJBH,SPDM,GG1DM,GG2DM,SL,SL_1,CKJ,ZK,DJ,DJ_1,JE,JE_1,BYZD1,BYZD2,BYZD3,BYZD4,XPBH,BYZD6,BYZD7,BYZD8,BZ,DJ_3
|
||||
FROM LSTHDMX WITH(NOLOCK) WHERE DJBH = @THDH AND SP_Status=3
|
||||
SET @ERRS=@ERRS+@@ERROR
|
||||
DELETE FROM LSTHDMX WHERE DJBH = @THDH AND SP_Status=3
|
||||
SET @ERRS=@ERRS+@@ERROR
|
||||
END
|
||||
|
||||
EXEC xb_sjsx @XPBH
|
||||
|
||||
END TRY
|
||||
|
||||
BEGIN CATCH
|
||||
SET @ERRMSG = N'出现异常, 错误编号: ' + CONVERT(varchar, ERROR_NUMBER())
|
||||
+ N', 错误行号:' + CONVERT(varchar, ERROR_LINE())
|
||||
+ N', 错误消息:' + ERROR_MESSAGE();
|
||||
SET @ERRS=@ERRS+@@ERROR
|
||||
END CATCH;
|
||||
|
||||
IF @ERRS=0
|
||||
BEGIN
|
||||
COMMIT TRAN
|
||||
SELECT 0
|
||||
END
|
||||
ELSE BEGIN
|
||||
ROLLBACK TRAN
|
||||
SELECT -1
|
||||
END
|
||||
|
||||
IF @ERRMSG<>''
|
||||
BEGIN
|
||||
INSERT INTO dbo.ProERRMSG( ProName ,FMID ,ERRMSG,BYZD1 )
|
||||
VALUES ('P_API_IPOS_SAVE_ZP' ,@XPBH ,ISNULL(@ERRMSG,''),'')
|
||||
RETURN;
|
||||
END
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user