Piolot_RepotForm_PeiHao/非C#代码文件/收款单核销流水存储过程.sql

181 lines
7.0 KiB
MySQL
Raw Normal View History

2025-07-02 15:07:57 +08:00
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE> P202502080013
IF OBJECT_ID('dbo.[PR_YingShouSBU_yuyubo]', 'P') IS NOT NULL
BEGIN
DROP PROCEDURE dbo.PR_YingShouSBU_yuyubo;
PRINT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dbo.[PR_YingShouSBU_yuyubo] <20><>ɾ<EFBFBD><C9BE>';
END
GO
-- <20><><EFBFBD><EFBFBD><EFBFBD>µĴ洢<C4B4><E6B4A2><EFBFBD><EFBFBD>
2025-07-26 09:56:58 +08:00
CREATE PROCEDURE dbo.PR_YingShouSBU_yuyubo @BeginDATE DATETIME='2024-01-01'
2025-07-02 15:07:57 +08:00
AS
BEGIN
DELETE [ZZZ_HeXiaoBook] WHERE [ShouKuanFDate]>=@BeginDATE
2025-07-08 16:54:10 +08:00
DECLARE @FDATE DATETIME,@FBILLNO NVARCHAR(200),@ShouKuanFID INT,@FSALEORGID INT ,@F_contractnumber NVARCHAR(2000),@fid2 INT,@fid3 INT,@amount DECIMAL(18,2),@hexiao DECIMAL(18,2);
2025-07-02 15:07:57 +08:00
-- 1. <20><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD>
DECLARE cursor_name2 CURSOR FOR
SELECT FDATE,FBILLNO,FID,FSALEORGID,F_contractnumber FROM T_AR_RECEIVEBILL
WHERE FDOCUMENTSTATUS='C' AND FDATE>=@BeginDATE
ORDER BY FDATE
OPEN cursor_name2;
FETCH NEXT FROM cursor_name2
INTO @FDATE,
@FBILLNO,
@ShouKuanFID,
@FSALEORGID,
@F_contractnumber
WHILE @@FETCH_STATUS = 0
BEGIN
2025-07-08 16:54:10 +08:00
SELECT @hexiao=0;
2025-07-02 15:07:57 +08:00
---<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--
SELECT @fid2=0,@fid3=0;
SELECT @fid2=FID FROM dbo.T_AutoWrireRecordEntry2 WHERE FBILLNO3=@FBILLNO
IF(@fid2>0)
begin
SELECT @FDATE=ISNULL(F_YeWuDate,FCREATEDATE),@fid3=FID FROM T_AutoWrireRecord
WHERE FID=@fid2 AND FDOCUMENTSTATUS='C'
IF(@fid3>0)
2025-07-08 16:54:10 +08:00
BEGIN
SELECT @hexiao=1;
2025-07-02 15:07:57 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-07-08 19:17:42 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType])
2025-07-02 15:07:57 +08:00
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE
,(CASE WHEN b.FALLAMOUNT22<c.FALLAMOUNT33 THEN b.FALLAMOUNT22 ELSE c.FALLAMOUNT33 END)
2025-07-08 19:17:42 +08:00
,@FSALEORGID,'<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',@fid2,dd.FExchangeRate,FSettleCurrId,FLocalCurrId,0 FROM T_SAL_ORDER a
2025-07-02 15:07:57 +08:00
LEFT JOIN T_AutoWrireRecordEntry b ON a.FBILLNO=b.FBILLNO2
LEFT JOIN T_AutoWrireRecordEntry2 c ON b.FID=c.FID
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
WHERE b.FID=@fid2 AND c.FBILLNO3=@FBILLNO )
END
end
------<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--------------
SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0;
SELECT @fid2=FID FROM dbo.VRYF_t_Cust_Entry100025 WHERE FBILLNO3=@FBILLNO
2025-07-24 10:43:24 +08:00
SELECT @FDATE=ISNULL(F_YeWuDate,FCREATEDATE),@fid3=FID FROM VRYF_t_Cust100015
2025-07-02 15:07:57 +08:00
WHERE FID=@fid2 AND FDOCUMENTSTATUS='C'
IF(@fid3>0)
BEGIN
SELECT @F_contractnumber=FCONTRACTNUMBER,@amount=FALLAMOUNT22 FROM VRYF_t_Cust_Entry100024 a WHERE a.FID=@fid2
2025-07-08 16:54:10 +08:00
SELECT @hexiao=@amount;
2025-07-02 15:07:57 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-07-08 19:17:42 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType])
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,@amount,@FSALEORGID,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',@fid2, dd.FExchangeRate,FSettleCurrId,FLOCALCURRID,0 FROM T_SAL_ORDER a
2025-07-02 15:07:57 +08:00
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
WHERE a.FSALEORGID=[FSaleOrgId] and a.F_CONTRACTNUMBER=@F_contractnumber)
END
-----Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>---------
SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0;
SELECT d.FDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT ,FSRCBILLID
INTO #temp2
FROM T_AR_RECMacthLog a
LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID
LEFT JOIN T_BAS_BILLTYPE c ON b.FSOURCETYPE=c.FBILLTYPEID
LEFT JOIN t_AR_RECEIVEBILL d ON d.FBILLNO=b.FSRCBILLNO
WHERE FVERIFYSEQ IN (SELECT FVERIFYSEQ FROM T_AR_RECMacthLog a
LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLNO AND b.FSOURCETYPE='36cf265bd8c3452194ed9c83ec5e73d2')
--SELECT * FROM #temp2
--SELECT @amount= SUM(FCURWRITTENOFFAMOUNT) FROM #temp2 WHERE FBILLFORMID !='AR_RECEIVEBILL'
SELECT @fid2=FSRCBILLID,@fid3=FVERIFYSEQ FROM #temp2 WHERE FBILLFORMID ='AR_receivable'
--SELECT @F_contractnumber= F_PAPERPRO FROM T_AR_receivable WHERE fid=@fid2
--PRINT '<EFBFBD><EFBFBD>ͬ<EFBFBD>ţ<EFBFBD>'+@F_contractnumber;
IF(@fid2>0)
BEGIN
2025-07-08 16:54:10 +08:00
SELECT @hexiao=1;
2025-07-02 15:07:57 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-07-08 19:17:42 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType])
2025-07-02 15:07:57 +08:00
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,d.FCURWRITTENOFFAMOUNTFOR,@FSALEORGID,'Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',@fid3
2025-07-08 19:17:42 +08:00
,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0
2025-07-02 15:07:57 +08:00
FROM T_SAL_ORDER a
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
LEFT JOIN T_AR_receivable c ON c.F_PAPERPRO=a.F_CONTRACTNUMBER AND c.FSALEORGID=a.FSALEORGID
LEFT JOIN #temp2 d ON d.FSRCBILLID=c.fid AND d.FBILLFORMID ='AR_receivable'
WHERE a.FSALEORGID=@FSALEORGID AND d.FBILLFORMID='AR_receivable')
end
DROP TABLE #temp2
2025-07-08 16:54:10 +08:00
--------------<EFBFBD>տ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ϸ--------
IF(@hexiao=0)
begin
SELECT @fid2=a.FID FROM T_AR_RECEIVEBILL a LEFT JOIN T_AR_RECEIVEBILLSRCENTRY b ON a.FID=b.FID
WHERE a.fid=@ShouKuanFID
IF(@fid2>0)
BEGIN
SELECT @hexiao=1;
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-07-08 19:17:42 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType])
2025-07-08 16:54:10 +08:00
( SELECT aa.fid,aa.FBILLNO,aa.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,b.FREALRECAMOUNT,@FSALEORGID,'<EFBFBD>տ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ϸ',@fid2
2025-07-08 19:17:42 +08:00
,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0
2025-07-08 16:54:10 +08:00
FROM T_AR_RECEIVEBILL a LEFT JOIN T_AR_RECEIVEBILLSRCENTRY b ON a.FID=b.FID
LEFT JOIN dbo.T_SAL_ORDER aa ON b.FSRCBILLID=aa.FID
LEFT JOIN T_SAL_ORDERFIN dd ON aa.FID=dd.FID
WHERE a.fid=@ShouKuanFID AND b.FREALRECAMOUNT <>0 )
END
end
2025-07-02 15:07:57 +08:00
--------<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--------------
IF(@FSALEORGID=100302)
begin
2025-07-08 16:54:10 +08:00
SELECT @hexiao=1;
2025-07-02 15:07:57 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-07-08 19:17:42 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType])
2025-07-26 09:56:58 +08:00
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,F_shareAmount,@FSALEORGID,'<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',c.FEntryID ,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0
FROM T_SAL_ORDER a
2025-07-02 15:07:57 +08:00
LEFT JOIN VRYF_t_Cust_Entry100021 c ON a.F_CONTRACTNUMBER=c.F_ORDERNO
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
2025-07-26 09:56:58 +08:00
WHERE a.FSALEORGID=@FSALEORGID AND c.F_Receiptnumber=@FBILLNO )
2025-07-02 15:07:57 +08:00
END
-- <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼
FETCH NEXT FROM cursor_name2
INTO @FDATE,
@FBILLNO,
@ShouKuanFID,
@FSALEORGID,
@F_contractnumber;
END
-- 4. <20>ر<EFBFBD><D8B1>α<EFBFBD>
CLOSE cursor_name2;
-- 5. <20>ͷ<EFBFBD><CDB7>α<EFBFBD><CEB1><EFBFBD>Դ
DEALLOCATE cursor_name2;
END