11
This commit is contained in:
parent
3cd51d5cdd
commit
3b502a7681
@ -1,144 +1,253 @@
|
||||
|
||||
ALTER PROC UPDATESpecialContracts
|
||||
(
|
||||
@FID NVARCHAR(1000)
|
||||
)
|
||||
AS
|
||||
|
||||
/****** Object: StoredProcedure [dbo].[UPDATESpecialContracts] Script Date: 2025/8/20 11:24:16 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
ALTER PROCEDURE [dbo].[UPDATESpecialContracts]
|
||||
(
|
||||
@FID NVARCHAR(1000)
|
||||
)
|
||||
AS
|
||||
|
||||
|
||||
DECLARE @YiBiaoTeJia INT=0,@HeTongTeJia INT =0;
|
||||
|
||||
update a set A.F_SPECIALCONTRACTS = '否'
|
||||
FROM T_SAL_ORDER A where A.fid =@FID AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
--update AE set AE.F_specialoffer = '0'
|
||||
--FROM T_SAL_ORDER A LEFT JOIN T_SAL_ORDERENTRY AE ON A.FID = AE.FID WHERE A.FID = @FID AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
|
||||
--一、仪表合同(P、C、E、S):
|
||||
--1、销售订单分录中,只要存在任何一条数据,含税单价<结算价【物料资料自定义字段】,只能判定该销售订单为特价订单,不能判断是否需要走特价审批流程,判定是否走审批流程是需要经过以下步骤2。
|
||||
--【步骤2】、此时需要看“是否直签客户”这个字段的值:
|
||||
--(1)如果是“否”,那么需要走特价申请流程;
|
||||
--(2)如果是“是”或空值,那么需要判断同客户同项目同产品代码是否这价格下过(同价格),如果下过可以不走特价(历史已经审批过的销售订单:同客户同项目同产品代码同价格),没下过需要特价申请;
|
||||
|
||||
--否直签客户,走特价申请流程
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('P','C','E','S')
|
||||
AND ABS(D.FAllAmount_LC)<ABS(B.F_SETTLEMENTP*B.FQTY)
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (E.F_DirectSigningCus = '否'OR E.F_DirectSigningCus = '')
|
||||
|
||||
|
||||
--是或空的直签客户,判断是否走特价审批流程
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
--SELECT 1
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN T_BAS_PREBDONE_L I ON A.F_PROJECTNAME = I.FID
|
||||
CROSS APPLY
|
||||
(
|
||||
SELECT COUNT(E.FBILLNO) AS C
|
||||
FROM T_SAL_ORDER E
|
||||
INNER JOIN T_SAL_ORDERentry F ON E.FID = F.FID
|
||||
INNER JOIN T_SAL_ORDERentry_F G ON F.FENTRYID = G.FENTRYID
|
||||
INNER JOIN T_BAS_PREBDONE_L H ON E.F_PROJECTNAME = H.FID
|
||||
WHERE E.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FCUSTID =E.FCUSTID AND H.FNAME = I.FNAME AND F.FMATERIALID = B.FMATERIALID AND (D.FAllAmount_LC/B.FQTY) = (G.FAllAmount_LC/F.FQTY)
|
||||
) G
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('P','C','E','S')
|
||||
AND ABS(D.FAllAmount_LC)<ABS(B.F_SettlementP*B.FQTY)
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND E.F_DirectSigningCus = '是'
|
||||
AND G.C = 0
|
||||
|
||||
-- 二、系统合同(ES、W、SX、D、CY)
|
||||
--1、合同总金额【价税合计本位币】<结算总成本【∑结算价(隐藏字段)*数量】+定制开发预算【PMS系统】+施工成本【PMS系统,是否*1.2(否)】+实施人天【PMS系统】*800 + 设计人天【PMS系统】*800
|
||||
--按特价单处理,需要走特价审批流程;
|
||||
|
||||
DECLARE @EmployeeID DECIMAL(23,10)
|
||||
|
||||
SELECT @EmployeeID = (CASE WHEN ISNULL(SUM(CAST(C.F_JSJ AS decimal(23,10)) * B.FQTY),0) = 0
|
||||
THEN 0 ELSE SUM(CAST(C.F_JSJ AS decimal(23,10))*B.FQTY) END)
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL C ON B.FMATERIALID = C.FMATERIALID
|
||||
WHERE A.FID = @FID
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERFIN D ON D.FID = A.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER in ('ES','W','SX','D','CY')
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND d.FBILLALLAMOUNT_LC < @EmployeeID+CAST(ISNULL( F_KFYS,'0.00')AS float) +CAST(ISNULL( F_SGCB,'0.00')AS float)+CAST(ISNULL( F_SSRT,'0.00')AS float)+ CAST(ISNULL( F_SJRT,'0.00')AS float)
|
||||
|
||||
|
||||
|
||||
|
||||
--三、充电桩系统合同(CS,CW)
|
||||
--否则 2、排除技术服务费、施工费、施工材料等项,只考虑充电桩按单项核查,则需要按第一项仪表合同的规则处理,充电桩的每一项都参与比较,如果有一项满足充电桩单价<结算价,就为特价合同,走特价审批流程
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('CS','CW')
|
||||
AND ABS(D.FAllAmount_LC)< ABS(B.F_SettlementP*B.FQTY)
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (E.F_DirectSigningCus = '否' OR E.F_DirectSigningCus = '')
|
||||
AND C.FNUMBER LIKE 'V%'
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
--SELECT 1
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_BD_CUSTOMER E ON E.FCUSTID = A.FCUSTID
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN T_BAS_PREBDONE_L I ON A.F_PROJECTNAME = I.FID
|
||||
CROSS APPLY
|
||||
(
|
||||
SELECT COUNT(E.FBILLNO) AS C
|
||||
FROM T_SAL_ORDER E
|
||||
INNER JOIN T_SAL_ORDERentry F ON E.FID = F.FID
|
||||
INNER JOIN T_SAL_ORDERentry_F G ON F.FENTRYID = G.FENTRYID
|
||||
INNER JOIN T_BAS_PREBDONE_L H ON E.F_PROJECTNAME = H.FID
|
||||
WHERE E.FDOCUMENTSTATUS = 'C'
|
||||
AND A.FCUSTID =E.FCUSTID AND H.FNAME = I.FNAME AND F.FMATERIALID = B.FMATERIALID AND D.FAllAmount_LC = G.FAllAmount_LC
|
||||
) G
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('CS','CW')
|
||||
AND ABS(D.FAllAmount_LC)< ABS(B.F_SettlementP*B.FQTY)
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND E.F_DirectSigningCus = '是'
|
||||
AND C.FNUMBER LIKE 'V%'
|
||||
AND G.C = 0
|
||||
|
||||
--判断明细是特价
|
||||
IF((SELECT COUNT(1)
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID = B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_ORDERCATEGORY
|
||||
AND (D.FAllAmount_LC)< (B.F_SettlementP*B.FQTY) AND B.FQTY>0 AND (B.F_YKQC_CHECKBOX_QTR != '1' OR F_YKQC_CHECKBOX_QTR IS NULL )
|
||||
AND A.FID = @FID
|
||||
AND U.FNUMBER NOT IN ('ES','W','SX','D','CY'))>0)
|
||||
BEGIN
|
||||
SELECT @YiBiaoTeJia=1
|
||||
end
|
||||
PRINT '@YiBiaoTeJia='+CONVERT(NVARCHAR(20), @YiBiaoTeJia);
|
||||
-- --判断明细非特价
|
||||
-- update B set B.F_specialoffer = '0'
|
||||
-- FROM T_SAL_ORDER A
|
||||
-- INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
-- INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID = B.FENTRYID
|
||||
-- INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
-- INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_ORDERCATEGORY
|
||||
-- AND ABS(D.FAllAmount_LC) >= ABS(B.F_SettlementP*B.FQTY)
|
||||
-- AND A.FID = @FID
|
||||
-- AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
-- AND U.FNUMBER NOT IN ('ES','W','SX','D','CY')
|
||||
|
||||
--当前结算底价字段进行赋值
|
||||
DECLARE @SUMJSJ DECIMAL(23,10);
|
||||
SELECT @SUMJSJ = @EmployeeID + CAST(ISNULL(F_KFYS, '0.00') AS float) + CAST(ISNULL(F_SGCB, '0.00') AS float) + CAST(ISNULL(F_SSRT, '0.00') AS float) * 800 + CAST(ISNULL(F_SJRT, '0.00') AS float) * 800
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
|
||||
where
|
||||
A.FID = @FID
|
||||
AND U.FNUMBER in ('ES','W','SX','D','CY','CS','CW')
|
||||
|
||||
SELECT @SUMJSJ = @EmployeeID
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
|
||||
where
|
||||
A.FID = @FID
|
||||
AND U.FNUMBER in ('P','C','E','S')
|
||||
|
||||
update A SET A.F_VRYF_Amount_yrr =CAST(ISNULL(@SUMJSJ,0) AS decimal(23,10))
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
WHERE A.FID = @FID
|
||||
|
||||
--判断是否兴诺物料
|
||||
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '否'
|
||||
FROM T_SAL_ORDER A where fid =@FID
|
||||
--一、仪表合同(P、C、E、S):
|
||||
--1、销售订单分录中,只要存在任何一条数据,含税单价<结算价【物料资料自定义字段】,只能判定该销售订单为特价订单,不能判断是否需要走特价审批流程,判定是否走审批流程是需要经过以下步骤2。
|
||||
--【步骤2】、此时需要看“是否直签客户”这个字段的值:
|
||||
--(1)如果是“否”,那么需要走特价申请流程;
|
||||
--(2)如果是“是”或空值,那么需要判断同客户同项目同产品代码是否这价格下过(同价格),如果下过可以不走特价(历史已经审批过的销售订单:同客户同项目同产品代码同价格),没下过需要特价申请;
|
||||
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('P','C','E','S')
|
||||
AND D.FTAXPRICE<F_JSJ
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (F_DirectSigningCus = '否')
|
||||
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
--SELECT 1
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT A.FID,A.FCUSTID,C.FTAXPRICE,B.FMATERIALID,A.F_PROJECTNAME FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERentry B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERentry_F C ON C.FENTRYID = B.FENTRYID
|
||||
WHERE A.FDOCUMENTSTATUS = 'C'
|
||||
) E ON E.FID <> A.FID AND A.FCUSTID =E.FCUSTID AND A.F_PROJECTNAME = E.F_PROJECTNAME AND B.FMATERIALID = E.FMATERIALID AND D.FTAXPRICE = E.FTAXPRICE
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('P','C','E','S')
|
||||
AND D.FTAXPRICE<F_JSJ
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (F_DirectSigningCus = '是')
|
||||
AND e.FCUSTID is null
|
||||
-- 二、系统合同(ES、W、SX、CW、D、CY)
|
||||
--1、合同总金额【价税合计本位币】<结算总成本【∑结算价(隐藏字段)*数量】+定制开发预算【PMS系统】+施工成本【PMS系统,是否*1.2(否)】+实施人天【PMS系统】*800 + 设计人天【PMS系统】*800
|
||||
--按特价单处理,需要走特价审批流程;
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
--SELECT d.FBILLALLAMOUNT_LC,
|
||||
--B.F_CBJ * b.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800 + IIF( F_SJRT= '' ,0,F_SJRT)*800 as '结算总金额'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERFIN D ON D.FID = A.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F E ON E.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER in ('S','ES','W','SX','CW','D','CY')
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND d.FBILLALLAMOUNT_LC < B.F_CBJ * b.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800 + IIF( F_SJRT= '' ,0,F_SJRT)*800
|
||||
--带V物料是否特价
|
||||
DECLARE @COUNTXN0 DECIMAL(23,10)
|
||||
SELECT @COUNTXN0 = COUNT(*)
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
|
||||
where A.FID = @FID AND B.F_specialoffer = '1' AND B.F_YKQC_CheckBox_qtr = '0'
|
||||
|
||||
--三、充电桩系统合同(CS)
|
||||
--否则 2、排除技术服务费、施工费、施工材料等项,只考虑充电桩按单项核查,则需要按第一项仪表合同的规则处理,充电桩的每一项都参与比较,如果有一项满足充电桩单价<结算价,就为特价合同,走特价审批流程
|
||||
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('CS')
|
||||
AND D.FTAXPRICE<F_JSJ
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (F_DirectSigningCus = '否')
|
||||
AND ( C.FNUMBER LIKE 'V%' OR C.FNUMBER LIKE 'K%')
|
||||
|
||||
|
||||
update a set F_SPECIALCONTRACTS = '是'
|
||||
--SELECT 1
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT A.FID,A.FCUSTID,C.FTAXPRICE,B.FMATERIALID,A.F_PROJECTNAME FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERentry B ON A.FID = B.FID
|
||||
INNER JOIN T_SAL_ORDERentry_F C ON C.FENTRYID = B.FENTRYID
|
||||
WHERE A.FDOCUMENTSTATUS = 'C'
|
||||
) E ON E.FID <> A.FID AND A.FCUSTID =E.FCUSTID AND A.F_PROJECTNAME = E.F_PROJECTNAME AND B.FMATERIALID = E.FMATERIALID AND D.FTAXPRICE = E.FTAXPRICE
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
where U.FNUMBER IN ('CS')
|
||||
AND D.FTAXPRICE<F_JSJ
|
||||
AND A.FID = @FID
|
||||
AND A.FDOCUMENTSTATUS IN ('Z','A','D')
|
||||
AND (F_DirectSigningCus = '是')
|
||||
AND ( C.FNUMBER LIKE 'V%' OR C.FNUMBER LIKE 'K%')
|
||||
|
||||
|
||||
--SELECT * FROM
|
||||
--(
|
||||
-- SELECT distinct a.F_DirectSigningCus,a.fid,
|
||||
-- sum(case when g.fentryid is null then 0 else 1 end ) over(partition by a.fid ) as '是否下过单',
|
||||
-- U.FNUMBER
|
||||
-- FROM T_SAL_ORDER A
|
||||
-- INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
-- INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =B.FENTRYID
|
||||
-- INNER JOIN T_BD_MATERIAL C ON C.FMATERIALID = B.FMATERIALID
|
||||
-- LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
-- LEFT JOIN T_SAL_ORDER E ON E.FCUSTID = A.FCUSTID AND E.F_projectname= A.F_projectname and e.fid <> a.fid AND E.FDOCUMENTSTATUS = 'C'
|
||||
-- LEFT JOIN T_SAL_ORDERentry F ON F.FID =e.fid and F.fmaterialid = b.fmaterialid
|
||||
-- LEFT JOIN T_SAL_ORDERentry_F G ON G.FENTRYID = F.FENTRYID AND g.FTAXPRICE = D.FTAXPRICE
|
||||
-- where U.FNUMBER IN ('P','C','E')
|
||||
-- AND D.FTAXPRICE<F_JSJ
|
||||
-- AND A.FID = @FID
|
||||
-- AND A.FDOCUMENTSTATUS IN ('Z','A')
|
||||
--) a
|
||||
--WHERE 1=1 AND (F_DirectSigningCus = '否') or (F_DirectSigningCus= '是' AND 是否下过单=0 )
|
||||
|
||||
----S、ES、W、SX、CW、D、CY
|
||||
--SELECT * FROM
|
||||
--(
|
||||
-- SELECT DISTINCT
|
||||
-- b.FBILLALLAMOUNT_LC,
|
||||
-- F_CBJ * c.FQTY+IIF( F_KFYS= '' ,0,F_KFYS) +IIF( F_SGCB= '' ,0,F_SGCB)+IIF( F_SSRT= '' ,0,F_SSRT)*800
|
||||
-- + IIF( F_SJRT= '' ,0,F_SJRT)*800 as '结算总金额',A.FID FROM T_SAL_ORDER A
|
||||
-- INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
|
||||
-- INNER JOIN T_SAL_ORDERENTRY C ON C.FENTRYID = B.FENTRYID
|
||||
-- INNER JOIN T_SAL_ORDERENTRY_F D ON D.FENTRYID =C.FENTRYID
|
||||
-- LEFT JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
-- where U.FNUMBER IN ('S','ES','W','SX','CW','D','CY')
|
||||
-- AND A.FID = @FID
|
||||
-- AND A.FDOCUMENTSTATUS IN ('Z','A')
|
||||
--) a WHERE A.FBILLALLAMOUNT_LC<A.结算总金额
|
||||
update A SET A.F_YKQC_Combo_qtr = '是'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
|
||||
WHERE A.FID = @FID AND W.FNUMBER like 'V%' AND @COUNTXN0 <> 0
|
||||
|
||||
update A SET A.F_YKQC_Combo_qtr = '否'
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN V_ASSISTANTDATA U ON U.FENTRYID = A.F_Ordercategory
|
||||
INNER JOIN T_SAL_ORDERENTRY B ON A.FID = B.FID
|
||||
INNER JOIN T_BD_MATERIAL W ON W.FMATERIALID = B.FMATERIALID
|
||||
WHERE A.FID = @FID AND W.FNUMBER like 'V%' AND @COUNTXN0 = 0
|
||||
|
||||
|
||||
--判断特价原因是否必填
|
||||
update T_SAL_ORDER SET F_YKQC_CheckBox_qtr1 = 1
|
||||
WHERE FID = @FID AND @YiBiaoTeJia=1
|
||||
|
||||
|
||||
update T_SAL_ORDER SET F_YKQC_CheckBox_qtr1 = 0
|
||||
WHERE FID = @FID AND @YiBiaoTeJia=0
|
||||
|
||||
--计算销售订单的订单利润率
|
||||
DECLARE @DDLRL DECIMAL(23,2)
|
||||
|
||||
SELECT @DDLRL =
|
||||
CASE WHEN B.FBILLALLAMOUNT_LC = 0
|
||||
THEN 0
|
||||
ELSE ROUND((B.FBILLALLAMOUNT_LC - A.F_VRYF_Amount_yrr) / B.FBILLALLAMOUNT_LC, 2) END
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
|
||||
WHERE A.FID = @FID
|
||||
AND A.F_VRYF_Amount_yrr <> 0
|
||||
|
||||
UPDATE A
|
||||
SET F_DDLRL = CONVERT(VARCHAR(25), @DDLRL) + '%'
|
||||
FROM T_SAL_ORDER A
|
||||
WHERE A.FID = @FID
|
||||
AND @DDLRL <> 0
|
||||
|
||||
--更新价差
|
||||
update A
|
||||
SET A.F_differenceAmount = B.FBillAllAmount_LC - A.F_VRYF_Amount_yrr
|
||||
FROM T_SAL_ORDER A
|
||||
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
|
||||
where A.fid = @FID
|
||||
AND A.F_VRYF_Amount_yrr <> 0
|
||||
Loading…
x
Reference in New Issue
Block a user