Files
GateDge2023_ljy/05.长园/CYG.Python/SAL_SaleOrder/sql/销售订单保存时更新关联订单信息.sql
PastSaid 912bea60ac 1
2024-03-28 11:30:14 +08:00

82 lines
4.5 KiB
SQL

--/***********发货通知单start*********************/
--UPDATE tt SET tt.F_CYG_TEXT1 =
SELECT tt.FENTRYID
,STUFF((SELECT distinct ','+ t0e.F_CYG_TEXT4
FROM T_SAL_ORDERENTRY t0e --销售订单
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk --发货通知单关系表
ON t0e.FID = t1e_lk.FSBILLID AND t0e.FENTRYID = t1e_lk.FSID AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
WHERE t1e_lk.FENTRYID = tt.FENTRYID --拼接关联字段
FOR XML PATH('')
),1,1,'') --stuff 列转行后拼接
FROM T_SAL_DELIVERYNOTICEENTRY tt
WHERE EXISTS (SELECT 1 FROM T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk WHERE t1e_lk.FSBILLID = 100040 AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY' AND t1e_lk.FENTRYID = tt.FENTRYID)
--/***********发货通知单end*********************/
--/***********销售出库单start*********************/
--UPDATE tt SET tt.F_CYG_TEXT1 =
SELECT tt.FENTRYID
,STUFF((SELECT distinct ','+ t0e.F_CYG_TEXT4
FROM T_SAL_ORDERENTRY t0e --销售订单
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk --发货通知单关系表
ON t0e.FID = t1e_lk.FSBILLID AND t0e.FENTRYID = t1e_lk.FSID AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t1e_lk.FENTRYID --发货通知单
INNER JOIN T_SAL_OUTSTOCKENTRY_LK t2e_lk --销售出库单关系表
ON t1e.FID = t2e_lk.FSBILLID AND t1e.FENTRYID = t2e_lk.FSID AND t2e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY'
WHERE t2e_lk.FENTRYID = tt.FENTRYID --拼接关联字段
FOR XML PATH('')
),1,1,'') --stuff 列转行后拼接
FROM T_SAL_OUTSTOCKENTRY tt
WHERE EXISTS (
SELECT 1 FROM T_SAL_OUTSTOCKENTRY_LK t2e_lk
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t2e_lk.FSBILLID = t1e.FID AND t2e_lk.FSID = t1e.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk on t1e_lk.FENTRYID = t1e.FENTRYID AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
WHERE t2e_lk.FENTRYID = tt.FENTRYID AND t2e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY' AND t1e_lk.FSBILLID = 100040)
--/***********销售出库单end*********************/
--/***********应收单start*********************/
--UPDATE tt SET tt.F_CYG_TEXT1 =
SELECT tt.FENTRYID
,STUFF((SELECT distinct ','+ t0e.F_CYG_TEXT4
FROM T_SAL_ORDERENTRY t0e --销售订单
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk --发货通知单关系表
ON t0e.FID = t1e_lk.FSBILLID AND t0e.FENTRYID = t1e_lk.FSID AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e ON t1e.FENTRYID = t1e_lk.FENTRYID --发货通知单
INNER JOIN T_SAL_OUTSTOCKENTRY_LK t2e_lk --销售出库单关系表
ON t1e.FID = t2e_lk.FSBILLID AND t1e.FENTRYID = t2e_lk.FSID AND t2e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY'
INNER JOIN T_SAL_OUTSTOCKENTRY t2e on t2e.FENTRYID = t2e_lk.FENTRYID
INNER JOIN T_AR_RECEIVABLEENTRY_LK t3e_lk
on t2e.FID = t3e_lk.FSBILLID AND t2e.FENTRYID = t3e_lk.FSID AND t3e_lk.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY'
WHERE t3e_lk.FENTRYID = tt.FENTRYID --拼接关联字段
FOR XML PATH('')
),1,1,'') --stuff 列转行后拼接
FROM T_AR_RECEIVABLEENTRY tt
WHERE EXISTS (
SELECT 1 FROM T_AR_RECEIVABLEENTRY_LK t3e_lk
INNER JOIN T_SAL_OUTSTOCKENTRY t2e on t2e.FID = t3e_lk.FSBILLID AND t2e.FENTRYID = t3e_lk.FSID
INNER JOIN T_SAL_OUTSTOCKENTRY_LK t2e_lk on t2e.FENTRYID = t2e_lk.FENTRYID AND t2e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY'
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t2e_lk.FSBILLID = t1e.FID AND t2e_lk.FSID = t1e.FENTRYID
INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk on t1e_lk.FENTRYID = t1e.FENTRYID AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
WHERE t3e_lk.FENTRYID = tt.FENTRYID AND t3e_lk.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY' AND t1e_lk.FSBILLID = 100040)
--/***********应收单end*********************/
--SELECT
-- t0e.FID
-- ,t0e.FENTRYID
-- ,t1e.FENTRYID AS '发货通知单实体id'
-- ,ISNULL(t2e.FENTRYID, 0) AS '销售出库单实体id'
-- ,ISNULL(t3e.FENTRYID, 0) AS '应收单实体id'
--FROM T_SAL_ORDERENTRY t0e
-- INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK t1e_lk on t0e.FID = t1e_lk.FSBILLID AND t0e.FENTRYID = t1e_lk.FSID
-- AND t1e_lk.FSTABLENAME = 'T_SAL_ORDERENTRY'
-- INNER JOIN T_SAL_DELIVERYNOTICEENTRY t1e on t1e.FENTRYID = t1e_lk.FENTRYID
-- INNER JOIN T_SAL_OUTSTOCKENTRY_LK t2e_lk on t1e.FID = t2e_lk.FSBILLID AND t1e.FENTRYID = t2e_lk.FSID
-- AND t2e_lk.FSTABLENAME = 'T_SAL_DELIVERYNOTICEENTRY'
-- INNER JOIN T_SAL_OUTSTOCKENTRY t2e on t2e.FENTRYID = t2e_lk.FENTRYID
-- INNER JOIN T_AR_RECEIVABLEENTRY_LK t3e_lk on t2e.FID = t3e_lk.FSBILLID AND t2e.FENTRYID = t3e_lk.FSID
-- AND t3e_lk.FSTABLENAME = 'T_SAL_OUTSTOCKENTRY'
-- INNER JOIN T_AR_RECEIVABLEENTRY t3e on t3e.FENTRYID = t3e_lk.FENTRYID
--WHERE
-- t0e.FID = 100007