This commit is contained in:
2025-08-14 11:22:33 +08:00
parent 04bbc82014
commit 4679f5bc57
3 changed files with 223 additions and 64 deletions

View File

@@ -35,61 +35,132 @@ ORDER BY FDATE
SELECT @hexiao=0;
---<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)
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
------<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>--------------
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
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>--------------
SELECT @fid2=0,@fid3=0,@F_contractnumber='',@amount=0;
SELECT @fid2=FID FROM dbo.VRYF_t_Cust_Entry100025 WHERE FBILLNO3=@FBILLNO
@@ -115,7 +186,8 @@ ORDER BY FDATE
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
SELECT d.FDATE,FBILLFORMID, FVERIFYSEQ,FSOURCETYPE,FCURWRITTENOFFAMOUNTFOR,FCURWRITTENOFFAMOUNT,FSRCBILLNO,b.FEXCHANGERATE,FCURTAXMATCHAMOUNT,FCURNOTAXMATCHAMOUNT
,FSRCBILLID ,b.FCURRENCYID,b.FLOCALCURRID
INTO #temp2
FROM T_AR_RECMacthLog a
LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID
@@ -131,6 +203,22 @@ LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLN
IF(@fid2>0)
BEGIN
SELECT @hexiao=1;
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
INSERT INTO [dbo].[ZZZ_HeXiaoBook]
([XiaoShouFid]
,[XiaoShouBillNo]
@@ -141,7 +229,7 @@ LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLN
,[BenCiHeXiao]
,[FSaleOrgId],Note,NoteFid,FExchangeRate,FSettleCurrId,FLOCALCURRID,[ShouKuanType],Remark)
( SELECT a.fid,a.FBILLNO,a.F_CONTRACTNUMBER,@ShouKuanFID,@FBILLNO,@FDATE,FCURWRITTENOFFAMOUNTFOR*FALLAMOUNTFOR_D,@FSALEORGID,'Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>',@fid3
,dd.FEXCHANGERATE,FSettleCurrId,FLOCALCURRID,0 ,@remark
,dd.FEXCHANGERATE,dd.FSettleCurrId,dd.FLOCALCURRID,0 ,@remark
FROM T_SAL_ORDER a
LEFT JOIN T_SAL_ORDERFIN dd ON a.FID=dd.FID
LEFT JOIN
@@ -153,9 +241,28 @@ LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLN
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
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')
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)
( SELECT 0,'','',@ShouKuanFID,@FBILLNO,@FDATE,FCURWRITTENOFFAMOUNTFOR,@FSALEORGID,'Ӧ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD>Ӧ<EFBFBD>յ<EFBFBD>',@fid3
,FEXCHANGERATE,FCURRENCYID,FLOCALCURRID,0 ,@remark
FROM #temp2 d
WHERE d.FBILLFORMID='AR_RECEIVEBILL' )
END
END
ELSE
BEGIN
@@ -221,7 +328,7 @@ LEFT JOIN dbo.T_AR_RECMACTHLOGENTRY b ON a.FID=b.FID WHERE b.FSRCBILLNO=@FBILLN
FROM T_SAL_ORDER a
RIGHT 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=@FBILLNO )
WHERE (a.FSALEORGID=100302 OR a.fid IS NULL ) AND c.F_Receiptnumber=@FBILLNO AND c.F_ORDERNO NOT LIKE '%<25><>%' )
END
-- <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼