Piolot_RepotForm_PeiHao/特价明细表SQL.sql

497 lines
26 KiB
MySQL
Raw Normal View History

2025-06-21 11:07:26 +08:00
SELECT A.FID AS FID
INTO #TEMP3
FROM T_SAL_ORDER A
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.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=O.FNAME
LEFT JOIN ERPTOHR.HYHRV3.dbo.v_erp_empinfo ACL ON ACL.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=L.FNAME
WHERE A.FSALEORGID = 100302 AND
ACO.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '̼<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>'
OR ACL.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> = '̼<EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>'
OR C.FNAME IN ('<EFBFBD><EFBFBD>ŵ<EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD>㶫̼<EFBFBD><EFBFBD><EFBFBD>ǿؿƼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>Ƽ<EFBFBD><EFBFBD><EFBFBD>չ<EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾','<EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޹<EFBFBD>˾')
OR L.FNAME = '<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD>'
AND FORMAT(A.FApproveDate,'yyyy-MM-dd') >= '2025-06-01 00:00:00' AND FORMAT(A.FApproveDate,'yyyy-MM-dd') <= '2025-06-20 00:00:00'/*dialect*/
Select * INTO #TABLEXYX From
(Select A.FID From View_Table_Temp2 A JOIN View_Table_Temp3 B
on A.FCONTRACTNUMBER=B.FCONTRACTNUMBER AND A.FCREATEDATE = B.FCREATEDATE
UNION ALL
Select * From View_Table_Temp1) W;
Select
A.FBILLNO as 'AFBILLNO',
A.F_ORDERTYPE,
CONVERT(nvarchar,A.FDate,23) as 'Date', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Month(A.FDATE) as 'Month', --<EFBFBD>·<EFBFBD>
E.FNAME as 'Client', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
F.FNAME as 'Currency', --<EFBFBD>ұ<EFBFBD>
ISNULL(E.FDATAVALUE,'') as 'CreditType', --<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
A.F_CONTRACTNUMBER as 'ContractNumber', --ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
ISNULL(G.FSpecification,'') as 'SizeModel', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
B.FQty-ISNULL(B3.FRetNoticeQty,0) as 'Quantity', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B2.FTaxPrice as 'TaxPrice', --ʵ<EFBFBD>ʺ<EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B2.FAllAmount_LC-ISNULL(ABS(B3.FAllAmount_LC),0) as 'AllAmount', --<EFBFBD><EFBFBD>˰<EFBFBD>ϼ<EFBFBD>
ISNULL(H.FNAME,'') as 'ProjectName', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ISNULL(H2.FNAME,'') as 'SalerName', --ҵ<EFBFBD><EFBFBD>Ա
ISNULL(H3.FNAME,'') as 'SaleDeptName', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ISNULL(H4.FNAME,'') as 'Supervisor', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
H5.FDATAVALUE as 'SpecialCauseType', --<EFBFBD>ؼ<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
A.FCrmSpecialPricingReason as 'CRMSpecialCause', --CRM<EFBFBD>ؼ<EFBFBD>ԭ<EFBFBD><EFBFBD>
CASE WHEN A.F_ORDERTYPE = 'YB' THEN B.F_SettlementP
ELSE null
END as 'CurrentSettledUpset1', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
CASE WHEN A.F_ORDERTYPE = 'XT' AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
ELSE null
END as 'CurrentSettledUpset2', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>
(B2.FTaxPrice - B.F_SettlementP) as 'Difference', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>׼ۣ<EFBFBD>
--P<EFBFBD><EFBFBD>C<EFBFBD><EFBFBD>E<EFBFBD><EFBFBD>S
CASE WHEN (D.FNUMBER = 'P' or D.FNUMBER = 'C' or D.FNUMBER = 'E' or D.FNUMBER = 'S')
THEN ((B2.FTaxPrice - B.F_SettlementP)*B.FQty) --<EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
--ES<EFBFBD><EFBFBD>W<EFBFBD><EFBFBD>SX<EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>CY
WHEN (D.FNUMBER = 'ES' or D.FNUMBER = 'W' or D.FNUMBER = 'SX' or D.FNUMBER = 'D' or D.FNUMBER = 'CY')
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C.FBillAllAmount_LC - CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
--CS<EFBFBD><EFBFBD>CW
WHEN (D.FNUMBER = 'CS' or D.FNUMBER = 'CW') AND A.FSALEORGID = 100303
THEN ((B2.FTaxPrice - B.F_SettlementP)*B.FQty)
WHEN (D.FNUMBER = 'CS' or D.FNUMBER = 'CW') AND A.FSALEORGID != 100303
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C.FBillAllAmount_LC - CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
ELSE null
END as 'TotalSpread', --<EFBFBD>ܼ۲<EFBFBD>գ<EFBFBD>
C2.FNAME + ',' + TRY_CAST(FLOOR(C2.F_day) as nvarchar(MAX))+'<EFBFBD><EFBFBD>,' + TRY_CAST(FLOOR(C2.FRecAdvanceRate) as nvarchar(MAX))+'%'
as 'PaymentMethods', --<EFBFBD><EFBFBD><EFBFBD>ʽ
CASE WHEN A.F_ORDERTYPE = 'YB' THEN '<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>ͬ' --<EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
WHEN A.F_ORDERTYPE = 'XT'
THEN --<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>
(CASE WHEN ISNULL(A.F_XMYSSJ,'')!='' THEN CONVERT(nvarchar, A.F_XMYSSJ, 23)
WHEN C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FAllAmount_LC,0) <=0 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FAllAmount_LC,0) = C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)
THEN 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
ELSE '<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>' END
)
ELSE ''
END as 'ProjectPhase', --<EFBFBD><EFBFBD>Ŀ<EFBFBD>׶<EFBFBD>
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1 THEN
C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0) ELSE null
END as 'OrderAllAmount', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1 THEN
C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FAllAmount_LC,0) ELSE null
END as 'NotShipmentsAmount', --δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CASE WHEN Convert(nvarchar(10),dateadd(day,isnull(C2.f_day,0) ,C2.F_PMSDate),23) > Getdate() AND C2.FRECADVANCEAMOUNT > C2.FRECAMOUNT
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C2.FRECADVANCEAMOUNT - C2.FRECAMOUNT ELSE null END as 'ExpireUnpaidAmount', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
G.FNUMBER as 'ProductsCode' --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INTO #TempTable1
From
T_SAL_ORDERENTRY B --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>
JOIN
T_SAL_ORDER A --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.FID = B.FID
LEFT JOIN
T_SAL_ORDERENTRY_F B2 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ_F<EFBFBD><EFBFBD>
on B.FENTRYID = B2.FENTRYID
LEFT JOIN
(SELECT Aq2.FBillAllAmount_LC,Aq.* FROM
(SELECT W2.FSID,W2.FSBILLID,STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate',SUM(W1.FPriceUnitQty) as 'FRETNOTICEQTY',SUM(W1.FALLAMOUNT_LC) as 'FALLAMOUNT_LC' FROM
(Select q1.FDATE,q3.FSID,q2.FAllAmount_LC,q2.FPriceUnitQty From T_SAL_RETURNNOTICE q1 JOIN T_SAL_RETURNNOTICEENTRY_F q2
on q1.FID = q2.FID JOIN T_SAL_RETURNNOTICEENTRY_LK q3 on q2.FENTRYID = q3.FENTRYID
Where q1.FDocumentStatus = 'C' AND q1.FCancelStatus = 'A' AND q3.FSTABLENAME = 'T_SAL_ORDERENTRY') W1
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FSID = W2.FENTRYID GROUP BY W2.FSID,W2.FSBILLID) Aq
JOIN
(SELECT W2.FSBILLID,STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate',SUM(W1.FPriceUnitQty) as 'FRETNOTICEQTY',SUM(W1.FALLAMOUNT_LC) as 'FBillAllAmount_LC' FROM
(Select q1.FDATE,q3.FSID,q2.FAllAmount_LC,q2.FPriceUnitQty From T_SAL_RETURNNOTICE q1 JOIN T_SAL_RETURNNOTICEENTRY_F q2
on q1.FID = q2.FID JOIN T_SAL_RETURNNOTICEENTRY_LK q3 on q2.FENTRYID = q3.FENTRYID
Where q1.FDocumentStatus = 'C' AND q1.FCancelStatus = 'A' AND q3.FSTABLENAME = 'T_SAL_ORDERENTRY') W1
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FSID = W2.FENTRYID GROUP BY W2.FSBILLID) Aq2
on Aq.FSBILLID = Aq2.FSBILLID) B3 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD><EFBFBD>
on B.FENTRYID = B3.FSID
JOIN
T_SAL_ORDERFIN C --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.FID = C.FID
LEFT JOIN
(Select q2.FNAME,q1.* From
T_SAL_ORDERPLAN q1 JOIN
(Select q2.FNAME,q1.* From
T_BD_RECCONDITION q1
LEFT JOIN
T_BD_RECCONDITION_L q2
on q1.FID = q2.FID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') q2
on q1.F_RecConditionId = q2.FID) C2 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>տ<EFBFBD><EFBFBD>ƻ<EFBFBD>
on A.FID = C2.FID
LEFT JOIN
(Select FNumber,FMASTERID From T_BAS_ASSISTANTDATAENTRY
Where FID = '670cc977263353'
AND FDocumentStatus = 'C'
AND FForbidStatus = 'A') D --<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>
on A.F_ORDERCATEGORY = D.FMASTERID
LEFT JOIN
(SELECT A2.FDATAVALUE,A1.* FROM
(Select q2.FNAME,q1.* From
T_BD_CUSTOMER q1
JOIN
T_BD_CUSTOMER_L q2
on q1.FCUSTID = q2.FCUSTID) A1
LEFT JOIN
(Select A.FMASTERID,B.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY A
JOIN T_BAS_ASSISTANTDATAENTRY_L B on A.FENTRYID = B.FENTRYID
Where A.FID = '673af6092e2877'
AND A.FDocumentStatus = 'C'
AND A.FForbidStatus = 'A') A2
on A1.F_CREDITCLASSIFICATION = A2.FMASTERID) E --<EFBFBD>ͻ<EFBFBD>_L<EFBFBD><EFBFBD>
on A.FCustId = E.FCUSTID
LEFT JOIN
(Select * From T_BD_CURRENCY_L
Where FLOCALEID = 2052) F --<EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD>
on C.FSETTLECURRID = F.FCURRENCYID
LEFT JOIN
(Select B.FNAME,B.FSPECIFICATION,A.* From
T_BD_MATERIAL A
JOIN
T_BD_MATERIAL_L B
on A.FMATERIALID = B.FMATERIALID
Where B.FLOCALEID = 2052
AND A.FDocumentStatus = 'C' AND A.FForbidStatus = 'A') G --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
on G.FMATERIALID = B.FMaterialId
LEFT JOIN
(Select q2.FNAME,q1.* From
T_BAS_PREBDONE q1
JOIN
T_BAS_PREBDONE_L q2
on q1.FID = q2.FID
Where q2.FLocaleID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>
on H.FID = A.F_projectname
LEFT JOIN
(Select q2.FNAME,q1.* From
V_BD_SALESMAN q1
LEFT JOIN
V_BD_SALESMAN_L q2
on q1.fid = q2.fid
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A'
AND q1.FForbiddenStatus = '0') H2 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>
on A.FSalerId = H2.fid
LEFT JOIN
(Select q2.FNAME,q1.* From
T_BD_DEPARTMENT q1
JOIN
T_BD_DEPARTMENT_L q2
on q1.FDEPTID = q2.FDEPTID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H3 --<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD>ű<EFBFBD>
on A.FSaleDeptId = H3.FDEPTID
LEFT JOIN
(Select q2.FNAME,q1.* From
T_HR_EMPINFO q1
JOIN
T_HR_EMPINFO_L q2
on q1.FID = q2.FID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H4 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.F_VRYF_BASE_FG2 = H4.FID
LEFT JOIN
(Select A.FNumber,A.FMASTERID,B.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY A
JOIN T_BAS_ASSISTANTDATAENTRY_L B on A.FENTRYID = B.FENTRYID
Where A.FID = '674f073de0bc25'
AND A.FDocumentStatus = 'C'
AND A.FForbidStatus = 'A') H5
on H5.FMASTERID = A.FSpecialReson
LEFT JOIN
(SELECT W2.FSID,SUM(W1.FALLAMOUNT_LC) as 'FALLAMOUNT_LC' FROM
(Select q2.FAllAmount_LC,q2.FENTRYID From T_SAL_DELIVERYNOTICE q1
JOIN T_SAL_DELIVERYNOTICEENTRY_F q2
on q1.FID = q2.FID Where q1.FDocumentStatus = 'C'
AND q1.FCancelStatus = 'A') W1
JOIN T_SAL_DELIVERYNOTICEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSID) H6 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֪ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on B.FENTRYID = H6.FSID
LEFT JOIN
(SELECT W2.FSID,W1.* FROM
(Select B.FALLAMOUNTFOR,B.FENTRYID From T_AR_RECEIVABLE A
JOIN T_AR_RECEIVABLEENTRY B on A.FID = B.FID Where A.FDocumentStatus = 'C'
AND B.FORDERNUMBER !='' AND A.FENDDATE <= GETDATE()) W1
JOIN T_AR_RECEIVABLEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY') H7
on B.FENTRYID = H7.FSID
Where D.FNUMBER in ('P','E','C','S')
AND B.F_SPECIALOFFER = '1' AND B.F_YKQC_CheckBox_qtr != '1'
AND A.FDocumentStatus = 'C' AND A.FBusinessType = 'NORMAL' AND B.FQTY >= 0 AND A.FMANUALCLOSE = '0'
AND A.FID in (Select * From #TABLEXYX)
AND A.FManualClose <> '1'
AND B.FManualRowClose <> '1'
AND A.F_contractnumber NOT LIKE 'Z%'
AND A.FID NOT IN(
SELECT FID FROM #TEMP3
)
AND FORMAT(A.FApproveDate,'yyyy-MM-dd') >= '2025-06-01 00:00:00' AND FORMAT(A.FApproveDate,'yyyy-MM-dd') <= '2025-06-20 00:00:00';/*dialect*/
Select
A.FBILLNO as 'AFBILLNO',
A.F_ORDERTYPE,
CONVERT(nvarchar,A.FApproveDate,23) as 'Date', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Month(A.FApproveDate) as 'Month', --<EFBFBD>·<EFBFBD>
E.FNAME as 'Client', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
F.FNAME as 'Currency', --<EFBFBD>ұ<EFBFBD>
ISNULL(E.FDATAVALUE,'') as 'CreditType', --<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
A.F_CONTRACTNUMBER as 'ContractNumber', --ֽ<EFBFBD>ʺ<EFBFBD>ͬ<EFBFBD><EFBFBD>
ISNULL(G.FSpecification,'') as 'SizeModel', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
B.FQty-ISNULL(B3.FRetNoticeQty,0) as 'Quantity', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B2.FTaxPrice as 'TaxPrice', --ʵ<EFBFBD>ʺ<EFBFBD>˰<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
B2.FAllAmount_LC-ISNULL(ABS(B3.FAllAmount_LC),0) as 'AllAmount', --<EFBFBD><EFBFBD>˰<EFBFBD>ϼ<EFBFBD>
ISNULL(H.FNAME,'') as 'ProjectName', --<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ISNULL(H2.FNAME,'') as 'SalerName', --ҵ<EFBFBD><EFBFBD>Ա
ISNULL(H3.FNAME,'') as 'SaleDeptName', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ISNULL(H4.FNAME,'') as 'Supervisor', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
H5.FDATAVALUE as 'SpecialCauseType', --<EFBFBD>ؼ<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
A.FCrmSpecialPricingReason as 'CRMSpecialCause', --CRM<EFBFBD>ؼ<EFBFBD>ԭ<EFBFBD><EFBFBD>
CASE WHEN A.F_ORDERTYPE = 'YB' THEN B.F_SettlementP
ELSE null
END as 'CurrentSettledUpset1', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
CASE WHEN A.F_ORDERTYPE = 'XT' AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
ELSE null
END as 'CurrentSettledUpset2', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>
(B2.FTaxPrice - B.F_SettlementP) as 'Difference', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>׼ۣ<EFBFBD>
--P<EFBFBD><EFBFBD>C<EFBFBD><EFBFBD>E<EFBFBD><EFBFBD>S
CASE WHEN (D.FNUMBER = 'P' or D.FNUMBER = 'C' or D.FNUMBER = 'E' or D.FNUMBER = 'S')
THEN ((B2.FTaxPrice - B.F_SettlementP)*B.FQty) --<EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
--ES<EFBFBD><EFBFBD>W<EFBFBD><EFBFBD>SX<EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>CY
WHEN (D.FNUMBER = 'ES' or D.FNUMBER = 'W' or D.FNUMBER = 'SX' or D.FNUMBER = 'D' or D.FNUMBER = 'CY')
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C.FBillAllAmount_LC - CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
--CS<EFBFBD><EFBFBD>CW
WHEN (D.FNUMBER = 'CS' or D.FNUMBER = 'CW') AND A.FSALEORGID = 100303
THEN ((B2.FTaxPrice - B.F_SettlementP)*B.FQty)
WHEN (D.FNUMBER = 'CS' or D.FNUMBER = 'CW') AND A.FSALEORGID != 100303
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C.FBillAllAmount_LC - CAST(ISNULL(A.F_YKQC_Text_qtr,0) as FLOAT)
ELSE null
END as 'TotalSpread', --<EFBFBD>ܼ۲<EFBFBD>գ<EFBFBD>
C2.FNAME + ',' + TRY_CAST(FLOOR(C2.F_day) as nvarchar(MAX))+'<EFBFBD><EFBFBD>,' + TRY_CAST(FLOOR(C2.FRecAdvanceRate) as nvarchar(MAX))+'%'
as 'PaymentMethods', --<EFBFBD><EFBFBD><EFBFBD>ʽ
CASE WHEN A.F_ORDERTYPE = 'YB' THEN '<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>ͬ' --<EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
WHEN A.F_ORDERTYPE = 'XT'
THEN --<EFBFBD><EFBFBD>ϵͳ<EFBFBD><EFBFBD>
(CASE WHEN ISNULL(A.F_XMYSSJ,'')!='' THEN CONVERT(nvarchar, A.F_XMYSSJ, 23)
WHEN C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FAllAmount_LC,0) <=0 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
WHEN C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FAllAmount_LC,0) = C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)
THEN 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
ELSE '<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>' END
)
ELSE ''
END as 'ProjectPhase', --<EFBFBD><EFBFBD>Ŀ<EFBFBD>׶<EFBFBD>
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1 THEN
C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0) ELSE null
END as 'OrderAllAmount', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܶ<EFBFBD>
CASE WHEN ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1 THEN
C.FBillAllAmount_LC-ISNULL(ABS(B3.FBillAllAmount_LC),0)-ISNULL(H6.FALLAMOUNT_LC,0) ELSE null
END as 'NotShipmentsAmount', --δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CASE WHEN Convert(nvarchar(10),dateadd(day,isnull(C2.f_day,0) ,C2.F_PMSDate),23) > Getdate() AND C2.FRECADVANCEAMOUNT > C2.FRECAMOUNT
AND ROW_NUMBER() OVER (PARTITION BY A.F_contractnumber ORDER BY B.FSEQ) = 1
THEN C2.FRECADVANCEAMOUNT - C2.FRECAMOUNT ELSE null END as 'ExpireUnpaidAmount', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
G.FNUMBER as 'ProductsCode' --<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
INTO #TempTable2
From
T_SAL_ORDERENTRY B --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD><EFBFBD>
JOIN
T_SAL_ORDER A --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.FID = B.FID
LEFT JOIN
T_SAL_ORDERENTRY_F B2 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ_F<EFBFBD><EFBFBD>
on B.FENTRYID = B2.FENTRYID
LEFT JOIN
(SELECT Aq2.FBillAllAmount_LC,Aq.* FROM
(SELECT W2.FSID,W2.FSBILLID,STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate',SUM(W1.FPriceUnitQty) as 'FRETNOTICEQTY',SUM(W1.FALLAMOUNT_LC) as 'FAllAmount_LC' FROM
(Select q1.FDATE,q3.FSID,q2.FAllAmount_LC,q2.FPriceUnitQty From T_SAL_RETURNNOTICE q1 JOIN T_SAL_RETURNNOTICEENTRY_F q2
on q1.FID = q2.FID JOIN T_SAL_RETURNNOTICEENTRY_LK q3 on q2.FENTRYID = q3.FENTRYID
Where q1.FDocumentStatus = 'C' AND q1.FCancelStatus = 'A' AND q3.FSTABLENAME = 'T_SAL_ORDERENTRY') W1
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FSID = W2.FENTRYID GROUP BY W2.FSID,W2.FSBILLID) Aq
JOIN
(SELECT W2.FSBILLID,STRING_AGG(CONVERT(nvarchar,W1.FDATE, 23), ',') as 'FDate',SUM(W1.FPriceUnitQty) as 'FRETNOTICEQTY',SUM(W1.FALLAMOUNT_LC) as 'FBillAllAmount_LC' FROM
(Select q1.FDATE,q3.FSID,q2.FAllAmount_LC,q2.FPriceUnitQty From T_SAL_RETURNNOTICE q1 JOIN T_SAL_RETURNNOTICEENTRY_F q2
on q1.FID = q2.FID JOIN T_SAL_RETURNNOTICEENTRY_LK q3 on q2.FENTRYID = q3.FENTRYID
Where q1.FDocumentStatus = 'C' AND q1.FCancelStatus = 'A' AND q3.FSTABLENAME = 'T_SAL_ORDERENTRY') W1
JOIN T_SAL_ORDERENTRY_LK W2 on W1.FSID = W2.FENTRYID GROUP BY W2.FSBILLID) Aq2
on Aq.FSBILLID = Aq2.FSBILLID) B3 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on B.FENTRYID = B3.FSID
JOIN
T_SAL_ORDERFIN C --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.FID = C.FID
LEFT JOIN
(Select q2.FNAME,q1.* From
T_SAL_ORDERPLAN q1 JOIN
(Select q2.FNAME,q1.* From
T_BD_RECCONDITION q1
LEFT JOIN
T_BD_RECCONDITION_L q2
on q1.FID = q2.FID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') q2
on q1.F_RecConditionId = q2.FID) C2 --<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>տ<EFBFBD><EFBFBD>ƻ<EFBFBD>
on A.FID = C2.FID
LEFT JOIN
(Select FNumber,FMASTERID From T_BAS_ASSISTANTDATAENTRY
Where FID = '670cc977263353'
AND FDocumentStatus = 'C'
AND FForbidStatus = 'A') D --<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>
on A.F_ORDERCATEGORY = D.FMASTERID
LEFT JOIN
(SELECT A2.FDATAVALUE,A1.* FROM
(Select q2.FNAME,q1.* From
T_BD_CUSTOMER q1
JOIN
T_BD_CUSTOMER_L q2
on q1.FCUSTID = q2.FCUSTID) A1
LEFT JOIN
(Select A.FMASTERID,B.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY A
JOIN T_BAS_ASSISTANTDATAENTRY_L B on A.FENTRYID = B.FENTRYID
Where A.FID = '673af6092e2877'
AND A.FDocumentStatus = 'C'
AND A.FForbidStatus = 'A') A2
on A1.F_CREDITCLASSIFICATION = A2.FMASTERID) E --<EFBFBD>ͻ<EFBFBD>_L<EFBFBD><EFBFBD>
on A.FCustId = E.FCUSTID
LEFT JOIN
(Select * From T_BD_CURRENCY_L
Where FLOCALEID = 2052) F --<EFBFBD>ұ<EFBFBD><EFBFBD><EFBFBD>
on C.FSETTLECURRID = F.FCURRENCYID
LEFT JOIN
(Select B.FNAME,B.FSPECIFICATION,A.* From
T_BD_MATERIAL A
JOIN
T_BD_MATERIAL_L B
on A.FMATERIALID = B.FMATERIALID
Where B.FLOCALEID = 2052
AND A.FDocumentStatus = 'C' AND A.FForbidStatus = 'A') G --<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
on G.FMATERIALID = B.FMaterialId
LEFT JOIN
(Select q2.FNAME,q1.* From
T_BAS_PREBDONE q1
JOIN
T_BAS_PREBDONE_L q2
on q1.FID = q2.FID
Where q2.FLocaleID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>
on H.FID = A.F_projectname
LEFT JOIN
(Select q2.FNAME,q1.* From
V_BD_SALESMAN q1
LEFT JOIN
V_BD_SALESMAN_L q2
on q1.fid = q2.fid
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A'
AND q1.FForbiddenStatus = '0') H2 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD>
on A.FSalerId = H2.fid
LEFT JOIN
(Select q2.FNAME,q1.* From
T_BD_DEPARTMENT q1
JOIN
T_BD_DEPARTMENT_L q2
on q1.FDEPTID = q2.FDEPTID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H3 --<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD>ű<EFBFBD>
on A.FSaleDeptId = H3.FDEPTID
LEFT JOIN
(Select q2.FNAME,q1.* From
T_HR_EMPINFO q1
JOIN
T_HR_EMPINFO_L q2
on q1.FID = q2.FID
Where q2.FLOCALEID = 2052
AND q1.FDocumentStatus = 'C'
AND q1.FForbidStatus = 'A') H4 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
on A.F_VRYF_BASE_FG2 = H4.FID
LEFT JOIN
(Select A.FNumber,A.FMASTERID,B.FDATAVALUE From T_BAS_ASSISTANTDATAENTRY A
JOIN T_BAS_ASSISTANTDATAENTRY_L B on A.FENTRYID = B.FENTRYID
Where A.FID = '674f073de0bc25'
AND A.FDocumentStatus = 'C'
AND A.FForbidStatus = 'A') H5
on H5.FMASTERID = A.FSpecialReson
LEFT JOIN
(SELECT W2.FSID,SUM(W1.FALLAMOUNT_LC) as 'FALLAMOUNT_LC' FROM
(Select q2.FAllAmount_LC,q2.FENTRYID From T_SAL_DELIVERYNOTICE q1
JOIN T_SAL_DELIVERYNOTICEENTRY_F q2
on q1.FID = q2.FID Where q1.FDocumentStatus = 'C'
AND q1.FCancelStatus = 'A') W1
JOIN T_SAL_DELIVERYNOTICEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY' GROUP BY W2.FSID) H6
on B.FENTRYID = H6.FSID
LEFT JOIN
(SELECT W2.FSID,W1.* FROM
(Select B.FALLAMOUNTFOR,B.FENTRYID From T_AR_RECEIVABLE A
JOIN T_AR_RECEIVABLEENTRY B on A.FID = B.FID Where A.FDocumentStatus = 'C'
AND B.FORDERNUMBER !='' AND A.FENDDATE <= GETDATE()) W1
JOIN T_AR_RECEIVABLEENTRY_LK W2 on W1.FENTRYID = W2.FENTRYID
Where W2.FSTABLENAME = 'T_SAL_ORDERENTRY') H7 --<EFBFBD>տ
on B.FENTRYID = H7.FSID
--ES<EFBFBD><EFBFBD>W<EFBFBD><EFBFBD>SX<EFBFBD><EFBFBD>CW<EFBFBD><EFBFBD>D<EFBFBD><EFBFBD>CY
Where D.FNUMBER not in ('P','E','C','S')
AND A.F_YKQC_CheckBox_qtr1 = 1 AND B.FQTY >= 0
AND A.FDocumentStatus = 'C' AND A.FBusinessType = 'NORMAL' AND A.FMANUALCLOSE = '0'
AND A.FID in (Select * From #TABLEXYX)
AND A.F_contractnumber NOT LIKE 'Z%'
AND A.FMANUALCLOSE <> '1'
AND B.FManualRowClose <> '1'
AND A.FID NOT IN(
SELECT FID FROM #TEMP3
)
AND FORMAT(A.FApproveDate,'yyyy-MM-dd') >= '2025-06-01 00:00:00'AND FORMAT(A.FApproveDate,'yyyy-MM-dd') <= '2025-06-20 00:00:00';/*dialect*/
Select * INTO #TempTable3 From #TempTable1 UNION ALL Select * From #TempTable2;
Select * INTO #TempTable4 From #TempTable3 Where 1=1 ;/*dialect*/
Select
*,
ROW_NUMBER() OVER (ORDER BY ContractNumber,t1.Sort DESC) AS FID,
ROW_NUMBER() OVER (ORDER BY ContractNumber,t1.Sort DESC) AS FIDENTITYID
INTO TMP5CAD9BB84D8011F0AD6E90F6533
From
(SELECT *,1 Sort FROM #TempTable4
UNION ALL
SELECT
'',
'',
'<EFBFBD>ϼƣ<EFBFBD>',
null,
'',
'',
'',
'',
'',
SUM(t1.Quantity),--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SUM(t1.TaxPrice),
SUM(t1.AllAmount),
'',
'',
'',
'',
'',
'',
SUM(t1.CurrentSettledUpset1),
SUM(t1.CurrentSettledUpset2),
SUM(t1.Difference),
SUM(t1.TotalSpread),
'',
'',
SUM(t1.OrderAllAmount),
SUM(t1.NotShipmentsAmount),
SUM(t1.ExpireUnpaidAmount),
'',
0 Sort
FROM #TempTable4 t1) t1
order by Sort DESC
SELECT * FROM TMP5CAD9BB84D8011F0AD6E90F6533