Piolot_RepotForm_PeiHao/开票和出库情况查询存储过程.sql

112 lines
4.6 KiB
MySQL
Raw Normal View History

2025-03-14 10:00:24 +08:00
ALTER Proc [dbo].[Get_KPHCKQKCXBB]
(
@FSaleOrgId nvarchar(1000),--<EFBFBD><EFBFBD>֯
@FKH nvarchar(1000),--<EFBFBD>ͻ<EFBFBD>
@FCZZHTH nvarchar(1000),--ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
@FGCXM nvarchar(1000),--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
--@FStartDate nvarchar(1000),
--@FEndDate nvarchar(1000),
@FStartDate2 nvarchar(1000),
@FEndDate2 nvarchar(1000)
)
as
Select
A.FAPPROVEDATE as '<EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,A.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD><EFBFBD>'
,A.F_PROJECTCODE as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,A.F_CONTRACTNUMBER as '<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>'
,G.FNAME as '<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,K.FNAME as '<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
,BM.FNAME as '<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>'
,X.FNAME as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա'
,Y.FNAME as '<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>'
,B.FBILLALLAMOUNT_LC as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(F.FBILLALLAMOUNT_LC,0) as '<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(T.FBILLALLAMOUNT_LC,0) as '<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,B.FBILLALLAMOUNT_LC-ISNULL(F.FBILLALLAMOUNT_LC,0) as 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(C.FBILLALLAMOUNT_LC,0)-ISNULL(TH.FBILLALLAMOUNT_LC,0) as '<EFBFBD><EFBFBD><EFBFBD>۳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>' --<EFBFBD><EFBFBD><EFBFBD>۳<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>
,ISNULL(SS.FENDBALANCE,0) as 'ʵʩ<EFBFBD>ɱ<EFBFBD>'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>
,ISNULL(P1.FAFTERTOTALTAX,0) as 'רƱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--<EFBFBD>ѿ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(P2.FAFTERTOTALTAX,0) as '<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,F.MinFDate as '<EFBFBD>״η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD>״η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,F.MaxFDate as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,B.FBILLALLAMOUNT_LC - ISNULL(T.FBILLALLAMOUNT_LC,0) - ISNULL(P1.FAFTERTOTALTAX,0) - ISNULL(P2.FAFTERTOTALTAX,0) as 'δ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --δ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,ISNULL(A.F_AMOUNT,0)+ISNULL(S.FRECAMOUNT,0) as '<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
From
T_SAL_ORDER A
JOIN
(Select FID,SUM(FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC'
From T_SAL_ORDERFIN GROUP BY FID) B --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
on A.FID = B.FID
LEFT JOIN --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ
(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 --<EFBFBD>ͻ<EFBFBD>
on A.FCUSTID = K.FCUSTID
LEFT JOIN
V_BD_SALESMAN_L X --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա
on X.fid = A.FSALERID
LEFT JOIN
T_SEC_USER Y --<EFBFBD>û<EFBFBD>
on Y.FUSERID = A.FCREATORID
LEFT JOIN
T_BD_DEPARTMENT_L BM --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.FSALEDEPTID = BM.FDEPTID
LEFT JOIN
(Select a1.F_CONTRACTNUMBER,SUM(a2.FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC' From T_SAL_RETURNSTOCK a1 JOIN T_SAL_RETURNSTOCKFIN a2 on a1.FID = a2.FID
Where a1.FDOCUMENTSTATUS = 'C' GROUP BY a1.F_CONTRACTNUMBER) TH --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD>
on TH.F_CONTRACTNUMBER = A.F_CONTRACTNUMBER
LEFT JOIN
(Select a1.F_PAPERCONTRACT,SUM(a2.FBILLALLAMOUNT_LC)'FBILLALLAMOUNT_LC',MIN(a1.FDATE) as 'MinFDate',MAX(a1.FDATE) as 'MaxFDate'
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 --<EFBFBD>տ
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 = A.F_CONTRACTNUMBER
Where A.FDOCUMENTSTATUS = 'C'
AND (ISNULL(@FSaleOrgId,'') = '' or Z.FNAME = @FSaleOrgId)
AND (ISNULL(@FKH,'') = '' or K.FNAME like '%'+@FKH+'%')
AND (ISNULL(@FCZZHTH,'') = '' or A.F_CONTRACTNUMBER like '%'+@FCZZHTH+'%')
AND (ISNULL(@FGCXM,'') = '' or G.FNAME like '%'+@FGCXM+'%')
--AND (ISNULL(@FStartDate,'') = '' or A.FDATE >= @FStartDate)
--AND (ISNULL(@FEndDate,'') = '' or A.FDATE <= @FEndDate)
AND (ISNULL(@FStartDate2,'') = '' or A.FAPPROVEDATE >= @FStartDate2)
AND (ISNULL(@FEndDate2,'') = '' or A.FAPPROVEDATE <= @FEndDate2);