45 lines
2.2 KiB
MySQL
Raw Normal View History

2025-08-23 15:20:46 +08:00
-- 安全删除方式(推荐)
IF OBJECT_ID('dbo.ZZV_FaHuo', 'V') IS NOT NULL
DROP VIEW dbo.ZZV_FaHuo;
GO
CREATE VIEW ZZV_FaHuo AS
2025-08-25 18:52:55 +08:00
/*2025-08-13调整发货数量逻辑"销售订单发货数量取数逻辑,要根据销售订单行数据进行判断:
1
2++"*/
2025-08-23 15:20:46 +08:00
SELECT
salorder.FID AS FID,
salorderitem.FENTRYID AS FENTRYID,
salorder.F_CONTRACTNUMBER AS ,
yun.[],
yun.[()],
2025-08-25 18:52:55 +08:00
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发货金额],
2025-08-23 15:20:46 +08:00
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
2025-08-25 18:52:55 +08:00
WHERE C.FSTABLENAME = 'T_SAL_ORDERENTRY' AND A.FDOCUMENTSTATUS = 'C'
GROUP BY c.FSBILLID, c.FSID,a.F_PAPERCONTRACT
2025-08-23 15:20:46 +08:00
) yun ON yun.FSBILLID = salorder.FID AND yun.FSID = salorderitem.FENTRYID
LEFT JOIN [oldk3seorder0701] k3order
ON salorderitem.F_K3SEQ = k3order. AND salorder.FBILLNO = k3order.[]
WHERE
salorder.FDOCUMENTSTATUS = 'C'