This commit is contained in:
liqionghai 2025-11-03 14:19:29 +08:00
commit 6640015719

View File

@ -1,367 +1,370 @@
/****** Object: StoredProcedure [dbo].[GetOrderData] Script Date: 2025/8/20 10:19:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--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)=''
)
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
--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 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 @FSaleOrgId = FORGID
FROM T_ORG_ORGANIZATIONS_L WHERE
FNAME = @FSaleOrgIdName
SET @FSDateDate = CONVERT(DATE, @FSDate);
SET @FEDateDate = CONVERT(DATE, @FEDate);
--
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 '制单人' -----
,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 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-20AS发货金额-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
-- @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.F_114 IS NOT NULL AND E.F_114 !=' ' AND E.F_114 !='' THEN E.F_114 WHEN E.FNUMBER IN ('E','ES','NWE','HKE') THEN '储能、微电风、光储充剩余部分'
WHEN E.FNUMBER IN ('B','BS') THEN 'BMS产品线剩余部分'
WHEN E.FNUMBER IN ('C','CS','CW','CY') THEN '充电桩剩余部分'
WHEN E.FNUMBER not IN ('E','ES','NWE','HKE','BS') THEN '' ELSE E.F_114 END AS '型号分类' ----
,CASE WHEN E.F_115 IS NOT NULL AND E.F_115 !=' ' AND E.F_115 !='' THEN E.F_115 WHEN E.FNUMBER IN ('E','ES','NWE','HKE') THEN '储能、微电风、光储充剩余部分'
WHEN E.FNUMBER IN ('C','CS','CW','CY') THEN '充电桩剩余部分'
WHEN E.FNUMBER IN ('B','BS') THEN 'BMS产品线剩余部分'
WHEN E.FNUMBER NOT IN ('E','ES','NWE','HKE','BS') THEN ''
ELSE E.F_115 END AS '产品分类'----
, CASE WHEN E.F_116 IS NOT NULL AND E.F_116 !=' ' AND E.F_116 !='' THEN E.F_116 WHEN E.FNUMBER IN ('E','ES','NWE','HKE') THEN '储能、微电风、光储充'
WHEN E.FNUMBER IN ('C','CS','CW','CY') THEN '充电桩业务'
WHEN E.FNUMBER IN ('B','BS') THEN 'BMS产品线'
WHEN E.FNUMBER NOT IN ('E','ES','NWE','HKE','BS') THEN ''
ELSE E.F_116 END 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 '制单人' -----
,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-20AS发货金额-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