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

489 lines
17 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-08-16 18:06:48 +08:00
CREATE PROCEDURE dbo.PR_YingShouSBU_yuyubo @BeginDATE DATETIME='2000-01-01'
2025-07-02 15:07:57 +08:00
AS
BEGIN
2025-08-16 18:06:48 +08:00
DELETE [ZZZ_HeXiaoBook] WHERE [ShouKuanFDate]>=@BeginDATE
OR ShouKuanType>0
2025-07-02 15:07:57 +08:00
2025-08-05 15:46:47 +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)
,@remark NVARCHAR(200);
2025-07-02 15:07:57 +08:00
-- 1. <20><><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD>
DECLARE cursor_name2 CURSOR FOR
2025-08-05 15:46:47 +08:00
SELECT FDATE,FBILLNO,FID,FSALEORGID,F_contractnumber,FREMARK FROM T_AR_RECEIVEBILL
2025-07-02 15:07:57 +08:00
WHERE FDOCUMENTSTATUS='C' AND FDATE>=@BeginDATE
ORDER BY FDATE
OPEN cursor_name2;
FETCH NEXT FROM cursor_name2
INTO @FDATE,
@FBILLNO,
@ShouKuanFID,
@FSALEORGID,
2025-08-05 15:46:47 +08:00
@F_contractnumber,@remark
2025-07-02 15:07:57 +08:00
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;
2025-08-14 11:22:33 +08:00
DECLARE cursor_name33 CURSOR FOR
SELECT FID FROM dbo.T_AutoWrireRecordEntry2 WHERE FBILLNO3=@FBILLNO
OPEN cursor_name33;
FETCH NEXT FROM cursor_name33
INTO @fid2
WHILE @@FETCH_STATUS = 0
BEGIN
2025-08-15 19:44:31 +08:00
SELECT @fid3=0;
2025-08-14 11:22:33 +08:00
IF (@fid2 > 0)
BEGIN
SELECT @FDATE = ISNULL(F_YEWUDATE, FCREATEDATE),
@fid3 = FID
FROM T_AutoWrireRecord
WHERE FID = @fid2 AND FDOCUMENTSTATUS = 'C';
IF (@fid3 > 0)
BEGIN
SELECT @hexiao = 1;
IF ((SELECT COUNT(1)FROM T_AutoWrireRecordEntry2 WHERE FID = @fid2) < 2)
BEGIN
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
(
[XiaoShouFid],
[XiaoShouBillNo],
[XiaoShouHeTong],
[ShouKuanFid],
[ShouKuanBillNo],
[ShouKuanFDate],
[BenCiHeXiao],
[FSaleOrgId],
Note,
NoteFid,
FExchangeRate,
FSettleCurrId,
FLOCALCURRID,
[ShouKuanType],
Remark
)
(SELECT a.FID,
a.FBILLNO,
a.F_CONTRACTNUMBER,
@ShouKuanFID,
@FBILLNO,
@FDATE,
b.FALLAMOUNT22,
@FSALEORGID,
'<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',
@fid2,
dd.FEXCHANGERATE,
FSETTLECURRID,
FLOCALCURRID,
0,
head.F_NOTE
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
LEFT JOIN T_AutoWrireRecord head
ON b.FID = head.FID
WHERE b.FID = @fid2
AND c.FBILLNO3 = @FBILLNO);
END;
ELSE
BEGIN
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
(
[XiaoShouFid],
[XiaoShouBillNo],
[XiaoShouHeTong],
[ShouKuanFid],
[ShouKuanBillNo],
[ShouKuanFDate],
[BenCiHeXiao],
[FSaleOrgId],
Note,
NoteFid,
FExchangeRate,
FSettleCurrId,
FLOCALCURRID,
[ShouKuanType],
Remark
)
(SELECT a.FID,
a.FBILLNO,
a.F_CONTRACTNUMBER,
@ShouKuanFID,
@FBILLNO,
@FDATE,
c.FALLAMOUNT33,
@FSALEORGID,
'<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',
@fid2,
dd.FEXCHANGERATE,
FSETTLECURRID,
FLOCALCURRID,
0,
head.F_NOTE
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
LEFT JOIN T_AutoWrireRecord head
ON b.FID = head.FID
WHERE b.FID = @fid2
AND c.FBILLNO3 = @FBILLNO);
END;
END;
END;
-- <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼
FETCH NEXT FROM cursor_name33
INTO @fid2;
END;
-- 4. <20>ر<EFBFBD><D8B1>α<EFBFBD>
CLOSE cursor_name33;
-- 5. <20>ͷ<EFBFBD><CDB7>α<EFBFBD><CEB1><EFBFBD>Դ
DEALLOCATE cursor_name33;
------<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--------------
2025-08-16 18:06:48 +08:00
SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0;
DECLARE cursor_name44 CURSOR FOR
SELECT FID FROM dbo.VRYF_t_Cust_Entry100025 WHERE FBILLNO3=@FBILLNO
OPEN cursor_name44;
FETCH NEXT FROM cursor_name44
INTO @fid2
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @fid3=0;
SELECT @FDATE=ISNULL(F_YeWuDate,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
SELECT @hexiao=@amount;
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
( 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
,@remark 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
FETCH NEXT FROM cursor_name44
INTO @fid2;
END;
-- 4. <20>ر<EFBFBD><D8B1>α<EFBFBD>
CLOSE cursor_name44;
-- 5. <20>ͷ<EFBFBD><CDB7>α<EFBFBD><CEB1><EFBFBD>Դ
DEALLOCATE cursor_name44;
2025-07-02 15:07:57 +08:00
-----Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>---------
SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0;
2025-08-15 19:44:31 +08:00
SELECT FVERIFYDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT
2025-08-14 11:22:33 +08:00
,FSRCBILLID ,b.FCURRENCYID,b.FLOCALCURRID
2025-07-02 15:07:57 +08:00
INTO #temp2
2025-08-16 18:06:48 +08:00
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
2025-08-20 11:17:25 +08:00
WHERE b.FSRCBILLNO=@FBILLNO AND b.FSOURCETYPE='36cf265bd8c3452194ed9c83ec5e73d2' AND FVERIFYDATE>=@BeginDATE
) AND FVERIFYSEQ NOT IN (100135)
2025-07-02 15:07:57 +08:00
--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-08-15 19:44:31 +08:00
SELECT @FDATE=FVERIFYDATE FROM #temp2;
2025-08-14 11:22:33 +08:00
IF((SELECT COUNT(1)
FROM T_SAL_ORDER a
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
LEFT JOIN
(SELECT c.FSALEORGID,ak.FORDERNUMBER ,c.FID,SUM(ak.FALLAMOUNTFOR)/(SELECT SUM(FALLAMOUNTFOR) FROM T_AR_RECEIVABLEENTRY akk
where akk.FID=ak.FID) FALLAMOUNTFOR_D
FROM T_AR_receivable c
LEFT JOIN T_AR_RECEIVABLEENTRY ak ON c.FID=ak.FID
GROUP BY c.FSALEORGID,ak.FORDERNUMBER ,c.FID,ak.FID
) c
ON c.FORDERNUMBER=a.FBILLNO AND c.FSALEORGID=a.FSALEORGID AND a.FBILLNO !=''
LEFT JOIN #temp2 d ON d.FSRCBILLID=c.fid AND d.FBILLFORMID ='AR_receivable'
WHERE a.FSALEORGID=@FSALEORGID AND d.FBILLFORMID='AR_receivable'
)>0)
begin
2025-07-02 15:07:57 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
2025-08-05 15:46:47 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
2025-08-15 19:44:31 +08:00
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,d.FVERIFYDATE,FCURWRITTENOFFAMOUNTFOR*FALLAMOUNTFOR_D,@FSALEORGID,'Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',@fid3
2025-08-14 11:22:33 +08:00
,dd.FEXCHANGERATE,dd.FSettleCurrId,dd.FLOCALCURRID,0 ,@remark
2025-07-02 15:07:57 +08:00
FROM T_SAL_ORDER a
2025-08-06 21:45:33 +08:00
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
LEFT JOIN
2025-08-13 19:40:29 +08:00
(SELECT c.FSALEORGID,ak.FORDERNUMBER ,c.FID,SUM(ak.FALLAMOUNTFOR)/(SELECT SUM(FALLAMOUNTFOR) FROM T_AR_RECEIVABLEENTRY akk
where akk.FID=ak.FID)
2025-08-16 18:06:48 +08:00
FALLAMOUNTFOR_D
2025-08-13 19:40:29 +08:00
FROM T_AR_receivable c
2025-08-06 21:45:33 +08:00
LEFT JOIN T_AR_RECEIVABLEENTRY ak ON c.FID=ak.FID
2025-08-13 19:40:29 +08:00
GROUP BY c.FSALEORGID,ak.FORDERNUMBER ,c.FID,ak.FID
2025-08-06 21:45:33 +08:00
) c
2025-08-14 11:22:33 +08:00
ON c.FORDERNUMBER=a.FBILLNO AND c.FSALEORGID=a.FSALEORGID AND a.FBILLNO !=''
2025-07-02 15:07:57 +08:00
LEFT JOIN #temp2 d ON d.FSRCBILLID=c.fid AND d.FBILLFORMID ='AR_receivable'
2025-08-14 11:22:33 +08:00
WHERE a.FSALEORGID=@FSALEORGID AND d.FBILLFORMID='AR_receivable' )
end
ELSE
begin
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
2025-08-15 19:44:31 +08:00
( SELECT 0,'','',@ShouKuanFID,@FBILLNO,d.FVERIFYDATE,FCURWRITTENOFFAMOUNTFOR,@FSALEORGID,'Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>Ӧ<EFBFBD>յ<EFBFBD>',@fid3
2025-08-14 11:22:33 +08:00
,FEXCHANGERATE,FCURRENCYID,FLOCALCURRID,0 ,@remark
FROM #temp2 d
WHERE d.FBILLFORMID='AR_RECEIVEBILL' )
END
2025-08-06 21:45:33 +08:00
END
ELSE
BEGIN
2025-08-15 19:44:31 +08:00
SELECT @fid2=FSRCBILLID,@fid3=FVERIFYSEQ,@hexiao=FCURWRITTENOFFAMOUNTFOR,@FDATE=FVERIFYDATE FROM #temp2 WHERE FSRCBILLNO=@FBILLNO AND FBILLFORMID='AR_RECEIVEBILL'
2025-08-06 21:45:33 +08:00
IF(@fid2>0)
BEGIN
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
( SELECT 0,'','',@ShouKuanFID,@FBILLNO,@FDATE,@hexiao,@FSALEORGID,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>տ',@fid3
,d.FEXCHANGERATE,FCURRENCYID,FMAINBOOKCURID,0 ,@remark
FROM T_AR_RECEIVEBILL d
2025-08-20 11:17:25 +08:00
WHERE d.FBILLNO=@FBILLNO )
2025-08-06 21:45:33 +08:00
END
end
2025-07-02 15:07:57 +08:00
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-08-05 15:46:47 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
2025-08-15 19:44:31 +08:00
( SELECT aa.fid,aa.FBILLNO,aa.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,a.FDATE,b.FREALRECAMOUNT,@FSALEORGID,'<EFBFBD>տ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ϸ',@fid2
2025-08-05 15:46:47 +08:00
,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0 ,@remark
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-08-05 15:46:47 +08:00
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
2025-08-15 19:44:31 +08:00
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,c.F_Date,F_shareAmount,@FSALEORGID,'<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',c.FEntryID ,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0 ,@remark
2025-07-26 09:56:58 +08:00
FROM T_SAL_ORDER a
2025-08-11 18:34:37 +08:00
RIGHT JOIN VRYF_t_Cust_Entry100021 c ON a.F_CONTRACTNUMBER=c.F_ORDERNO
2025-07-02 15:07:57 +08:00
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
2025-08-14 11:22:33 +08:00
WHERE (a.FSALEORGID=100302 OR a.fid IS NULL ) AND c.F_Receiptnumber=@FBILLNO AND c.F_ORDERNO NOT LIKE '%<25><>%' )
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,
2025-08-05 15:46:47 +08:00
@F_contractnumber
,@remark;
2025-07-02 15:07:57 +08:00
END
-- 4. <20>ر<EFBFBD><D8B1>α<EFBFBD>
CLOSE cursor_name2;
-- 5. <20>ͷ<EFBFBD><CDB7>α<EFBFBD><CEB1><EFBFBD>Դ
DEALLOCATE cursor_name2;
2025-08-07 15:33:34 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
( SELECT a.fid AS [XiaoShouFid],a.FBILLNO,a.F_CONTRACTNUMBER,b.FEntryID,head.FBILLNO,head.F_YEWUDATE
,b.FALLAMOUNT22
,a.FSaleOrgId,'<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',head.FID AS heahid,dd.FExchangeRate,FSettleCurrId,FLocalCurrId,2
,head.F_NOTE
FROM T_AutoWrireRecordEntry b
LEFT JOIN T_SAL_ORDER a 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
LEFT JOIN T_AutoWrireRecord head ON b.FID=head.FID
WHERE head.FDOCUMENTSTATUS='C' AND c.FID IS NULL
)
2025-08-05 15:46:47 +08:00
2025-08-07 15:33:34 +08:00
2025-08-05 15:46:47 +08:00
2025-08-06 21:45:33 +08:00
--------<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>----------
SELECT FVERIFYDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT ,FSRCBILLID,a.FMATCHMETHODID
INTO #temp222
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
WHERE a.FMATCHMETHODID=30
AND a.FVERIFYSEQ NOT IN
(SELECT DISTINCT FVERIFYSEQ from T_AR_RECMacthLog oo LEFT JOIN T_AR_RECMACTHLOGENTRY ll ON oo.FID=ll.FID
LEFT JOIN T_BAS_BILLTYPE c ON ll.FSOURCETYPE=c.FBILLTYPEID
WHERE FBILLFORMID='AR_RECEIVEBILL'
)
2025-08-13 19:40:29 +08:00
ORDER BY a.FVERIFYSEQ;
2025-08-06 21:45:33 +08:00
2025-08-07 15:33:34 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
2025-08-06 21:45:33 +08:00
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
(
2025-08-13 19:40:29 +08:00
SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,0,d.FSRCBILLNO,FVERIFYDATE,FCURWRITTENOFFAMOUNTFOR*FALLAMOUNTFOR_D,a.FSALEORGID,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>տ',FVERIFYSEQ
2025-08-07 15:33:34 +08:00
,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,1 ,''
2025-08-06 21:45:33 +08:00
FROM T_SAL_ORDER a
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
INNER JOIN
2025-08-13 19:40:29 +08:00
(SELECT c.FSALEORGID,ak.FORDERNUMBER ,c.FID,SUM(ak.FALLAMOUNTFOR)/(SELECT SUM(FALLAMOUNTFOR) FROM T_AR_RECEIVABLEENTRY akk
where akk.FID=ak.FID) FALLAMOUNTFOR_D
FROM T_AR_receivable c
2025-08-06 21:45:33 +08:00
LEFT JOIN T_AR_RECEIVABLEENTRY ak ON c.FID=ak.FID
2025-08-13 19:40:29 +08:00
GROUP BY c.FSALEORGID,ak.FORDERNUMBER ,c.FID,ak.FID
2025-08-06 21:45:33 +08:00
) c
2025-08-13 19:40:29 +08:00
ON c.FORDERNUMBER=a.FBILLNO AND c.FSALEORGID=a.FSALEORGID
2025-08-06 21:45:33 +08:00
INNER JOIN #temp222 d ON d.FSRCBILLID=c.fid AND d.FBILLFORMID ='AR_receivable'
2025-08-07 15:33:34 +08:00
WHERE d.FBILLFORMID='AR_receivable' AND a.FDOCUMENTSTATUS='C'
2025-08-06 21:45:33 +08:00
)
2025-08-07 15:33:34 +08:00
DROP TABLE #temp222
2025-08-16 18:06:48 +08:00
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
,[XiaoShouHeTong]
,[ShouKuanFid]
,[ShouKuanBillNo]
,[ShouKuanFDate]
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,0,'',c.F_Date,F_shareAmount,a.FSALEORGID,'<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>տ',c.FEntryID ,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,2 ,c.F_NOTES
FROM T_SAL_ORDER a
INNER 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=100302 OR a.fid IS NULL ) AND c.F_Receiptnumber='' AND c.F_ORDERNO NOT LIKE '%<25><>%' )
UPDATE [ZZZ_HeXiaoBook] SET ZhangLing= ISNULL( ROUND( DATEDIFF(DAY,[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>],[ZZZ_HeXiaoBook].ShouKuanFDate) / 30,0) ,0 )
FROM (SELECT a.XiaoShouFid,a.XiaoShouBillNo,[XiaoShouHeTong],a.ShouKuanFDate,b.Ԥ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>,b.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> FROM [ZZZ_HeXiaoBook] a
LEFT JOIN (SELECT b.<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID,MAX(b.Ԥ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>) AS Ԥ<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> ,max (b.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>) AS <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> FROM [ZRP_YingShouMingXi_yuyubo] b GROUP BY <EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID) b
ON a.XiaoShouFid=b.<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID) b
WHERE [ZZZ_HeXiaoBook].XiaoShouFid=b.XiaoShouFid
2025-08-06 21:45:33 +08:00
2025-08-16 18:16:53 +08:00
UPDATE T_SAL_ORDER SET F_AMOUNT=b.BenCiHeXiao
FROM (SELECT SUM(BenCiHeXiao ) BenCiHeXiao,XiaoShouBillNo FROM dbo.ZZZ_HeXiaoBook
GROUP BY XiaoShouBillNo) b
WHERE T_SAL_ORDER.FBILLNO=b.XiaoShouBillNo AND FSALEORGID=100302 AND F_AMOUNT <> b.BenCiHeXiao AND T_SAL_ORDER.FBILLNO!=''
2025-08-06 21:45:33 +08:00
2025-08-16 18:16:53 +08:00
UPDATE T_SAL_ORDER SET F_AMOUNT=0
WHERE FSALEORGID=100302 AND T_SAL_ORDER.FBILLNO='' AND F_AMOUNT !=0
UPDATE T_AR_RECEIVEBILL SET F_AMOUNT=b.BenCiHeXiao
FROM (SELECT SUM(BenCiHeXiao ) BenCiHeXiao,ShouKuanBillNo FROM dbo.ZZZ_HeXiaoBook
GROUP BY ShouKuanBillNo) b
WHERE T_AR_RECEIVEBILL.FBILLNO=b.ShouKuanBillNo AND FSALEORGID=100302 AND F_AMOUNT <> b.BenCiHeXiao AND T_AR_RECEIVEBILL.FBILLNO!=''
UPDATE T_AR_RECEIVEBILL SET F_AMOUNT=0
WHERE FSALEORGID=100302 AND T_AR_RECEIVEBILL.FBILLNO ='' AND F_AMOUNT !=0
2025-08-07 15:33:34 +08:00
2025-08-20 10:15:20 +08:00
UPDATE T_AR_RECEIVEBILL SET F_contractnumber=bb.hetong
FROM ( SELECT a.fid
,hetong=( SELECT STRING_AGG(XiaoShouHeTong, ',')
FROM (SELECT DISTINCT XiaoShouHeTong,ShouKuanBillNo FROM dbo.ZZZ_HeXiaoBook cc
WHERE ShouKuanBillNo!='' AND FSaleOrgId=100302 AND XiaoShouHeTong IS NOT NULL AND cc.ShouKuanBillNo=a.FBILLNO ) gg)
FROM T_AR_RECEIVEBILL a
WHERE a.FSALEORGID=100302) bb
WHERE FSALEORGID=100302 AND T_AR_RECEIVEBILL.fid=bb.fid AND bb.hetong IS NOT NULL;
2025-08-07 15:33:34 +08:00
--SELECT FVERIFYDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT ,FSRCBILLID,a.FMATCHMETHODID
--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
--WHERE a.FVERIFYSEQ =100135
2025-08-06 21:45:33 +08:00
2025-08-05 15:46:47 +08:00
END