361 lines
34 KiB
Transact-SQL
361 lines
34 KiB
Transact-SQL
|
||
--EXEC [GetOrderData] 'Ö麣ĹÉĹľ','2025-01-01','2025-06-30'
|
||
ALTER PROCEDURE [dbo].[GetOrderData]
|
||
(
|
||
@FSaleOrgIdName nvarchar(1000),
|
||
@FSDate nvarchar(1000),
|
||
@FEDate nvarchar(1000),
|
||
@FPaperContract NVARCHAR(500)='',
|
||
@QuYu NVARCHAR(500)='' ,
|
||
@KH NVARCHAR(500)
|
||
)
|
||
as
|
||
DECLARE @FSaleOrgId nvarchar(1000);
|
||
DECLARE @FSDateDate DATE;
|
||
DECLARE @FEDateDate DATE;
|
||
|
||
SELECT @FSaleOrgId = FORGID
|
||
FROM T_ORG_ORGANIZATIONS_L WHERE
|
||
FNAME = @FSaleOrgIdName
|
||
|
||
SET @FSDateDate = CONVERT(DATE, @FSDate);
|
||
SET @FEDateDate = CONVERT(DATE, @FEDate);
|
||
|
||
-- @FEDate + 1Ěě
|
||
SET @FEDateDate = DATEADD(DAY, 1, @FEDateDate);
|
||
|
||
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.FAllAmount_LC) AS 'FAMOUNT'
|
||
INTO #SAL
|
||
FROM T_SAL_DELIVERYNOTICE A
|
||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY B ON A.FID = B.FID
|
||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='')
|
||
GROUP BY D.FENTRYID
|
||
|
||
|
||
SELECT D.FENTRYID,sum(b.fqty) AS 'FQTY',sum(E.FAllAmount_LC) AS 'FAMOUNT'
|
||
INTO #RETURN
|
||
FROM T_SAL_RETURNNOTICE A
|
||
INNER JOIN T_SAL_RETURNNOTICEENTRY B ON A.FID = B.FID
|
||
INNER JOIN T_SAL_RETURNNOTICEENTRY_F E ON E.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_ORDERENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='')
|
||
GROUP BY D.FENTRYID
|
||
|
||
|
||
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
|
||
INTO #OUTSTOCK
|
||
FROM T_SAL_OUTSTOCK A
|
||
INNER JOIN T_SAL_OUTSTOCKENTRY B ON A.FID = B.FID
|
||
INNER JOIN T_SAL_OUTSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_OUTSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
|
||
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
|
||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='')
|
||
GROUP BY F.FENTRYID
|
||
|
||
SELECT F.FENTRYID,sum(b.FREALQTY) AS 'FQTY',sum(G.FALLAMOUNT_LC) AS 'FAMOUNT'
|
||
INTO #RETURNSTOCK
|
||
FROM T_SAL_RETURNSTOCK A
|
||
INNER JOIN T_SAL_RETURNSTOCKENTRY B ON A.FID = B.FID
|
||
INNER JOIN T_SAL_RETURNSTOCKENTRY_F G ON G.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_RETURNSTOCKENTRY_LK C ON C.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_RETURNNOTICEENTRY D ON D.FID = C.FSBILLID AND D.FENTRYID = C.FSID
|
||
INNER JOIN T_SAL_RETURNNOTICEENTRY_LK E ON E.FENTRYID = D.FENTRYID
|
||
INNER JOIN T_SAL_ORDERENTRY F ON F.FID = E.FSBILLID AND F.FENTRYID = E.FSID
|
||
WHERE A.FDOCUMENTSTATUS= 'C'
|
||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='')
|
||
GROUP BY F.FENTRYID
|
||
|
||
|
||
--SELECT b.FORDERENTRYID as 'FENTRYID',sum(bF.FQty) AS 'FQTY',sum(bF.FRECAMOUNT_E) AS 'FAMOUNT'
|
||
--INTO #RECE
|
||
--FROM t_AR_receivable A
|
||
----INNER JOIN t_AR_receivableENTRY B ON A.FID = B.FID
|
||
--LEFT JOIN dbo.T_AR_RECEIVEBILLENTRY bF on A.FID = BF.FID --ĎúĘŰśŠľĽąíĚĺ
|
||
|
||
--WHERE A.FDOCUMENTSTATUS= 'C'
|
||
--AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
--AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
--AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
--AND (a.F_PAPERCONTRACT=@FPaperContract OR @FPaperContract='')
|
||
--GROUP BY b.FORDERENTRYID
|
||
|
||
SELECT a.FID, STUFF(
|
||
(
|
||
SELECT ','+ CONVERT(NVARCHAR(100), FNAME,120) -- ŇŞĆ´˝ÓľÄÁĐ
|
||
FROM (
|
||
SELECT DISTINCT x.FNAME +'--'+CONVERT(NVARCHAR(50), CONVERT(INT, w.F_DAY))+'Ěě--'+CONVERT(NVARCHAR(50),CONVERT(DECIMAL(18,2), w.FRECADVANCERATE))+'%'+'---' +ISNULL(CONVERT(NVARCHAR(20),w.FMUSTDATE,23),'') AS FNAME
|
||
,w.FID,w.F_PMSDate
|
||
,W.FRECADVANCEAMOUNT,w.F_DAY ,w.F_MBBA_DECIMAL_UKY
|
||
,w.FENTRYID, W.F_RecConditionId ,w.FRECADVANCERATE ,x.FNAME AS fname2 ,w.FMUSTDATE [ľ˝ĆÚČŐ]
|
||
FROM T_SAL_ORDERPLAN w WITH(NOLOCK)
|
||
LEFT JOIN T_BD_RecCondition_L X ON X.FID = W.F_RecConditionId
|
||
) t WHERE t.FID=a.FID
|
||
FOR XML PATH('')
|
||
),1 ,1, '') ¸śżîĚőźţ
|
||
INTO #TEMP2
|
||
FROM T_SAL_ORDER A WITH(NOLOCK)
|
||
WHERE
|
||
A.FDOCUMENTSTATUS= 'C'
|
||
AND (@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='')
|
||
|
||
|
||
|
||
--šýÂËĹÉĹľ×Ü
|
||
SELECT A.FID AS FID
|
||
INTO #TEMP3
|
||
FROM T_SAL_ORDER A
|
||
INNER JOIN T_BD_CUSTOMER CC ON CC.FCUSTID= A.FCUSTID
|
||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052
|
||
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID
|
||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.ĂűłĆ=O.FNAME
|
||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.ĂűłĆ=L.FNAME
|
||
WHERE CC.F_correlation = '1' OR a.F_CONTRACTNUMBER IN ('CYJSQD2024123118401','CYJSQD2025011518501')
|
||
--WHERE A.FSALEORGID = 100302 AND
|
||
--(
|
||
-- CC.F_correlation = '1'
|
||
-- -- OR
|
||
-- --C.FCUSTID IN ('1517849','1156999','1149200')
|
||
-- OR
|
||
--(C.FCUSTID = 1150173 AND (ACO.ÇřÓň = 'žö˛ßÍĹśÓ' OR ACL.ÇřÓň = 'žö˛ßÍĹśÓ'))
|
||
--OR L.FNAME = 'ĐËĹľ×Ü'
|
||
--OR A.FID IN (110185,207800)
|
||
--AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
--AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE< @FEDateDate) )
|
||
|
||
|
||
SELECT
|
||
A.FID ,
|
||
A.FBILLNO ,
|
||
B.FENTRYID ,
|
||
a.F_INVOICEAMOUNT 'żŞĆą˝đśî',
|
||
j.FBILLALLAMOUNT- a.F_INVOICEAMOUNT 'δżŞĆą˝đśî',
|
||
|
||
ISNULL(N.FSHARERATE,100) AS FSHARERATE,
|
||
F.FALLAMOUNT_LC ,
|
||
MONTH(A.FApproveDate) AS 'Ô¡Ý' --ĎúĘŰśŠľĽ-ľĽžÝ͡-ČŐĆÚ-śÔÓŚľÄÔ¡Ý
|
||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN L.FNAME
|
||
ELSE O.FNAME END as 'Ňľź¨ˇÖĚŻşóĎúĘŰÔą' -- Ňľź¨ˇÖĚŻşóĎúĘŰÔą
|
||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END AS 'ÇřÓň'
|
||
,CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.Ă÷ϸÇřÓň ELSE ACO.Ă÷ϸÇřÓň END AS 'Ă÷ϸÇřÓň'
|
||
,c.FNAME as 'šşťőľĽÎť' --ĎúĘŰśŠľĽ-ľĽžÝ͡-żÍť§
|
||
,CONVERT(VARCHAR(10), A.FDate,23) AS 'ÇŠśŠČŐĆÚ'
|
||
,CONVERT(VARCHAR(10), A.FApproveDate,23) AS 'ÉóşËČŐĆÚ' --ĎúĘŰśŠľĽ-ľĽžÝ͡-ÉóşËČŐĆÚ
|
||
,A.F_contractnumber AS 'Ö˝ÖĘşĎÍŹşĹ'--ĎúĘŰśŠľĽ-ľĽžÝ͡-Ö˝ÖĘşĎÍŹşĹ
|
||
,E.FNUMBER AS '˛úơ´úÂë'
|
||
,d.FNAME as '˛úơĂűłĆ' --ĎúĘŰśŠľĽ-ľĽžÝĚĺ-ÎďÁĎĂűłĆ
|
||
,d.FSPECIFICATION as 'šć¸ńĐÍşĹ'--ĎúĘŰśŠľĽ-ľĽžÝĚĺ-šć¸ńĐÍşĹ
|
||
,CONCAT(A.F_contractnumber,d.FSPECIFICATION ) as 'śŠľĽšć¸ńĐÍşĹ' --HĄžśŠľĽşĹĄż(śÔÓŚÖ˝ÖĘşĎÍŹşĹ)+JĄžĐͺţܚć¸ńŁÜąęןĄż
|
||
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
|
||
THEN CONCAT(b.F_ProjectProposal,'ľÄĘŁÓಿˇÖ') ELSE E.F_114 END AS 'ĐͺšÖŔŕ' --ÎďÁĎľľ°¸-×Ôś¨Ňĺ×ÖśÎ-ĐͺŴóŔŕ
|
||
,CASE WHEN E.FNUMBER LIKE 'L%' AND HT.FNUMBER = 'SX' AND ISNULL(b.F_ProjectProposal,'') != ''
|
||
THEN CONCAT(b.F_ProjectProposal,'ľÄĘŁÓಿˇÖ') ELSE E.F_115 END AS '˛úơˇÖŔŕ'--ÎďÁĎľľ°¸-×Ôś¨Ňĺ×ÖśÎ-˛úơ´óŔŕ
|
||
,E.F_116 AS '˛úơĎß'--ÎďÁĎľľ°¸-×Ôś¨Ňĺ×ÖśÎ-˛úơĎß
|
||
--,'' as 'ŇľÎńĎß' --´ýś¨ŁŹČˇČĎČĄĘýÂßź
|
||
,CASE WHEN A.F_VRYF_Combo_lsn LIKE '%XTZHT%' THEN 'ϾͳÖ÷şĎÍŹ'
|
||
WHEN A.F_VRYF_Combo_lsn LIKE '%SXTXS%' THEN 'ËćϾͳĎúĘŰ'
|
||
WHEN A.F_Returntype = 'HH' OR A.F_Returntype = 'TH' THEN 'ËćϾͳĎúĘŰ'
|
||
WHEN F_VRYF_Combo_lsn LIKE 'DDXS' THEN 'ľĽśŔĎúĘŰ'END as 'ĎúĘŰŔŕĐÍ'
|
||
,CASE WHEN A.F_VRYF_Combo_lsn LIKe '%DDXS%' THEN 'ŇÇąíŔŕşĎÍŹ(CEP)' ELSE 'ËćϾͳĎúĘŰ' END AS 'ĎúĘŰŔŕĐÍ1'
|
||
--,cast( B.FQTY as real) AS 'ĘýÁżĚ¨' --ĎúĘŰśŠľĽ-ľĽžÝĚĺ-ĎúĘŰĘýÁżĎÔĘžÔÚŇľź¨ˇÖĚŻľĽ
|
||
,cast( ROUND( F.FTAXPRICE,2) as real) AS 'ľĽźŰԪ̨' --ĎúĘŰśŠľĽ-ľĽžÝĚĺ-şŹË°ľĽźŰ "Ňľź¨ˇÖĚŻÖťˇÖĚŻ˝đśî˛ťˇÖĚŻĘýÁż
|
||
,cast( ROUND( f.FALLAMOUNT_LC,2) as real) as 'ĐĐşŹË°ľĽźŰ'
|
||
,CASE WHEN n.FSHARERATE IS NULL THEN ROUND(F.FALLAMOUNT_LC,2)
|
||
ELSE ROUND( f.FALLAMOUNT_LC * (n.FSHARERATE/100) ,2) END as 'şĎÍŹ×ÜźŰ' --Ňľź¨ˇÖĚŻÖťˇÖĚŻ˝đśî˛ťˇÖĚŻĘýÁżŁŹˇÖÂźĄžźŰ˰şĎźĆąžÎťąŇĄż*Ňľź¨ˇÖĚŻľĽÖоġÖĚŻąČŔý
|
||
, G.FNAME as 'ĎúĘŰśŠľĽ-ľĽžÝ͡-ĎîÄżĂűłĆ' --ĎúĘŰśŠľĽ-ľĽžÝ͡-ĎîÄżĂűłĆ
|
||
,y.FCAPTION AS 'ĎîÄżËůĘôÁěÓň'--ĎúĘŰśŠľĽ-ľĽžÝ͡-ĎîÄżËůĘôÁěÓň
|
||
,CASE
|
||
WHEN A.F_contractnumber LIKE 'W2%' OR A.F_contractnumber LIKE 'CW%' THEN 'ˇţÎńŇľÎń'
|
||
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%×ŰşĎÄÜÔ´ˇţÎń%'
|
||
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%ĘýžÝÖĐĐÄ%'
|
||
THEN 'ĐĐŇľ˝âžöˇ˝°¸ŇľÎń'
|
||
ELSE '˛úơҾÎń'
|
||
END AS 'ŇľÎńŔŕĐÍ-°´˛úơťŽˇÖ'
|
||
,CASE WHEN I.F_CustomerType= 'JXS' THEN 'žĎúÉĚ'
|
||
WHEN I.F_CustomerType = 'MYS' THEN 'ĂłŇ×ÉĚ'
|
||
ELSE ''
|
||
END
|
||
as 'ÖąĎúťšĘÇžĎúÉĚ'
|
||
,CASE WHEN b.F_specialoffer = '1' AND (F_YKQC_CHECKBOX_QTR='0' OR F_YKQC_CHECKBOX_QTR IS NULL) THEN 'ĘÇ' ELSE 'ˇń' end AS 'ĘǡńĚŘźŰ'--ĎúĘŰśŠľĽ-ľĽžÝˇÖÂź-ĘǡńĚŘźŰ
|
||
,CASE WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%˛úơĎß%' OR
|
||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%žö˛ßÍĹśÓ%'OR
|
||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%Čýľç˛úơĎß%'
|
||
THEN '˛úơĎß'
|
||
WHEN (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) like 'ĘýžÝÖĐĐÄ' OR
|
||
(CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%ҽԺ%'
|
||
OR (CASE WHEN ISNULL(O.FNAME,'')='' THEN ACL.ÇřÓň ELSE ACO.ÇřÓň END) LIKE '%ťúłĄ%'
|
||
THEN 'ĐĐŇľĎß'
|
||
ELSE 'ÇřÓňĎß' END AS 'Ňľź¨ŔŕĐÍ'
|
||
,CASE WHEN N.FSHARERATE is null THEN '100' ELSE CONCAT( CAST ( N.FSHARERATE AS REAL),'%') END as 'Ňľź¨ˇÖĚŻąČŔý' --ĎúĘŰśŠľĽ-Ňľź¨ˇÖĚŻľĽ-ˇÖĚŻąČŔý
|
||
, b.F_ProjectProposal AS 'ĎîÄżˇ˝°¸ŔŕĐÍ'
|
||
,a.F_Amount AS 'ĘŐżî˝đśî' --´ýś¨ ĘŐżî˝đśî
|
||
, CAST( J.FEXCHANGERATE AS REAL) AS 'ťăÂĘ' --ĎúĘŰśŠľĽ-ľĽžÝ͡-ťăÂĘ
|
||
,H.F_Province AS 'ĎîÄżËůĘôĘĄˇÝ' --×ÖśÎĂű¸ÄłÉĄ°ĎîÄżËůĘôĘĄˇÝĄąŔ´×ÔÓÚCRMϾͳÉĚťúŁŹERPÉĚťúĐčŇŞÔöźÓÎÄąž×֜ΜÔÓŚ
|
||
,h.F_City AS 'ĎîÄżËůĘôłÇĘĐ' --×ÖśÎĂű¸ÄłÉĄ°ĎîÄżËůĘôłÇĘĐĄąŔ´×ÔÓÚCRMϾͳÉĚťúŁŹERPÉĚťúĐčŇŞÔöźÓÎÄąž×֜ΜÔÓŚ
|
||
,u.FCAPTION AS 'ąíźĆťňϾͳ'--ąíźĆťňϾͳ ´Ë×ÖśÎĐčŇŞÔÚĎúĘŰśŠľĽÖĐĚĺĎÖŁŹŔ´×ÔÓÚERPÎďÁĎľľ°¸ŁŹśŠľĽÖ´ĐĐÍłźĆą¨ąí˛ťĐčŇŞĚĺĎÖ´Ë×֜ΣŹÓÉÓÚÓŚĘŐżîĂ÷ϸąíĐčŇŞ´ÓśŠľĽÖ´ĐĐĂ÷ϸąíÖĐČĄ¸Ă×֜ΣŹËůŇÔ´Ë×֜ΝšĐčŇŞąŁÁôĄŁČĄĎúĘŰśŠľĽ-ľĽžÝ͡-śŠľĽŔŕąđ
|
||
|
||
,CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.FID ORDER BY A.FID, B.FENTRYID ,FSHARERATE desc) = 1
|
||
THEN CAST(J.FBILLALLAMOUNT_LC AS numeric(18,2)) ELSE NULL END AS 'śŠľĽ×Üśî'
|
||
|
||
,K.FDATAVALUE AS 'ĆóŇľŔŕĐÍšŤËžĐÔÖĘ'--Ŕ´×ÔÓڿ͝§×ĘÁĎ-šŤËžĐÔÖĘ
|
||
,'' AS 'ǡżî×Üśî' --ĄžŇŃ˝ťťő˝đśîٍşŹÍËťőŁŠ-ĘŐżî˝đśîĄż*Ňľź¨ˇÖĚŻąČŔý
|
||
, TU.FNAME AS 'ÖĆľĽČË' --ĎúĘŰśŠľĽ-ľĽžÝ͡-ĆäËűҳNJ-´´˝¨ČËŁŹĎŁÍűČĄľÄĘÇĎúĘŰśŠľĽĚὝČËŁŹ
|
||
,S.FCAPTION AS 'źŻ˛ÉŇľÎńˇÖŔŕ' --2024-11-20šľÍ¨ĐÂÔö×֜ΣŹĎúĘŰśŠľĽąí͡ÔöźÓŁşĄžĘǡńźŻ˛ÉĎîÄżĄżĎÂŔŃĄĎˇń/ťŞČó/Áúşţ/ÂĚľŘ/ąŁŔűľŘ˛ú/ťŞČóˇÇźŻ˛ÉŁŹłŁšćÇéżöĎÂÄŹČĎÎŞĄžˇńĄżŁŹÓÉCRMϾͳ´ŤľÝľ˝ERPϾͳÖĐŁŹÄŹČĎ־Ϊˇń
|
||
,L.FNAME AS 'ĎúĘŰśŠľĽŇľÎńÔą'
|
||
--,CAST(B.FQTY AS REAL) AS 'ĘýÁżĚ¨'
|
||
|
||
, CASE
|
||
WHEN N.FSHARERATE IS NOT NULL THEN
|
||
CASE
|
||
WHEN ROW_NUMBER() OVER (PARTITION BY A.FID, B.FENTRYID ORDER BY N.FENTRYID) = 1 THEN CAST(B.FQTY AS REAL)
|
||
ELSE NULL
|
||
END
|
||
ELSE CAST(B.FQTY AS REAL)
|
||
END AS 'ĘýÁżĚ¨'
|
||
|
||
|
||
,AE.FDATAVALUE AS 'şĎÍŹŔŕĐÍ'
|
||
,assl.FDATAVALUE 'żÍť§ĐĹÓĂź°ˇÖŔŕ'
|
||
INTO #TEMP4
|
||
FROM T_SAL_ORDER A --ĎúĘŰśŠľĽąí͡
|
||
INNER JOIN T_BAS_ASSISTANTDATAENTRY HT ON A.F_ORDERCATEGORY = HT.FMASTERID -- šŘÁ޸¨Öú×ĘÁϲéŃŻşĎÍŹľÄąŕÂë
|
||
INNER JOIN T_SEC_USER TU ON A.FCreatorId = TU.FUSERID -- ÓĂť§ľĽšŘÁŞąíĚĺ
|
||
INNER JOIN T_SAL_orderentry b on a.FID = B.FID --ĎúĘŰśŠľĽąíĚĺ
|
||
INNER JOIN T_BD_CUSTOMER_L C ON C.FCUSTID= A.FCUSTID AND C.FLOCALEID= 2052 --żÍť§¸˝Ęôąí
|
||
INNER JOIN T_BD_MATERIAL_L d on d.FMATERIALID =b.FMATERIALID and d.FLOCALEID=2052 --ÎďÁϸ˝Ęôąí
|
||
INNER JOIN T_BD_MATERIAL E ON E.FMATERIALID =D.FMATERIALID
|
||
INNER JOIN T_SAL_ORDERENTRY_F F ON F.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = B.FENTRYID
|
||
INNER JOIN T_BD_CUSTOMER I ON I .FCUSTID = A.FCUSTID
|
||
INNER JOIN T_SAL_ORDERFIN J ON J.FID= A.FID
|
||
LEFT JOIN T_BAS_PREBDONE_L G ON G.FID = A.F_projectname AND G.FLocaleID =2052
|
||
LEFT JOIN T_BAS_PREBDTHREE H ON H.FID = A.F_BON
|
||
LEFT JOIN T_META_FORMENUMITEM Z ON Z.FVALUE = H.F_PROJECTFIELD AND Z.FID = '3ad5efac-d4a5-467c-b290-685a22791e68'
|
||
LEFT JOIN T_META_FORMENUMITEM_L Y ON Y.FENUMID = Z.FENUMID AND Y.FLOCALEID = 2052
|
||
LEFT JOIN T_META_FORMENUMITEM X ON x.FVALUE = I.F_CustomerType AND X.FID = '5fbc5d34-7347-4b6d-8a9d-4816a47936cc'
|
||
LEFT JOIN T_META_FORMENUMITEM_L W ON W.FENUMID = X.FENUMID AND W.FLOCALEID = 2052
|
||
LEFT JOIN T_META_FORMENUMITEM V ON V.FVALUE = A.F_OrderType AND v.FID = 'bc2c1d77-0f4b-41d2-b61b-e29554c570d4'
|
||
LEFT JOIN T_META_FORMENUMITEM_L U ON U.FENUMID = V.FENUMID AND U.FLOCALEID = 2052
|
||
LEFT JOIN T_META_FORMENUMITEM T ON T.FVALUE = A.F_PURCHASINGPRO AND T.FID = 'a8624cbb-00e0-4beb-8045-53cbe94eb9ee'
|
||
LEFT JOIN T_META_FORMENUMITEM_L S ON S.FENUMID = T.FENUMID AND S.FLOCALEID = 2052
|
||
LEFT JOIN V_ASSISTANTDATA K ON K.FENTRYID = I.FCompanyNature
|
||
LEFT JOIN V_BD_SALESMAN_L L ON L.fid = A.FSALERID
|
||
left JOIN T_PerformanceSharing M ON M.FSOURCEBILLNO = A.FBILLNO AND M.FDOCUMENTSTATUS = 'C'
|
||
left JOIN T_PerformanceSharingEntry N ON N.FID=M.FID
|
||
LEFT JOIN V_BD_SALESMAN_L O ON O.fid= N.FSALEID --AND N.FID IN (SELECT FID FROM T_PerformanceSharing WHERE FDOCUMENTSTATUS = 'C' )
|
||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACO ON ACO.ĂűłĆ=O.FNAME AND ISNULL(ACO.Ă÷ϸÇřÓň,'') != ''
|
||
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.ĂűłĆ=L.FNAME AND ISNULL(ACL.Ă÷ϸÇřÓň,'') != ''
|
||
INNER JOIN T_BAS_ASSISTANTDATAENTRY_L AE ON AE.FENTRYID = A.F_Ordercategory
|
||
LEFT JOIN dbo.T_BAS_ASSISTANTDATAENTRY_L assl ON assl.FENTRYID= I.F_CreditClassification
|
||
WHERE
|
||
1=1 AND
|
||
A.FID NOT IN(
|
||
SELECT FID FROM #TEMP3
|
||
)
|
||
AND(@FSaleOrgIdName = '' Or A.FSALEORGID = @FSaleOrgId)
|
||
AND (ISNULL(@FSDate,'') = '' or A.FAPPROVEDATE > @FSDateDate)
|
||
AND (ISNULL(@FEDate,'') = '' or A.FAPPROVEDATE < @FEDateDate)
|
||
AND A.FDocumentStatus = 'C' AND(@KH = '' Or I.FNUMBER = @KH)
|
||
AND A.FManualClose <> '1'
|
||
AND B.FManualRowClose <> '1'
|
||
AND A.F_contractnumber NOT LIKE 'Z%'
|
||
AND (a.F_CONTRACTNUMBER=@FPaperContract OR @FPaperContract='')
|
||
|
||
SELECT
|
||
A.*
|
||
,AD.¸śżîĚőźţ as '¸śżîĚőźţ'--ĎúĘŰśŠľĽ-ĘŐżîźĆťŽ-ĘŐżîĚőźţ+ĚěĘý+Ą°Ě쥹+ÓŚĘŐąČŔý(%),śŕĐĐÖŽźäĐčŇŞÓĂĄ°,Ąą¸ôżŞŁŹČçšűĚěĘýÎŞżŐžÍÄŹČĎÎŞ0Ěě
|
||
,CAST( ISNULL(P.FQTY,'0') AS REAL) as 'ˇ˘ťőĘýÁż' --ĎúĘŰśŠľĽšŘÁŞľÄˇ˘ťő֪ͨľĽĘýÁżŁŹĎÔĘžÔÚŇľź¨ˇÖĚŻľĽÖĐľÚŇť¸öŇľÎńÔąĂűĎÂ
|
||
,cast( round( ISNULL(P.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as 'ˇ˘ťő˝đśî'--ČĄĎúĘŰśŠľĽšŘÁŞľÄˇ˘ťő֪ͨľĽ˝đśî*ˇÖĚŻąČŔý
|
||
,CAST( ISNULL(q.FQTY,'0') AS REAL) as 'ÍËťőĘýÁż' --ĎúĘŰśŠľĽšŘÁŞľÄÍËťő֪ͨľĽĘýÁż
|
||
,cast( round( ISNULL(q.FAMOUNT,0) * ISNULL(A.FSHARERATE,100)/100,2) as real) as 'ÍËťő˝đśî'--ĎúĘŰśŠľĽšŘÁŞľÄÍËťő֪ͨľĽ˝đśî*ˇÖĚŻąČŔý
|
||
,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) AS REAL) AS 'ŇŃ˝ťťőĘý-şŹÍËťő' --šŤĘ˝=ˇ˘ťő֪ͨľĽĘýÁż-ÍËťő֪ͨľĽĘýÁżŁŹĎÔĘžÔÚŇľź¨ˇÖĚŻľĽÖĐľÚŇť¸öŇľÎńÔąĂűĎÂŁŹARĄžˇ˘ťőĘýÁżĄż-ATĄžÍËťőĘýÁżĄż
|
||
,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)) * isnull(A.FSHARERATE,100)/100 ,2) AS 'ŇŃ˝ťťő˝đśî-şŹÍËťő' --2024-11-20šľÍ¨ÔöźÓĎúĘŰś¨šŘÁŞľÄŁ¨ASˇ˘ťő˝đśî-AUÍËťő˝đśîŁŠ*Ňľź¨ˇÖĚŻąČŔý
|
||
,B.FQTY - AR.FDeliQty AS 'δ˝ťťőĘý' --ĘýÁż-ŇŃ˝ťťőĘý
|
||
, round( (A.FALLAMOUNT_LC - ISNULL(P.FAMOUNT,0) +ISNULL(Q.FAMOUNT,0))* isnull(A.FSHARERATE,100)/100,2) as 'δˇ˘ťő˝đśî'--(ĎúĘŰśŠľĽźŰ˰şĎźĆąžÎťąŇ-ˇ˘ťő֪ͨľĽ˝đśî+ÍËťő֪ͨľĽ˝đśî)*ˇÖĚŻąČŔý
|
||
--,CAST( ISNULL(AB.FQTY,0) AS REAL) AS 'ŇŃżŞĆąĘýÁż' --żŞĆąĘýÁżŁŹČĄĎúĘŰłöżâľĽšŘÁŞľÄŔś×ÖÓŚĘŐľĽ-ÍËťőľĽšŘÁŞľÄşě×ÖÓŚĘŐľĽ
|
||
--,CAST(round( ISNULL(AB.FAMOUNT,0) * isnull(A.FSHARERATE,100)/100,2) AS REAL) AS 'żŞĆą˝đśî'--ĎúĘŰśŠľĽšŘÁŞľÄŁ¨Ŕś×ÖÓŚĘŐľĽ˝đśî-şě×ÖÓŚĘŐľĽ˝đśîŁŠ*ˇÖĚŻąČŔý
|
||
--,CAST( ISNULL(P.FQTY,0)-isnull(q.FQTY,0) - ISNULL(AB.FQTY,0) AS REAL) AS 'δżŞĆąĘýÁż' --AVŇŃ˝ťťőĘý-BBŇŃżŞĆąĘýÁż
|
||
--,round( (ISNULL(P.FAMOUNT,0)-isnull(q.FAMOUNT,0)- ISNULL(AB.FAMOUNT,0) ) * isnull(A.FSHARERATE,100)/100 ,2) AS 'δżŞĆą˝đśî' --(AWŇŃ˝ťťő˝đśî-BCżŞĆą˝đśî)*ˇÖĚŻąČŔý
|
||
,ISNULL(G.F_CONTRACTNUMBER,'') AS 'Ô´śŠľĽşĹ' ,CONVERT(DECIMAL(18,2),0) AS ˇÖĚŻ˝đśî ,0 rownum
|
||
INTO #TEMP1
|
||
FROM #TEMP4 A
|
||
LEFT JOIN T_SAL_orderentry b on a.FENTRYID = B.FENTRYID --ĎúĘŰśŠľĽąíĚĺ
|
||
LEFT JOIN dbo.T_SAL_ORDERENTRY_F bF on a.FENTRYID = bF.FENTRYID --ĎúĘŰśŠľĽąíĚĺ
|
||
LEFT JOIN T_SAL_ORDERENTRY_R AR ON AR.FENTRYID = A.FENTRYID
|
||
LEFT JOIN #SAL P ON P.FENTRYID = A.FENTRYID --ˇ˘ťő֪ͨľĽ
|
||
LEFT JOIN #RETURN q ON q.FENTRYID = A.FENTRYID --ÍËťő֪ͨľĽ
|
||
LEFT JOIN #OUTSTOCK R ON R.FENTRYID = A.FENTRYID --ĎúĘŰłöżâľĽ
|
||
LEFT JOIN #RETURNSTOCK AA ON AA.FENTRYID = A.FENTRYID --ĎúĘŰÍËťőľĽ
|
||
--LEFT JOIN #RECE AB ON AB.FENTRYID = A.FENTRYID --ÓŚĘŐľĽ
|
||
LEFT JOIN #TEMP2 AD ON AD.FID = A.FID
|
||
LEFT JOIN (
|
||
SELECT T1.FENTRYID,T3.F_CONTRACTNUMBER FROM T_SAL_ORDERENTRY_R T1
|
||
--LEFT JOIN T_SAL_ORDER T2 on T1.FID = T2.FID
|
||
LEFT JOIN T_SAL_ORDER T3 on T3.FBILLNO = T1.FSRCBILLNO
|
||
WHERE T1.FSRCTYPE = 'SAL_SaleOrder'
|
||
)G ON A.FENTRYID = G.FENTRYID AND A.[şĎÍŹ×ÜźŰ]<0
|
||
ORDER BY fid,FENTRYID ,FSHARERATE
|
||
|
||
|
||
UPDATE #TEMP1 SET ˇÖĚŻ˝đśî=b.şĎÍŹ×ÜźŰ2
|
||
FROM (SELECT SUM(CONVERT(DECIMAL(18,2),şĎÍŹ×ÜźŰ)) AS şĎÍŹ×ÜźŰ2 ,FBILLNO FROM #TEMP1 GROUP BY FBILLNO) b
|
||
WHERE #TEMP1.FBILLNO=b.FBILLNO AND śŠľĽ×Üśî <>0
|
||
|
||
|
||
UPDATE #TEMP1 SET rownum=b.rownum2
|
||
FROM (SELECT ROW_NUMBER() OVER (PARTITION BY FID ORDER BY FID,FENTRYID) AS rownum2, FID, FENTRYID FROM #TEMP1 ) b
|
||
WHERE #TEMP1.FID=b.fid AND #TEMP1.FENTRYID=b.FENTRYID
|
||
|
||
UPDATE #TEMP1 SET ĘŐżî˝đśî=0,żŞĆą˝đśî=0,δżŞĆą˝đśî=0
|
||
WHERE rownum>1;
|
||
|
||
UPDATE #TEMP1 SET şĎÍŹ×ÜźŰ=şĎÍŹ×ÜźŰ+(śŠľĽ×Üśî- ˇÖĚŻ˝đśî )
|
||
WHERE śŠľĽ×Üśî<>0
|
||
|
||
UPDATE #TEMP1 SET ĘŐżî˝đśî=ĘŐżî˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,żŞĆą˝đśî=żŞĆą˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,śŠľĽ×Üśî=śŠľĽ×Üśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,şĎÍŹ×ÜźŰ=şĎÍŹ×ÜźŰ*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ
|
||
,ˇ˘ťő˝đśî=ˇ˘ťő˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,δˇ˘ťő˝đśî=δˇ˘ťő˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,ÍËťő˝đśî=ÍËťő˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,[ŇŃ˝ťťő˝đśî-şŹÍËťő]=[ŇŃ˝ťťő˝đśî-şŹÍËťő]*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ
|
||
,δżŞĆą˝đśî=δżŞĆą˝đśî*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,ľĽźŰԪ̨=ľĽźŰԪ̨*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ,ĐĐşŹË°ľĽźŰ=ĐĐşŹË°ľĽźŰ*śŠľĽąžÎťąŇśŇČËĂńąŇťăÂĘ
|
||
FROM ZZV_XiaoShouHuiLv b
|
||
WHERE #TEMP1.FID=b.ĎúĘŰśŠľĽID
|
||
|
||
IF(@QuYu='')
|
||
SELECT * FROM #TEMP1 ORDER BY fid,FENTRYID ,FSHARERATE DESC
|
||
ELSE
|
||
SELECT * FROM #TEMP1 WHERE ÇřÓň LIKE '%'+@QuYu+'%' ORDER BY fid,FENTRYID ,FSHARERATE DESC
|
||
|
||
|
||
drop table #TEMP2
|
||
--drop table #RECE
|
||
drop table #RETURNSTOCK
|
||
drop table #OUTSTOCK
|
||
drop table #RETURN
|
||
drop table #SAL
|
||
drop table #TEMP3
|
||
drop table #TEMP4
|
||
drop table #TEMP1 |