91 lines
3.8 KiB
SQL
91 lines
3.8 KiB
SQL
Select
|
|
A.FDate as '下单日期'
|
|
,A.F_PROJECTCODE as '工程项目编码'
|
|
,A.F_CONTRACTNUMBER as '合同号'
|
|
,G.FNAME as '项目名称'
|
|
,K.FNAME as '客户名称'
|
|
,BM.FNAME as '销售部门'
|
|
,X.FNAME as '销售员'
|
|
,Y.FNAME as '制单人'
|
|
,B.FBILLALLAMOUNT_LC as '订单金额' --订单金额
|
|
,ISNULL(F.FBILLALLAMOUNT_LC,0) as '已发货金额' --已发货金额
|
|
,ISNULL(T.FBILLALLAMOUNT_LC,0) as '退货金额' --退货金额
|
|
,B.FBILLALLAMOUNT_LC-ISNULL(F.FBILLALLAMOUNT_LC,0) as '未发货金额' --未发货金额
|
|
,ISNULL(C.FBILLALLAMOUNT_LC,0) as '销售出库成本' --销售出库成本
|
|
,ISNULL(SS.FENDBALANCE,0) as '实施成本'--其他出库成本
|
|
,ISNULL(P1.FAFTERTOTALTAX,0) as '专票金额'--已开票金额
|
|
,ISNULL(P2.FAFTERTOTALTAX,0) as '普票金额'--普票金额
|
|
,B.FBILLALLAMOUNT_LC - ISNULL(T.FBILLALLAMOUNT_LC,0) - ISNULL(P1.FAFTERTOTALTAX,0) - ISNULL(P2.FAFTERTOTALTAX,0) as '未开票金额' --未开票金额
|
|
,ISNULL(A.F_AMOUNT,0)+ISNULL(S.FRECAMOUNT,0) as '回款金额' --回款金额
|
|
From
|
|
T_SAL_ORDER A
|
|
JOIN
|
|
(Select FID,SUM(FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC'
|
|
From T_SAL_ORDERFIN GROUP BY FID) B --财务信息
|
|
on A.FID = B.FID
|
|
LEFT JOIN --工程项目
|
|
(Select a1.FNUMBER,a2.FNAME
|
|
From T_BAS_PREBDONE a1 JOIN T_BAS_PREBDONE_L a2
|
|
on a1.FID = a2.FID GROUP BY a1.FNUMBER,a2.FNAME) G
|
|
on A.F_PROJECTCODE = G.FNUMBER
|
|
LEFT JOIN
|
|
T_BD_CUSTOMER_L K --客户
|
|
on A.FCUSTID = K.FCUSTID
|
|
LEFT JOIN
|
|
V_BD_SALESMAN_L X --销售员
|
|
on X.fid = A.FSALERID
|
|
LEFT JOIN
|
|
T_SEC_USER Y --用户
|
|
on Y.FUSERID = A.FCREATORID
|
|
LEFT JOIN
|
|
T_BD_DEPARTMENT_L BM --部门
|
|
on A.FSALEDEPTID = BM.FDEPTID
|
|
LEFT JOIN
|
|
(Select a1.F_PAPERCONTRACT,SUM(a2.FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC'
|
|
From T_SAL_DELIVERYNOTICE a1 JOIN T_SAL_DELIVERYNOTICEFIN
|
|
a2 on a1.FID = a2.FID Where a1.FDOCUMENTSTATUS = 'C' GROUP BY a1.F_PAPERCONTRACT) F
|
|
on F.F_PAPERCONTRACT = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(Select a1.F_PAPERCONTRACT,SUM(a2.FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC'
|
|
From T_SAL_RETURNNOTICE a1 JOIN T_SAL_RETURNNOTICEFIN
|
|
a2 on a1.FID = a2.FID Where a1.FDOCUMENTSTATUS = 'C' GROUP BY a1.F_PAPERCONTRACT) T
|
|
on T.F_PAPERCONTRACT = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(Select a1.F_CONTRACTNUMBER,SUM(a3.FCOSTAMOUNT_LC)'FBILLALLAMOUNT_LC'
|
|
From T_SAL_OUTSTOCK a1 JOIN T_SAL_OUTSTOCKENTRY_F a3 on a1.FID = a3.FID
|
|
Where a1.FDOCUMENTSTATUS = 'C' GROUP BY a1.F_CONTRACTNUMBER) C
|
|
on C.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(SELECT F_PAPERNUMBER,SUM(FAFTERTOTALTAX)'FAFTERTOTALTAX' FROM T_IV_SALESIC
|
|
Where FDOCUMENTSTATUS = 'C' AND F_GeneralInvoice!='Y' GROUP BY F_PAPERNUMBER) P1
|
|
on P1.F_PAPERNUMBER = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(SELECT F_PAPERNUMBER,SUM(FAFTERTOTALTAX)'FAFTERTOTALTAX' FROM T_IV_SALESIC
|
|
Where FDOCUMENTSTATUS = 'C' AND F_GeneralInvoice ='Y' GROUP BY F_PAPERNUMBER) P2
|
|
on P2.F_PAPERNUMBER = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(Select a1.F_ZZHTH,SUM(a2.FAMOUNT)'FAMOUNT' From T_STK_MISDELIVERY a1
|
|
JOIN T_STK_MISDELIVERYENTRY a2 on a1.FID = a2.FID
|
|
Where a1.FDOCUMENTSTATUS = 'C' GROUP BY a1.F_ZZHTH) QC
|
|
on QC.F_ZZHTH = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
T_ORG_ORGANIZATIONS_L Z on Z.FORGID = A.FSALEORGID
|
|
LEFT JOIN
|
|
(Select F_CONTRACTNUMBER,SUM(FRECAMOUNT) as 'FRECAMOUNT'
|
|
From T_AR_RECEIVEBILL Where FDOCUMENTSTATUS = 'C' GROUP BY F_CONTRACTNUMBER) S --收款单
|
|
on S.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER
|
|
LEFT JOIN
|
|
(Select a2.FNUMBER,SUM(a1.FENDBALANCE) as 'FENDBALANCE'
|
|
From
|
|
VIEW_GL_BALANCE a1
|
|
JOIn
|
|
(Select * From T_BAS_PREBDONE Where FDOCUMENTSTATUS = 'C') a2
|
|
on a1.FF100005 = a2.FID GROUP BY a2.FNUMBER) SS
|
|
on SS.FNUMBER = LEFT(A.F_CONTRACTNUMBER, ISNULL(NULLIF(PATINDEX('%变更%', A.F_CONTRACTNUMBER), 0), LEN(A.F_CONTRACTNUMBER) + 1) - 1)
|
|
Where A.FDOCUMENTSTATUS = 'C'
|
|
AND ('#CurrentOrgUnitId#' = '' or Z.FNAME = '#CurrentOrgUnitId#')
|
|
AND ('#FKH#' = '' or K.FNAME like '%#FKH#%')
|
|
AND ('#FPaperContract#' = '' or A.F_CONTRACTNUMBER like '%#FPaperContract#%')
|
|
AND ('#FXM#' = '' or G.FNAME like '%#FXM#%')
|
|
AND ('#FStartDate#' = '' or A.FDATE >= '#FStartDate#')
|
|
AND ('#FEndDate#' = '' or A.FDATE <= '#FEndDate#') |