54 lines
2.2 KiB
SQL
54 lines
2.2 KiB
SQL
SELECT t0.FBILLNO,t0.FDATE,t0e.FID,t0e.FENTRYID,t0e.FMATERIALID
|
|
,(CASE t0e_lk.FSTABLENAME
|
|
WHEN 'T_STK_MISDELIVERYENTRY' THEN t1.FPRICE --其他出库(退货)-成本价
|
|
WHEN 'T_STK_INSTOCKENTRY' THEN t2.FPRICE --采购入库 -单价(不含税)
|
|
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN t3.FPRICE --分步式调入 -参考单价
|
|
ELSE 0
|
|
END) AS newReferPrice
|
|
,t0e.FReferPrice
|
|
,t0e.FQTY
|
|
,t0e.FReferAmount
|
|
,t0e.FExplain
|
|
,(CASE t0e_lk.FSTABLENAME
|
|
WHEN 'T_STK_MISDELIVERYENTRY' THEN '源_其他出库单:'+ t1.FBILLNO
|
|
WHEN 'T_STK_INSTOCKENTRY' THEN '源_采购入库单:'+ t2.FBILLNO
|
|
WHEN 'T_STK_STKTRANSFERINENTRY1' THEN '源_分步式调入单:'+ t3.FBILLNO
|
|
ELSE ''
|
|
END) AS 'newExplain'
|
|
,t0e_lk.FSTABLENAME
|
|
INTO #TMP_HAS_PARENT_MIS
|
|
FROM T_STK_MISDELIVERY t0
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t0e on t0.FID = t0e.FID
|
|
INNER JOIN T_STK_MISDELIVERYENTRY_LK t0e_lk on t0e.FENTRYID = t0e_lk.FENTRYID
|
|
OUTER APPLY (
|
|
SELECT t1.FBILLNO,t1e.FPRICE
|
|
FROM T_STK_MISDELIVERY t1 --其他出库单
|
|
INNER JOIN T_STK_MISDELIVERYENTRY t1e on t1.FID = t1e.FID
|
|
AND (t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_MISDELIVERYENTRY')
|
|
) t1
|
|
OUTER APPLY (
|
|
SELECT t2.FBILLNO,t2e.FPRICE
|
|
FROM T_STK_INSTOCK t2 --采购入库单
|
|
INNER JOIN T_STK_INSTOCKENTRY_F t2e on t2.FID = t2e.FID
|
|
AND (t2e.FID = t0e_lk.FSBILLID AND t2e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_INSTOCKENTRY')
|
|
) t2
|
|
OUTER APPLY (
|
|
SELECT t3.FBILLNO,(CASE LTRIM(RTRIM(t3e.FReferPrice)) WHEN '' THEN 0 ELSE CONVERT(decimal(23,6) ,t3e.FReferPrice) END) AS FPRICE
|
|
FROM T_STK_STKTRANSFERIN t3 --分步式调入
|
|
INNER JOIN T_STK_STKTRANSFERINENTRY t3e on t3.FID = t3e.FID
|
|
AND (t3e.FID = t0e_lk.FSBILLID AND t3e.FENTRYID = t0e_lk.FSID AND t0e_lk.FSTABLENAME = 'T_STK_STKTRANSFERINENTRY1')
|
|
) t3
|
|
WHERE 1 = 1
|
|
AND t0.FSTOCKORGID = 101542
|
|
AND t0e_lk.FSTABLENAME IN ('T_STK_STKTRANSFERINENTRY1','T_STK_INSTOCKENTRY' ,'T_STK_MISDELIVERYENTRY')
|
|
AND t0.FDATE >= '2023-11-01 00:00:00.000'
|
|
|
|
SELECT t1.*
|
|
--UPDATE t0e SET t0e.FReferPrice = t1.newReferPrice
|
|
--,t0e.FReferAmount = t1.newReferPrice * t0e.FQTY
|
|
--, t0e.FExplain = t1.newExplain
|
|
FROM T_STK_MISDELIVERYENTRY t0e
|
|
INNER JOIN #TMP_HAS_PARENT_MIS t1 on t0e.FENTRYID = t1.FENTRYID
|
|
WHERE t1.newReferPrice != 0
|
|
|
|
DROP TABLE #TMP_HAS_PARENT_MIS |