49 lines
2.1 KiB
SQL
49 lines
2.1 KiB
SQL
/*计划订单一旦投放,T_PLN_RESERVELINKENTRY里计划订单将转移到生产订单 */
|
||
SELECT
|
||
t0e.FID
|
||
,t0.FBILLNO
|
||
,t0e.FENTRYID
|
||
,t0e.FMATERIALID
|
||
,t0e.FBomId MOBomId
|
||
,t1.FSRCFORMID '顶级需求来源类型'
|
||
,t1.FSRCBILLNO '顶级需求来源单号'
|
||
,t1.FSRCINTERID /*顶级需求来源单内码*/
|
||
,t1.FSRCENTRYID /*顶级需求来源分录号*/ ---来源于同一预测单同一行的这两个值一定相同
|
||
,t2e.FSEQ
|
||
,t2e.FBomId /*可以用预测订单的FBomId取匹配BOM多级展开的首层号*/
|
||
,t2e.FMATERIALID OMATERAILID
|
||
,'' BOMLevel
|
||
/*放入一个临时表,待用*/
|
||
--INTO #_MO
|
||
FROM T_PRD_MO t0 --生产订单表头
|
||
INNER JOIN T_PRD_MOENTRY t0e ON t0e.FID=t0.FID --生产订单表体
|
||
INNER JOIN T_PLN_RESERVELINKENTRY t1e ON t1e.FINTSUPPLYID=t0e.FID AND t1e.FINTSUPPLYENTRYID=t0e.FENTRYID--预留表表体
|
||
INNER JOIN T_PLN_RESERVELINK t1 ON t1.FID=t1e.FID AND t1.FSRCFORMID='PLN_FORECAST'--预留表表头
|
||
INNER JOIN T_PLN_FORECASTENTRY t2e ON t2e.FID=t1.FSRCINTERID AND t2e.FENTRYID=t1.FSRCENTRYID--预测单表体
|
||
WHERE 1 = 1
|
||
--t0.FBILLNO='WO2401100002' /*测试生产订单*/
|
||
AND t0e.FFORECASTGROUP='' /*层数为空*/
|
||
AND t0e.FSRCBILLTYPE='PLN_PLANORDER' /*确保是通过MRP运算下推的单据*/
|
||
|
||
--CREATE INDEX [#PLid] ON #_MO (FSRCINTERID ASC,FSRCENTRYID ASC) /*找相同组别可用*/
|
||
--CREATE INDEX [#BomId] ON #_MO (FBomId ASC) /*BOM多级展开以及更新首层号可用*/
|
||
|
||
--SELECT FSRCINTERID,FSRCENTRYID,MO2.FBILLNO AS '首层生产订单的层号'
|
||
--into #n_mo
|
||
--FROM #_MO MO INNER JOIN T_PRD_MOENTRY MO1 ON MO1.FID=MO.FID AND MO1.FENTRYID=MO.FENTRYID
|
||
--INNER JOIN T_PRD_MO MO2 ON MO2.FID=MO.FID
|
||
--CREATE INDEX [#n_mo] ON #n_mo (FSRCINTERID ASC,FSRCENTRYID ASC) /*找相同组别可用*/
|
||
|
||
----update mo set BOMLevel=nmo.首层生产订单的层号+'-'+'表值函数里的层号'
|
||
----from #_MO mo left join #n_mo nmo on nmo.FSRCINTERID=mo.FSRCINTERID and nmo.FSRCENTRYID=mo.FSRCENTRYID
|
||
--/*-------------将dbo.GetBomSeq改为表值函数或存储过程,返回包含下列字段的表-----------------
|
||
-- 顶级BOM_ID(对应#_MO中的FBomId);
|
||
-- 子BOM_ID(对应#_MO中的MOBomId);
|
||
-- 层号
|
||
----------------将dbo.GetBomSeq改为表值函数或存储过程,返回包含下列字段的表------------------*/
|
||
----select dbo.GetBomSeq(7293846,3994919)
|
||
|
||
--select * from #_MO
|
||
|
||
--DROP TABLE #_MO
|
||
--DROP TABLE #n_mo |