Files
GateDge2023_ljy/05.长园/CYG/应收转销存储过程V1.0.sql

74 lines
2.6 KiB
MySQL
Raw Normal View History

2024-08-29 09:42:49 +08:00
CREATE PROC PROC_UPDATE_AR_WRITEOFFMATCH
@billId int
AS
BEGIN
;WITH #<23><><EFBFBD><EFBFBD>Ӧ<EFBFBD>յ<EFBFBD> AS (
SELECT t0.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD>񵥾ݱ<EFBFBD><EFBFBD><EFBFBD>'
,t0.FID,t0e.FENTRYID,t0e.FSRCROWID,t0e.FSEQ
,t0e_lk.FSBILLID,t0e_lk.FSID
FROM T_AR_RECEIVABLE t0
INNER JOIN T_AR_RECEIVABLEENTRY t0e on t0.FID = t0e.FID
INNER JOIN T_AR_RECEIVABLEENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
WHERE 1=1
AND t0e_lk.FSTABLENAME = 't_AR_receivableEntry'
--AND t0.FBILLNO = @billNo
AND t0.FID = @billId
AND t0.FDOCUMENTSTATUS = 'C'
)
, #<23>ݹ<EFBFBD>Ӧ<EFBFBD>յ<EFBFBD> AS (
SELECT tt.<EFBFBD><EFBFBD><EFBFBD>񵥾ݱ<EFBFBD><EFBFBD><EFBFBD>
,tt.FID AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID'
,tt.FSEQ
,tt.FENTRYID AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ENTRYID'
,t0.FBILLNO AS '<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>'
,t0.FID AS '<EFBFBD>ݹ<EFBFBD>ID',t0e.FENTRYID AS '<EFBFBD>ݹ<EFBFBD>ENTRYID'
,t0e.FCOSTAMTSUM ,t0e.FBASICUNITQTY
,CAST(t0e.FCOSTAMTSUM / t0e.FBASICUNITQTY AS decimal(23,6)) AS '<EFBFBD>ݹ<EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>'
,t1.FID AS '<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID',t1e.FENTRYID AS '<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ENTRYID'
,t1.FBILLNO AS '<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>'
,t1e.FCOSTAMTSUM 'FCOSTAMTSUM1',t1e.FBASICUNITQTY 'FBASICUNITQTY1'
,CAST(t1e.FCOSTAMTSUM / t1e.FBASICUNITQTY AS decimal(23,6)) AS '<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>سɱ<EFBFBD><EFBFBD><EFBFBD>'
FROM #<23><><EFBFBD><EFBFBD>Ӧ<EFBFBD>յ<EFBFBD> tt
INNER JOIN T_AR_RECEIVABLEENTRY t0e on tt.FSBILLID = t0e.FID AND tt.FSID = t0e.FENTRYID
INNER JOIN T_AR_RECEIVABLE t0 on t0.FID = t0e.FID
INNER JOIN T_AR_RECEIVABLEENTRY t1e on t1e.FSRCROWID = t0e.FENTRYID
INNER JOIN T_AR_RECEIVABLE t1 on t1.FID = t1e.FID
WHERE 1=1
AND t0.FDOCUMENTSTATUS = 'C'
AND t1.FDOCUMENTSTATUS = 'C'
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
SELECT t1.*,t0.*
FROM #<23>ݹ<EFBFBD>Ӧ<EFBFBD>յ<EFBFBD> t0
CROSS APPLY (
SELECT t3e.FENTRYID AS 'ENTRYID'
,t1e.FSRCBILLID,t3.FBILLNO--,t3e.FSEQ
,t3e.FALLAMOUNT,t3e.FALLAMOUNTFOR
,t3e.FTAXAMOUNT,t3e.FTAXAMOUNTFOR
,t3e.FNOTAXAMOUNT,t3e.FNOTAXAMOUNTFOR
--,t3e.FBASICUNITQTY
,t3e.F_CYG_TECost
,t3e.F_CYG_TEAmount
,t3e.F_CYG_TECBCost
,t3e.F_CYG_TECBAmount
FROM T_AR_RECMACTHLOG t1
INNER JOIN T_AR_RECMACTHLOGENTRY t1e on t1.FID = t1e.FID
INNER JOIN T_AR_RECMACTHLOGENTRY t2e on t2e.FID = t1e.FID
INNER JOIN T_AR_RECEIVABLE t3 on t3.FID = t1e.FSRCBILLID
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID AND t3e.FSEQ = t0.FSEQ
WHERE 1=1
AND t2e.FSRCBILLID = t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID
AND t2e.FSOURCEFROMID = 'AR_receivable'
AND t1e.FISADIBILL = 1
AND t1.FMATCHFIELDNAME = 'FMatchAmount'
) t1
)
--SELECT * FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--ORDER BY ENTRYID,FSEQ
UPDATE t0e SET t0e.F_CYG_TECost = t1.<EFBFBD>ݹ<EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>
,t0e.F_CYG_TEAmount = t1.FCOSTAMTSUM
,t0e.F_CYG_TECBCost = t1.<EFBFBD>ݹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>سɱ<EFBFBD><EFBFBD><EFBFBD>
,t0e.F_CYG_TECBAmount = t1.FCOSTAMTSUM1
FROM T_AR_RECEIVABLEENTRY t0e
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t1 on t1.ENTRYID = t0e.FENTRYID
END