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

159 lines
6.1 KiB
MySQL
Raw Normal View History

2025-07-11 15:28:56 +08:00
SELECT TOP 100 FSRCBILLID,d.FDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,B.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT , B.FSettleCurrId
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 FBILLFORMID IN ('AR_receivable','AR_RECEIVEBILL','AR_AdjustExchangeRate')
ORDER BY FVERIFYSEQ
SELECT FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT ,FSettleCurrId FROM T_AR_RECMacthLogENTRY
WHERE FSRCBILLNO IN ('PL-AR202412000100','XN-QC202412000154')
SELECT DISTINCT FSOURCETYPE,b.FBILLFORMID FROM T_AR_RECMacthLogENTRY a
LEFT JOIN T_BAS_BILLTYPE b ON a.FSOURCETYPE=b.FBILLTYPEID
SELECT FDATE,FDOCUMENTSTATUS FROM T_AR_RECEIVEBILL
SELECT * FROM T_BAS_BILLTYPE
WHERE FBILLTYPEID IN ('180ecd4afd5d44b5be78a6efe4a7e041','180ecd4afd5d44b5be78a6efe4a7e041')
OR FBILLFORMID='AR_RECEIVEBILL'
SELECT F_VRYF_Text_83g,* FROM t_AR_receivable
WHERE FBILLNO='PL-XSCKD20250601337-000001'
ORDER BY FDATE DESC
SELECT FDATE,FDOCUMENTSTATUS,FBILLNO,FID,FSALEORGID,F_contractnumber FROM T_AR_RECEIVEBILL
WHERE FDOCUMENTSTATUS='C'
ORDER BY FDATE
DELETE [ZZZ_HeXiaoBook] WHERE [ShouKuanFDate]>=@BeginDATE
DECLARE @FDATE DATETIME,@FBILLNO NVARCHAR(200),@ShouKuanFID INT,@FSALEORGID INT ,@F_contractnumber NVARCHAR(2000),@fid2 INT,@fid3 INT,@amount DECIMAL(18,2);
-- 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'
ORDER BY FDATE
OPEN cursor_name2;
FETCH NEXT FROM cursor_name2
INTO @FDATE,
@FBILLNO,
@ShouKuanFID,
@FSALEORGID,
@F_contractnumber
WHILE @@FETCH_STATUS = 0
BEGIN
---<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
SELECT @FDATE=ISNULL(F_YeWuDate,FCREATEDATE),@fid3=FID FROM T_AutoWrireRecord
WHERE FID=@fid2 AND FDOCUMENTSTATUS='C'
IF(@fid3>0)
BEGIN
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId])
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE
,(CASE WHEN b.FALLAMOUNT22<c.FALLAMOUNT33 THEN b.FALLAMOUNT22 ELSE c.FALLAMOUNT33 END) * dd.FExchangeRate
,@FSALEORGID FROM T_SAL_ORDER a
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 )
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
SELECT @FDATE=FCREATEDATE,@fid3=FID FROM VRYF_t_Cust100015
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
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId])
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,@amount * dd.FExchangeRate,@FSALEORGID FROM T_SAL_ORDER a
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 , b.FSettleCurrId
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 c.FBILLFORMID='AR_RECEIVEBILL')
SELECT @amount= SUM(FCURTAXMATCHAMOUNT) FROM #temp2 WHERE FBILLFORMID!='AR_RECEIVEBILL'
SELECT @fid2 FROM #temp2 WHERE FBILLFORMID ='AR_receivable'
SELECT @F_contractnumber= F_PAPERPRO FROM T_AR_receivable WHERE fid=@fid2
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId])
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,@amount,@FSALEORGID FROM T_SAL_ORDER a
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
WHERE a.FSALEORGID=[FSaleOrgId] and a.F_CONTRACTNUMBER=@F_contractnumber)
--------<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--------------
IF(@FSALEORGID=100302)
begin
SELECT F_ORDERNO,F_RECEIPTNUMBER,* FROM VRYF_t_Cust_Entry100021 WHERE F_matched=1 AND F_Receiptnumber=@FBILLNO
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId])
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,F_shareAmount,@FSALEORGID FROM T_SAL_ORDER a
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
WHERE a.FSALEORGID=[FSaleOrgId] AND F_matched=1 AND c.F_Receiptnumber=@FBILLNO )
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;