45 lines
2.2 KiB
Transact-SQL
45 lines
2.2 KiB
Transact-SQL
-- 安全删除方式(推荐)
|
||
IF OBJECT_ID('dbo.ZZV_FaHuo', 'V') IS NOT NULL
|
||
DROP VIEW dbo.ZZV_FaHuo;
|
||
GO
|
||
|
||
CREATE VIEW ZZV_FaHuo AS
|
||
|
||
/*2025-08-13调整发货数量逻辑"销售订单发货数量取数逻辑,要根据销售订单行数据进行判断:
|
||
1、如果行在云星空没有关联发货通知单,就取该行关联的中间表发货数量
|
||
2、如果行在云星空有关联发货通知单,就取该行关联的云星空发货数量+关联的中间表(销售出库数量+其他出库数量)"*/
|
||
SELECT
|
||
salorder.FID AS 销售订单FID,
|
||
salorderitem.FENTRYID AS 销售订单FENTRYID,
|
||
salorder.F_CONTRACTNUMBER AS 合同号,
|
||
yun.[云星空发货数量],
|
||
yun.[云星空发货金额(原币)],
|
||
CASE WHEN yun.[云星空发货数量] IS NULL THEN k3order.发货数量 ELSE ISNULL( k3order.销售出库数量,0)+ ISNULL( k3order.其他出库数量,0) END [k3发货数量],
|
||
CASE WHEN yun.[云星空发货数量] IS NULL THEN k3order.发货金额 ELSE (ISNULL( k3order.销售出库数量,0)+ ISNULL( k3order.其他出库数量,0))* ISNULL(k3order.含税单价,0) END [k3发货金额],
|
||
k3order.发货金额 AS [原K3发货金额],
|
||
|
||
k3order.含税单价,
|
||
k3order.退货数量,
|
||
k3order.退货金额
|
||
FROM
|
||
dbo.T_SAL_ORDER salorder
|
||
LEFT JOIN T_SAL_ORDERENTRY salorderitem ON salorder.FID = salorderitem.FID
|
||
LEFT JOIN (
|
||
SELECT
|
||
c.FSBILLID,
|
||
c.FSID,
|
||
SUM(B.FQTY) AS [云星空发货数量],
|
||
SUM(B_F.FAllAmount) AS [云星空发货金额(原币)]
|
||
FROM
|
||
T_SAL_DELIVERYNOTICEENTRY_LK C
|
||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY B ON B.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
|
||
LEFT JOIN T_SAL_DELIVERYNOTICE A ON A.FID = B.FID AND A.FDOCUMENTSTATUS = 'C'
|
||
LEFT JOIN T_SAL_DELIVERYNOTICEENTRY_F B_F ON B.FENTRYID = B_F.FENTRYID
|
||
WHERE C.FSTABLENAME = 'T_SAL_ORDERENTRY' AND A.FDOCUMENTSTATUS = 'C'
|
||
GROUP BY c.FSBILLID, c.FSID,a.F_PAPERCONTRACT
|
||
) yun ON yun.FSBILLID = salorder.FID AND yun.FSID = salorderitem.FENTRYID
|
||
LEFT JOIN [oldk3seorder0701] k3order
|
||
ON salorderitem.F_K3SEQ = k3order.行号 AND salorder.F_CONTRACTNUMBER = k3order.合同号 AND salorder.FSALEORGID=100302
|
||
WHERE
|
||
salorder.FDOCUMENTSTATUS = 'C' AND salorder.FSALEORGID=100302
|