修改S类合同为系统合同特价

This commit is contained in:
2025-09-03 17:11:55 +08:00
parent c437b24ab8
commit f929d05e89
2 changed files with 38 additions and 34 deletions

View File

@@ -85,6 +85,7 @@ namespace Pilot.Report.Exploitation.SpecialDetails
header.AddChild("CurrentSettledUpsetJinE", new LocaleValue("当期结算价*数量(仪表)"), SqlStorageType.SqlDecimal);
header.AddChild("F_VRYF_Amount_yrr", new LocaleValue("整单结算总价"), SqlStorageType.SqlDecimal);
header.AddChild("CurrentSettledUpset1", new LocaleValue("当期结算价(仪表)"), SqlStorageType.SqlDecimal);
header.AddChild("newJieSuanJia", new LocaleValue("最新结算价(仪表)"), SqlStorageType.SqlDecimal);
header.AddChild("CurrentSettledUpset2", new LocaleValue("当期结算价(系统)"), SqlStorageType.SqlDecimal);
header.AddChild("Difference", new LocaleValue("差额(单价-结算价)"), SqlStorageType.SqlDecimal);
header.AddChild("TotalSpreadYiBiao", new LocaleValue("仪表总价差(终)"), SqlStorageType.SqlDecimal);
@@ -221,7 +222,7 @@ FROM T_SAL_ORDERENTRY B --销售订单明细表
) D --合同类型#(辅助资料表)
ON A.F_ORDERCATEGORY = D.FMASTERID
WHERE
(D.FNUMBER IN ( 'P', 'E', 'C', 'S','B' ))
(D.FNUMBER IN ( 'P', 'E', 'C','B' ))
AND (B.F_SPECIALOFFER = '1' OR B2.FTaxPrice*fin.FExchangeRate < B.F_SettlementP OR (B2.FTaxPrice*fin.FExchangeRate < B.F_SHOUGONGJIESUANJIA AND B.F_SettlementP=0 ) )
AND B.F_YKQC_CHECKBOX_QTR != '1'
AND A.FDOCUMENTSTATUS = 'C'
@@ -235,7 +236,7 @@ WHERE
SELECT FID FROM #PaiChuGongSi
) {wheresql} ; ");
//系统合同
//系统合同 20250903 郭靖要求把S类合同改成系统合同特价
sql += string.Format($@"/*dialect*/
SELECT A.FBILLNO AS 'AFBILLNO',
'XT' F_ORDERTYPE,
@@ -263,7 +264,7 @@ FROM T_SAL_ORDERENTRY B --销售订单明细表
ON A.F_ORDERCATEGORY = D.FMASTERID
--ES、W、SX、CW、D、CY
WHERE D.FNUMBER NOT IN ( 'P', 'E', 'C', 'S','CS','CW','B' )
WHERE D.FNUMBER NOT IN ( 'P', 'E', 'C','CS','CW','B' )
AND (A.F_SpecialContracts = '是' OR a.F_GROSSMARGIN1='<35%' OR a.F_VRYF_Amount_yrr > c.FBillAllAmount ) AND (a.F_CancelSpecialContracts !='是' or a.F_CancelSpecialContracts is null )
AND B.FQTY >= 0
AND A.FDOCUMENTSTATUS = 'C'
@@ -433,7 +434,7 @@ FROM #PLChongDianZhuangHeTong ;");
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN
B.F_SETTLEMENTP*B.FQTY
(CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) *B.FQTY
ELSE
NULL
END AS 'CurrentSettledUpsetJinE', --当期结算价*数量(仪表)
@@ -453,6 +454,8 @@ FROM #PLChongDianZhuangHeTong ;");
NULL
END AS 'CurrentSettledUpset1', --当期结算价(仪表)
g.F_JSJ AS newJieSuanJia, --最新结算价
CASE
WHEN (AAA.TableName IN ('#XiTongHeTong','#PLChongDianZhuangHeTong'))
AND ROW_NUMBER() OVER (PARTITION BY A.FID,AAA.TableName ORDER BY a.FID,AAA.TableName,b.FENTRYID) = 1 THEN
@@ -461,10 +464,10 @@ FROM #PLChongDianZhuangHeTong ;");
NULL
END AS 'CurrentSettledUpset2', --当期结算价(系统)
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - (CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) )
ELSE NULL END AS 'Difference', --差额(单价-底价)
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)*B.FQTY
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - (CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) )*B.FQTY
ELSE NULL END AS 'TotalSpreadYiBiao', --仪表总价差(终)
CASE
WHEN (AAA.TableName IN ('#XiTongHeTong','#PLChongDianZhuangHeTong'))
@@ -848,6 +851,7 @@ WHERE F_K3SEQ=k3.行号 AND #tempDaBiao.ContractNumber=k3.合同号;
,[SpecialCauseType]
,[CRMSpecialCause]
,[CurrentSettledUpset1]
,newjiesuanjia
,CurrentSettledUpsetJinE
,F_VRYF_Amount_yrr
,[CurrentSettledUpset2]
@@ -885,6 +889,7 @@ WHERE F_K3SEQ=k3.行号 AND #tempDaBiao.ContractNumber=k3.合同号;
'',
'',
SUM(t1.CurrentSettledUpset1),
SUM(newjiesuanjia),
SUM(CurrentSettledUpsetJinE)
,SUM(F_VRYF_Amount_yrr),
SUM(t1.CurrentSettledUpset2),

View File

@@ -1,4 +1,4 @@
/*dialect*/
/*dialect*/
SELECT A.FID AS FID
INTO #PaiChuGongSi
FROM T_SAL_ORDER A
@@ -37,7 +37,7 @@ FROM T_SAL_ORDERENTRY B --
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 T_SAL_ORDERFIN fin ON a.fid=fin.fid
left join T_SAL_ORDERFIN fin on a.fid=fin.fid
LEFT JOIN
(
SELECT FNUMBER,
@@ -49,7 +49,7 @@ FROM T_SAL_ORDERENTRY B --
) D --<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>#<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD>
ON A.F_ORDERCATEGORY = D.FMASTERID
WHERE
(D.FNUMBER IN ( 'P', 'E', 'C', 'S','B' ))
(D.FNUMBER IN ( 'P', 'E', 'C','B' ))
AND (B.F_SPECIALOFFER = '1' OR B2.FTaxPrice*fin.FExchangeRate < B.F_SettlementP OR (B2.FTaxPrice*fin.FExchangeRate < B.F_SHOUGONGJIESUANJIA AND B.F_SettlementP=0 ) )
AND B.F_YKQC_CHECKBOX_QTR != '1'
AND A.FDOCUMENTSTATUS = 'C'
@@ -61,7 +61,7 @@ WHERE
AND A.FID NOT IN
(
SELECT FID FROM #PaiChuGongSi
) AND 1=1 AND a.F_CONTRACTNUMBER LIKE '%P202312120001%' ; /*dialect*/
) AND 1=1 AND a.F_CONTRACTNUMBER like '%S202509030016%' ; /*dialect*/
SELECT A.FBILLNO AS 'AFBILLNO',
'XT' F_ORDERTYPE,
CONVERT(NVARCHAR, A.FApproveDate, 23) AS 'Date', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -88,7 +88,7 @@ FROM T_SAL_ORDERENTRY B --
ON A.F_ORDERCATEGORY = D.FMASTERID
--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','CS','CW','B' )
WHERE D.FNUMBER NOT IN ( 'P', 'E', 'C','CS','CW','B' )
AND (A.F_SpecialContracts = '<EFBFBD><EFBFBD>' OR a.F_GROSSMARGIN1='<35%' OR a.F_VRYF_Amount_yrr > c.FBillAllAmount ) AND (a.F_CancelSpecialContracts !='<EFBFBD><EFBFBD>' or a.F_CancelSpecialContracts is null )
AND B.FQTY >= 0
AND A.FDOCUMENTSTATUS = 'C'
@@ -101,7 +101,7 @@ WHERE D.FNUMBER NOT IN ( 'P', 'E', 'C', 'S','CS','CW','B' )
AND A.FID NOT IN
(
SELECT FID FROM #PaiChuGongSi
) AND 1=1 AND a.F_CONTRACTNUMBER like '%P202312120001%'; /*dialect*/
) AND 1=1 AND a.F_CONTRACTNUMBER like '%S202509030016%'; /*dialect*/
SELECT A.FBILLNO AS 'AFBILLNO',
'CDZ' F_ORDERTYPE,
CONVERT(NVARCHAR, A.FApproveDate, 23) AS 'Date', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -152,10 +152,7 @@ WHERE
(
SELECT FID FROM #PaiChuGongSi
)
AND G.FNUMBER LIKE 'V%' AND 1=1 AND a.F_CONTRACTNUMBER like '%P202312120001%' ;
/*dialect*/
AND G.FNUMBER LIKE 'V%' AND 1=1 AND a.F_CONTRACTNUMBER like '%S202509030016%' ; /*dialect*/
SELECT A.FBILLNO AS 'AFBILLNO',
A.F_ORDERTYPE,
CONVERT(NVARCHAR, A.FApproveDate, 23) AS 'Date', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -209,7 +206,7 @@ WHERE
(
SELECT FID FROM #PaiChuGongSi
)
AND G.FNUMBER not LIKE 'V%' AND 1=1 AND a.F_CONTRACTNUMBER like '%P202312120001%'; /*dialect*/
AND G.FNUMBER not LIKE 'V%' AND 1=1 AND a.F_CONTRACTNUMBER like '%S202509030016%'; /*dialect*/
/*dialect*/
SELECT *
INTO #TempTable3
@@ -244,7 +241,7 @@ FROM #PLChongDianZhuangHeTong ;/*dialect*/
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN
B.F_SETTLEMENTP*B.FQTY
(CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) *B.FQTY
ELSE
NULL
END AS 'CurrentSettledUpsetJinE', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
@@ -264,6 +261,8 @@ FROM #PLChongDianZhuangHeTong ;/*dialect*/
NULL
END AS 'CurrentSettledUpset1', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD>
g.F_JSJ AS newJieSuanJia, --<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CASE
WHEN (AAA.TableName IN ('#XiTongHeTong','#PLChongDianZhuangHeTong'))
AND ROW_NUMBER() OVER (PARTITION BY A.FID,AAA.TableName ORDER BY a.FID,AAA.TableName,b.FENTRYID) = 1 THEN
@@ -272,10 +271,10 @@ FROM #PLChongDianZhuangHeTong ;/*dialect*/
NULL
END AS 'CurrentSettledUpset2', --<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD>ϵͳ<EFBFBD><EFBFBD>
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - (CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) )
ELSE NULL END AS 'Difference', --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD>׼ۣ<EFBFBD>
CASE
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - B.F_SETTLEMENTP)*B.FQTY
WHEN (AAA.TableName IN ( '#YiBiaoHeTong','#XNChongDianZhuangHeTong')) THEN (B2.FTAXPRICE - (CASE when B.F_SETTLEMENTP=0 THEN g.F_JSJ ELSE B.F_SETTLEMENTP END) )*B.FQTY
ELSE NULL END AS 'TotalSpreadYiBiao', --<EFBFBD>DZ<EFBFBD><EFBFBD>ܼ۲<EFBFBD>գ<EFBFBD>
CASE
WHEN (AAA.TableName IN ('#XiTongHeTong','#PLChongDianZhuangHeTong'))
@@ -570,7 +569,7 @@ FROM #PLChongDianZhuangHeTong ;/*dialect*/
ON W1.FENTRYID = W2.FENTRYID
WHERE W2.FSTABLENAME = 'T_SAL_ORDERENTRY'
) H7
ON B.FENTRYID = H7.FSID AND 1=1 AND a.F_CONTRACTNUMBER like '%P202312120001%' ;
ON B.FENTRYID = H7.FSID AND 1=1 AND a.F_CONTRACTNUMBER like '%S202509030016%' ;
@@ -648,6 +647,7 @@ WHERE F_K3SEQ=k3.
,[SpecialCauseType]
,[CRMSpecialCause]
,[CurrentSettledUpset1]
,newjiesuanjia
,CurrentSettledUpsetJinE
,F_VRYF_Amount_yrr
,[CurrentSettledUpset2]
@@ -685,6 +685,7 @@ WHERE F_K3SEQ=k3.
'',
'',
SUM(t1.CurrentSettledUpset1),
SUM(newjiesuanjia),
SUM(CurrentSettledUpsetJinE)
,SUM(F_VRYF_Amount_yrr),
SUM(t1.CurrentSettledUpset2),
@@ -703,6 +704,4 @@ WHERE F_K3SEQ=k3.
) t1
order by Sort desc,Date desc ,fid desc ,FIDENTITYID
--DROP TABLE TMP250DF88C87A711F0AD799B10B28
--DROP TABLE #PaiChuGongSi , #YiBiaoHeTong , #XiTongHeTong ,#TempTable3 ,#PLChongDianZhuangHeTong_yibiao,#tempDaBiao,#XNChongDianZhuangHeTong,#PLChongDianZhuangHeTong,TMP509D9B1A79CF11F0AD799B10B28
--DROP TABLE #PaiChuGongSi , #YiBiaoHeTong , #XiTongHeTong ,#TempTable3 ,#PLChongDianZhuangHeTong_yibiao,#tempDaBiao,#XNChongDianZhuangHeTong,#PLChongDianZhuangHeTong