Files
GateDge2023_ljy/05.长园/CYG/销售合同数据计算/3.销售合同计算_更新合同数据.sql

109 lines
4.0 KiB
MySQL
Raw Normal View History

2024-12-05 15:39:19 +08:00
;WITH #<23><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD> AS (
SELECT t4.FOldFId
,CAST(t4.FJSONDATA AS nvarchar(4000)) AS 'FJSONDATA'
,ROW_NUMBER() OVER (PARTITION BY t4.FOldFId ORDER BY t4.FVERSION DESC) RN
FROM T_SCM_BILLCHANGEVERSIONS t4
WHERE 1 = 1
AND t4.FFormId = 'CRM_Contract'
AND t4.FACTIVESTATUS != 'A'
)
,#<23><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD> AS (
SELECT t0.FID,t0.FBILLNO
,t0.FNAME as FName
,t0.FDOCUMENTSTATUS
,t0.F_CYG_ContractNoDL
,'A' AS 'FFORBIDSTATUS'
,t0f.FCONTRACTAMOUNT_LC AS 'FCONTRACTAMOUNT'
,ISNULL(t4.FCONTRACTAMOUNT_X,t0f.F_CYG_CONTRACTCHANGE) AS 'FCONTRACTAMOUNT_X'
,ISNULL(t1.SAL_ORDER_AMOUNT,0) AS 'SAL_ORDER_AMOUNT'
,ISNULL(t1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,ISNULL(t1.<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,ISNULL(t1.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>,0) AS '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,ISNULL(t1.<EFBFBD>ɱ<EFBFBD>С<EFBFBD><EFBFBD>,0) AS '<EFBFBD>ɱ<EFBFBD>С<EFBFBD><EFBFBD>'
,ISNULL(t2.AR_RECEIVABLE_AMOUNT,0) AS 'AR_RECEIVABLE_AMOUNT'
,ISNULL(t3.AR_RECEIVABLE_AMOUNT2,0) AS 'AR_RECEIVABLE_AMOUNT2'
FROM T_CRM_CONTRACT t0
INNER JOIN T_CRM_CONTRACTFIN t0f on t0f.FID = t0.FID
OUTER APPLY (
SELECT t0.FID AS 'CONTRACT_ID'
,SUM(t1e_f.FALLAMOUNT_LC) SAL_ORDER_AMOUNT
,SUM(t1e.F_CYG_OPENTOTAL) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,SUM(t1e.F_CYG_OUTSOURCINGTOTAL) AS '<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,SUM(t1e.F_CYG_MOUNTINGTOTAL) AS '<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>'
,SUM(t1e.F_CYG_COSTTOTAL) AS '<EFBFBD>ɱ<EFBFBD>С<EFBFBD><EFBFBD>'
FROM T_SAL_ORDER t1
INNER JOIN T_SAL_ORDERENTRY t1e on t1e.FID = t1.FID
INNER JOIN T_SAL_ORDERENTRY_F t1e_f on t1e_f.FENTRYID = t1e.FENTRYID
WHERE t1.FCRMContractId = t0.FID
AND t1.FDOCUMENTSTATUS = 'C'
GROUP BY t1.FCRMContractId
) t1
OUTER APPLY (
SELECT SUM(t3e.FALLAMOUNT) AS AR_RECEIVABLE_AMOUNT,tt.FCRMContractId
FROM T_SAL_ORDER tt
INNER JOIN T_AR_RECEIVABLE t3 on tt.FBILLNO = t3.FBILLNOS
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID
WHERE tt.FCRMContractId = t0.FID
AND tt.FDOCUMENTSTATUS = 'C'
AND t3.FSETACCOUNTTYPE = '2'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD>ݹ<EFBFBD>
AND t3.FDOCUMENTSTATUS = 'C'
AND CHARINDEX('-',t3.FBILLNO) = 0
GROUP BY tt.FCRMContractId
) t2
OUTER APPLY (
SELECT SUM(t3e.FALLAMOUNT) AS AR_RECEIVABLE_AMOUNT2,tt.FCRMContractId
FROM T_SAL_ORDER tt
INNER JOIN T_AR_RECEIVABLE t3 on tt.FBILLNO = t3.FBILLNOS
INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FID = t3.FID
WHERE tt.FCRMContractId = t0.FID
AND tt.FDOCUMENTSTATUS = 'C'
AND t3.FSETACCOUNTTYPE = '3'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AND t3.FDOCUMENTSTATUS = 'C'
AND CHARINDEX('-',t3.FBILLNO) = 0
GROUP BY tt.FCRMContractId
) t3
OUTER APPLY (
SELECT CAST(JSON_VALUE(t4.FJSONDATA,'$.CRM_ContractFIN[0].FCONTRACTAMOUNT_LC') AS decimal(23,10)) - t0f.FCONTRACTAMOUNT_LC 'FCONTRACTAMOUNT_X'
FROM #<23><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD> t4
WHERE t4.FOLDFID = t0.FID AND t4.RN = 2
) t4
WHERE 1=1
AND t0.FDOCUMENTSTATUS = 'C'
AND t0.F_CYG_CONTRACTTYPE = '664cd624468638'
)
, #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
SELECT t0.FID,t0.FBILLNO
,t0.FCONTRACTAMOUNT AS '<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.FCONTRACTAMOUNT_X AS '<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.SAL_ORDER_AMOUNT AS '<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>'
,t0.FCONTRACTAMOUNT - t0.SAL_ORDER_AMOUNT AS 'δ<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>'
,t0.AR_RECEIVABLE_AMOUNT AS '<EFBFBD>ۼƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>'
,t0.SAL_ORDER_AMOUNT - t0.AR_RECEIVABLE_AMOUNT AS 'ʣ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>'
,0 AS '<EFBFBD><EFBFBD>ͬ<EFBFBD>տ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,0 AS '<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>տ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.AR_RECEIVABLE_AMOUNT2 AS '<EFBFBD>ۼƿ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.AR_RECEIVABLE_AMOUNT - t0.AR_RECEIVABLE_AMOUNT2 AS 'δ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.<EFBFBD>ɱ<EFBFBD>С<EFBFBD><EFBFBD>
FROM #<23><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD> t0
)
--SELECT *
--FROM #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t0
--WHERE 1=1
UPDATE t0 SET t0.F_CYG_CUMSALESORDERS = tt.<EFBFBD>ۼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
,t0.F_CYG_NOORDERSALES = tt.δ<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
,t0.F_CYG_CUMSHIPMENT = tt.<EFBFBD>ۼƷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
,t0.F_CYG_REMAINSHIPMENT = tt.ʣ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
,t0.F_CYG_CONTRACTCOLLECTION = tt.<EFBFBD><EFBFBD>ͬ<EFBFBD>տ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.F_CYG_SHIPMENTUNCOLLECTION = tt.<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD>տ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.F_CYG_CONTRACTCHANGE = tt.<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.F_CYG_ACCUMULATEDINVOIC = tt.<EFBFBD>ۼƿ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.F_CYG_UNINVOICEDAMOUNT = tt.δ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0.F_CYG_OPENPRICE = tt.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.F_CYG_OUTSOURCINGPRICE = tt.<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.F_CYG_MOUNTINGCOST = tt.<EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>
,t0.F_CYG_COST = tt.<EFBFBD>ɱ<EFBFBD>С<EFBFBD><EFBFBD>
FROM T_CRM_CONTRACTFIN t0
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> tt on t0.FID = tt.FID