2025-08-27 09:49:14 +08:00

45 lines
2.2 KiB
Transact-SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 安全删除方式(推荐)
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