1
This commit is contained in:
@@ -22,10 +22,12 @@
|
||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="PlanService\" />
|
||||
<Folder Include="POSH_CB_PROCOSTRESULTREC\" />
|
||||
<Folder Include="PRD_MO\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="PlanService\ListEventPlugInEx.py" />
|
||||
<Compile Include="POSH_CB_PROCOSTRESULTREC\产品成本还原构造程序.py" />
|
||||
<Compile Include="POSH_CB_PROCOSTRESULTREC\产品成本还原查询报表_20240819.py" />
|
||||
<Compile Include="POSH_CB_PROCOSTRESULTREC\产品成本还原查询报表构造.py" />
|
||||
|
||||
@@ -160,7 +160,12 @@
|
||||
<Content Include="PRD_MO\SQLserver\db\生产订单BOM_选中订单_更新层号_存储过程20240115.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\db\生产订单BOM更新层号_存储过程20240114.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\PLAN2.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\PROC_SELECT_UPDATE_BOMLEVEL.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\P_UpdateMoFORECAST.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\P_UpdateMoFORECAST2.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\P_UpdatePlan2.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\P_UpdateSubFORECAST.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\SQLQuery2.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\更新计划订单_预测单信息_存储过程.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\更新计划订单_预测单信息_存储过程_20240120.sql" />
|
||||
<Content Include="PRD_MO\SQLserver\查询生产层号为空的生产用料清单202402261540.sql" />
|
||||
|
||||
@@ -48,6 +48,7 @@ namespace Enpower.POSH_CB_PROCOSTRESULTREC
|
||||
MainWorker.QuequeTask(this.Context, () =>
|
||||
{
|
||||
var tt = Math.Ceiling(0.1);
|
||||
|
||||
}, (a) =>
|
||||
{
|
||||
|
||||
|
||||
@@ -0,0 +1,239 @@
|
||||
USE [AIS20220929093310]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[PROC_SELECT_UPDATE_BOMLEVEL] Script Date: 2025/1/3 2:35:18 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
ALTER PROCEDURE [dbo].[PROC_SELECT_UPDATE_BOMLEVEL]
|
||||
@billnoStr varchar(8000)
|
||||
AS
|
||||
BEGIN
|
||||
CREATE TABLE #TMP_MO --<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>#TMP
|
||||
(
|
||||
FID INT
|
||||
,FBILLNO VARCHAR(255)
|
||||
,FDATE DATE
|
||||
,FENTRYID INT
|
||||
,FMATERIALID INT
|
||||
,OMATERAILID int
|
||||
,MOBOMID INT
|
||||
,FSRCFORMID VARCHAR(255)
|
||||
,FSRCBILLNO VARCHAR(255)
|
||||
,FSRCINTERID INT
|
||||
,FSRCENTRYID INT
|
||||
,FSEQ INT
|
||||
,FBOMID INT
|
||||
,BOMLEVEL VARCHAR(255)
|
||||
,TOPBILLNO VARCHAR(255)
|
||||
,FFORECASTGROUP varchar(255)
|
||||
);
|
||||
|
||||
CREATE INDEX [#TMP_MO_FID] ON #TMP_MO(FID);
|
||||
|
||||
--INSERT INTO #TMP_MO
|
||||
/*<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ͷ<EFBFBD>ţ<EFBFBD>T_PLN_RESERVELINKENTRY<EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
SELECT
|
||||
t0e.FID
|
||||
,t0.FBILLNO
|
||||
,t0.FDATE
|
||||
,t0e.FENTRYID
|
||||
,t0e.FMATERIALID
|
||||
,t0e.FBomId MOBomId
|
||||
,t1.FSRCFORMID --'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t1.FSRCBILLNO --'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,t1.FSRCINTERID /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
,t1.FSRCENTRYID /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>*/ ---<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ͬһԤ<EFBFBD>ⵥͬһ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
|
||||
,t2e.FSEQ
|
||||
,t2e.FBomId /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⶩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>FBomIdȡƥ<EFBFBD><EFBFBD>BOM<EFBFBD>༶չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD>*/
|
||||
,t2e.FMATERIALID OMATERAILID
|
||||
,t0e.FFORECASTGROUP
|
||||
--,t0_lk.FSTABLENAME
|
||||
--,t0_lk.FSTABLEID
|
||||
--,t0_lk.FSBILLID
|
||||
,t0_lk.FSID
|
||||
,t0e_Q.FSRCSPLITID
|
||||
,'' BOMLevel
|
||||
INTO #TMP_MO_PART
|
||||
FROM T_PRD_MO t0 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
INNER JOIN T_PRD_MOENTRY t0e ON t0e.FID=t0.FID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_PRD_MOENTRY_Q t0e_Q on t0e.FENTRYID = t0e_Q.FENTRYID
|
||||
LEFT JOIN T_PRD_MOENTRY_LK t0_lk on t0e.FENTRYID = t0_lk.FENTRYID
|
||||
INNER JOIN T_PLN_RESERVELINKENTRY t1e ON t1e.FINTSUPPLYID = t0e.FID AND t1e.FINTSUPPLYENTRYID = t0e.FENTRYID--Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_PLN_RESERVELINK t1 ON t1.FID=t1e.FID AND t1.FSRCFORMID = 'PLN_FORECAST'--Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
|
||||
INNER JOIN T_PLN_FORECASTENTRY t2e ON t2e.FID = t1.FSRCINTERID AND t2e.FENTRYID = t1.FSRCENTRYID--Ԥ<EFBFBD>ⵥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
WHERE 1 = 1
|
||||
--t0.FBILLNO='WO2401100002' /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
--AND t0e.FFORECASTGROUP='' /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>*/
|
||||
--AND t0e.FFORECASTGROUPFRIST = 'WO2312270043'
|
||||
AND t0e.FSRCBILLTYPE='PLN_PLANORDER' /*ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>MRP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶĵ<EFBFBD><EFBFBD><EFBFBD>*/
|
||||
AND t0e_Q.FSRCSPLITID = 0
|
||||
AND t0.FBILLNO in (SELECT b.billno FROM (SELECT CAST('<v>'+REPLACE(@billnoStr,',','</v><v>')+'</v>' AS xml) billno ) a OUTER APPLY (SELECT T.C.value('.','varchar(50)') billno FROM a.billno.nodes('/v') AS T(C)) b ) --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
INSERT INTO #TMP_MO
|
||||
SELECT
|
||||
tt.FID
|
||||
,tt.FBILLNO
|
||||
,tt.FDATE
|
||||
,tt.FENTRYID
|
||||
,tt.FMATERIALID
|
||||
,tt.OMATERAILID
|
||||
,tt.MOBomId
|
||||
,tt.FSRCFORMID --'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,tt.FSRCBILLNO --'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,tt.FSRCINTERID /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
,tt.FSRCENTRYID /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>*/ ---<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD>ͬһԤ<EFBFBD>ⵥͬһ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ
|
||||
,tt.FSEQ
|
||||
,CASE tt.FBomId WHEN 0 THEN ISNULL(t0.MOBomId,0) ELSE tt.FBomId END /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⶩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>FBomIdȡƥ<EFBFBD><EFBFBD>BOM<EFBFBD>༶չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ȴ<EFBFBD>Ԥ<EFBFBD>ⵥȡֵ<C8A1><D6B5>Ԥ<EFBFBD>ⵥΪ<E2B5A5><CEAA>ʱȡ<CAB1><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
,tt.BOMLevel
|
||||
,ISNULL(t0.FBILLNO,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>') FBILLNO
|
||||
,tt.FFORECASTGROUP
|
||||
--into #TMP_MO
|
||||
FROM
|
||||
#TMP_MO_PART tt
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
FID,MOBomId,FBOMID,FSEQ,FSRCINTERID,FSRCENTRYID,FBILLNO,FDATE,len(FBILLNO) Billnolen,OMATERAILID,FMATERIALID,FSID
|
||||
,ROW_NUMBER() over(partition BY MOBomId,FBOMID,FSEQ,FSRCINTERID,FSRCENTRYID,FDATE,len(FBILLNO),OMATERAILID,FMATERIALID order by FBILLNO) ROWID
|
||||
FROM
|
||||
#TMP_MO_PART
|
||||
WHERE FMATERIALID = OMATERAILID
|
||||
) t0 ON 1=1
|
||||
AND tt.FBOMID = t0.FBOMID
|
||||
AND tt.FSEQ = t0.FSEQ
|
||||
AND tt.FSRCINTERID = t0.FSRCINTERID
|
||||
AND tt.FSRCENTRYID = t0.FSRCENTRYID
|
||||
AND tt.FDATE = t0.FDATE
|
||||
--AND t0.ROWID =1
|
||||
AND tt.OMATERAILID = t0.FMATERIALID
|
||||
AND t0.Billnolen = len(tt.FBILLNO)
|
||||
--AND tt.fsid = t0.FSID
|
||||
WHERE 1 = 1
|
||||
--AND tt.FFORECASTGROUP = ''
|
||||
|
||||
CREATE TABLE #TMP_TOP_BOM_SET(
|
||||
FID int
|
||||
,FNUMBER varchar(80)
|
||||
,FMATERIALID int
|
||||
,FSEQ int
|
||||
,BOMLEVEL int
|
||||
,TOPID int
|
||||
,showlevel varchar(80)
|
||||
,oId int
|
||||
)
|
||||
CREATE INDEX [#TMP_TOP_BOM_SET_FID] ON #TMP_TOP_BOM_SET(FID);
|
||||
|
||||
INSERT INTO #TMP_TOP_BOM_SET
|
||||
SELECT
|
||||
t0.FID
|
||||
,t0.FNUMBER
|
||||
,t0.FMATERIALID
|
||||
,ROW_NUMBER() over(partition BY t0.FID order by t0.fid)
|
||||
,1 'BOMLEVEL'
|
||||
,t0.FID AS 'TOPID'
|
||||
,''
|
||||
,t0.FID
|
||||
FROM
|
||||
T_ENG_BOM t0
|
||||
INNER JOIN #TMP_MO t3 on t3.FBOMID = t0.FID AND t3.FMATERIALID = t0.FMATERIALID
|
||||
WHERE 1 = 1
|
||||
AND t3.FMATERIALID = t3.OMATERAILID
|
||||
GROUP BY
|
||||
t0.FID
|
||||
,t0.FNUMBER
|
||||
,t0.FMATERIALID
|
||||
|
||||
|
||||
DECLARE @num INT,@level int,@LoopCount int
|
||||
SET @num = 1
|
||||
SET @level =1
|
||||
SET @LoopCount = 0;
|
||||
WHILE (@num <> 0 AND @LoopCount < 30)
|
||||
BEGIN
|
||||
INSERT INTO #TMP_TOP_BOM_SET
|
||||
SELECT
|
||||
t3.FID
|
||||
,t3.FNUMBER
|
||||
,t3.FMATERIALID
|
||||
,ROW_NUMBER() over(partition BY t0.TOPID,t0.oid order by t0.fseq)
|
||||
,t0.BOMLEVEL + 1
|
||||
,t0.TOPID
|
||||
,CONCAT(t0.showlevel,'-',CAST(dense_rank() over(partition BY t0.topid,t0.oid,t0.fid order by t1.fseq) as VARCHAR))
|
||||
,t0.FID
|
||||
FROM
|
||||
#TMP_TOP_BOM_SET t0
|
||||
INNER JOIN T_ENG_BOMCHILD t1 on t0.FID = t1.FID
|
||||
INNER JOIN T_BD_MATERIALBASE t2 on t2.FMATERIALID = t1.FMATERIALID
|
||||
INNER JOIN T_ENG_BOM t3 on t1.FMATERIALID = t3.FMATERIALID
|
||||
WHERE 1 = 1
|
||||
AND (t2.FERPCLSID = 2 OR t2.FERPCLSID = 5 )
|
||||
AND t0.BOMLEVEL = @level
|
||||
|
||||
SET @num = @@ROWCOUNT
|
||||
SET @level += 1
|
||||
SET @LoopCount += 1
|
||||
END
|
||||
|
||||
SELECT
|
||||
*
|
||||
INTO #TMP_TOP_BOM_GROUP
|
||||
FROM #TMP_TOP_BOM_SET
|
||||
WHERE 1 = 1
|
||||
GROUP BY FID,FNUMBER,FMATERIALID,FSEQ,BOMLEVEL,TOPID,showlevel,oId
|
||||
|
||||
SELECT FID,FBILLNO,FENTRYID,FDATE,FMATERIALID,OMATERAILID,MOBOMID,FSRCENTRYID,FSRCINTERID,FSEQ,FBOMID,TOPBILLNO,BOMLEVEL,FFORECASTGROUP
|
||||
INTO #TMP_MO_GROUP
|
||||
FROM #TMP_MO
|
||||
GROUP BY FID,FBILLNO,FENTRYID,FDATE,FMATERIALID,OMATERAILID,MOBOMID,FSRCENTRYID,FSRCINTERID,FSEQ,FBOMID,TOPBILLNO,BOMLEVEL,FFORECASTGROUP
|
||||
|
||||
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--UPDATE t0 SET t0.BOMLEVEL = ISNULL(t0.TOPBILLNO,'') + ISNULL(t1.showlevel ,'')
|
||||
--FROM #TMP_MO_GROUP t0 LEFT JOIN #TMP_TOP_BOM_GROUP t1 on t0.FMATERIALID = t1.FMATERIALID AND t0.MOBOMID = t1.FID AND t0.FBOMID = t1.TOPID
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2024-01-23
|
||||
UPDATE t0 SET t0.BOMLEVEL = (CASE t0.TOPBILLNO WHEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' THEN '' ELSE ISNULL(t0.TOPBILLNO,'') + ISNULL(t1.showlevel ,'') END)
|
||||
FROM #TMP_MO_GROUP t0 LEFT JOIN #TMP_TOP_BOM_GROUP t1 on t0.FMATERIALID = t1.FMATERIALID AND t0.MOBOMID = t1.FID AND t0.FBOMID = t1.TOPID
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
|
||||
UPDATE t0e SET t0e.FFORECASTGROUP = t1.BOMLEVEL,t0e.FFORECASTGROUPFRIST = t1.TOPBILLNO
|
||||
FROM T_PRD_MOENTRY t0e INNER JOIN #TMP_MO_GROUP t1 on t0e.FBOMID = t1.MOBOMID AND t0e.FENTRYID = t1.FENTRYID
|
||||
WHERE t0e.FFORECASTGROUP = ''
|
||||
--SELECT t0.*,t1.fnumber
|
||||
|
||||
--FROM #TMP_TOP_BOM_GROUP t0
|
||||
--INNER JOIN T_BD_MATERIAL t1 on t0.fmaterialid = t1.fmaterialid
|
||||
|
||||
----WHERE t0.TOPID = 8062230
|
||||
--order by t0.FSEQ,t0.BOMLEVEL
|
||||
--SELECT t0.*,t1.FENTRYID FROM #TMP_MO_GROUP t0 RIGHT join T_PRD_MOENTRY t1 on t0.FID = t1.FID AND t0.FENTRYID = t1.FENTRYID WHERE 1 = 1 AND t1.FFORECASTGROUPFRIST = 'WO2312270043'<27><>
|
||||
--SELECT t0.*
|
||||
-- ,t0_lk.FSTABLENAME
|
||||
-- ,t0_lk.FSTABLEID
|
||||
-- ,t0_lk.FSBILLID
|
||||
-- ,t0_lk.FSID
|
||||
-- ,t0e_Q.FSRCSPLITBILLNO
|
||||
-- ,t0e_Q.FSRCSPLITID
|
||||
-- ,t0e_Q.FSRCSPLITSEQ
|
||||
-- ,t0e_Q.FSRCSPLITENTRYID
|
||||
-- --INTO #TMP_MO_PART
|
||||
-- FROM #TMP_MO_GROUP t0
|
||||
-- LEft JOIN T_PRD_MOENTRY_LK t0_lk on t0.FENTRYID = t0_lk.FENTRYID
|
||||
-- INNER JOIN T_PRD_MOENTRY_Q t0e_Q on t0.FENTRYID = t0e_Q.FENTRYID
|
||||
-- WHERE 1 = 1
|
||||
--AND FBOMID =8237478 AND MOBOMID =8237478
|
||||
--AND topbillno='WO2311080183'
|
||||
--SELECT * FROM #TMP_MO WHERE 1 = 1
|
||||
--AND FBOMID <> MOBOMID
|
||||
--AND FBOMID = 6339745 --AND topbillno='WO2308090009' --<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
DROP TABLE #TMP_MO_GROUP
|
||||
DROP TABLE #TMP_MO_PART
|
||||
DROP TABLE #TMP_TOP_BOM_SET
|
||||
DROP TABLE #TMP_TOP_BOM_GROUP
|
||||
DROP TABLE #TMP_MO --ɾ<><C9BE><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>#TMP
|
||||
END
|
||||
|
||||
--SET STATISTICS TIME ON
|
||||
--EXEC PROC_UPDATE_BOMLEVEL
|
||||
--SET STATISTICS TIME OFF
|
||||
410
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateMoFORECAST.sql
Normal file
410
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateMoFORECAST.sql
Normal file
@@ -0,0 +1,410 @@
|
||||
USE [AIS20220929093310]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[P_UpdateMoFORECAST] Script Date: 2025/1/3 2:32:05 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: <20><><EFBFBD><EFBFBD><Author,,Name>
|
||||
-- Create date: 2022-12-31<Create Date,,>
|
||||
-- Description: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD>Ϣ<Description,,>
|
||||
-- =============================================
|
||||
ALTER PROCEDURE [dbo].[P_UpdateMoFORECAST]
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
-- EXEC P_UpdateMoFORECAST
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--UPDATE A SET FBILLNO=ISNULL( cast(I.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(E.FBOMID,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B D_B ON D_B.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY E ON E.FENTRYID= D_B.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER_B F_B ON F_B.FSALEORDERENTRYID = E.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER F ON F.FID = F_B.FID AND F.FMATERIALID=E.FMATERIALID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK G ON G.FSBILLID=F.FID
|
||||
--INNER JOIN T_PRD_MOENTRY H ON H .FENTRYID=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MO I ON I.FID=H.FID
|
||||
--WHERE C.FSTABLENAME = 'T_PLN_PLANORDER'
|
||||
--AND E.FMATERIALID <> B.FMATERIALID
|
||||
--AND B.FFORECASTGROUP = ''
|
||||
|
||||
|
||||
|
||||
|
||||
--UPDATE B SET FFORECASTGROUP = concat (K.FBILLNO,'-',dbo.GetBomSeq(j.FBOMID,b.fmaterialid))
|
||||
----*
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--INNER JOIN T_PRD_MO H ON H.FBILLNO=D.FFORECASTGROUPFRIST
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FID=H.FID AND G.FFORECASTGROUP = ''
|
||||
--INNER JOIN T_PRD_MOENTRY_Q I ON I .FSrcSplitEntryId=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY J ON J.FENTRYID=I.FENTRYID
|
||||
--INNER JOIN T_PRD_MO K ON K.FID=J.FID
|
||||
--WHERE B.FFORECASTGROUP= ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
|
||||
|
||||
--SELECT
|
||||
|
||||
--REPLACE( D.FFORECASTGROUP,H.FBILLNO,L.FBILLNO),
|
||||
|
||||
|
||||
--H.FBILLNO,
|
||||
--L.FBILLNO,*
|
||||
UPDATE B SET FFORECASTGROUP = REPLACE( D.FFORECASTGROUP,H.FBILLNO,L.FBILLNO)
|
||||
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
INNER JOIN T_PRD_MO H ON H.FBILLNO=D.FFORECASTGROUPFRIST --<EFBFBD>ײ<EFBFBD>
|
||||
INNER JOIN T_PRD_MOENTRY I ON I.FID=H.FID --<EFBFBD>ײ㵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_PRD_MOENTRY_Q J ON J.FSRCSPLITENTRYID=I.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY K ON K.FENTRYID=J.FENTRYID
|
||||
INNER JOIN T_PRD_MO L ON L.FID=K.FID AND SUBSTRING(L.FBILLNO, CHARINDEX('-',L.FBILLNO)+1,LEN(L.FBILLNO)) = SUBSTRING(A.FBILLNO, CHARINDEX('-',A.FBILLNO)+1,LEN(A.FBILLNO))
|
||||
WHERE 1=1
|
||||
AND B.FFORECASTGROUP = ''
|
||||
|
||||
--UPDATE B SET FFORECASTGROUP = concat (K.FBILLNO,'-',dbo.GetBomSeq(j.FBOMID,b.fmaterialid))
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK F ON F.FENTRYID=D.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FENTRYID=F.FSID AND G.FID=F.FSBILLID
|
||||
--INNER JOIN T_PRD_MO H ON H.FID=G.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q I ON I .FSrcSplitEntryId=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY J ON J.FENTRYID=I.FENTRYID AND J.FFORECASTGROUP =''
|
||||
--INNER JOIN T_PRD_MO K ON K.FID=J.FID
|
||||
--WHERE B.FFORECASTGROUP = ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD>¼ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
--select 1, E.FSTABLENAME
|
||||
----A.FID,A.F_WAUG_LAYER,
|
||||
----dbo.GetBomSeq( B .FBOMID,a.FMATERIALID) as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
----A.FCREATEDATE,
|
||||
----A.FMATERIALID,G.FBOMID,A.f_WAUG_LAYER,A.F_FORECASTNUMBER
|
||||
----,A.F_LINENUMBER,A.F_MATERIALCODE,a.FBILLNO as '1',G.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
--from T_PLN_PLANORDER A
|
||||
--INNER JOIN T_PLN_PLANORDER_B B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MO C ON C.FBILLNO=B.FSALEORDERNO
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK E ON E.FENTRYID=D.FENTRYID AND E.FSTABLENAME = 'T_PLN_PLANORDER'
|
||||
----INNER JOIN T_PLN_PLANORDER F ON F.FID = E.FSBILLID
|
||||
----INNER JOIN T_PLN_PLANORDER G ON G.F_FORECASTNUMBER=F.F_FORECASTNUMBER
|
||||
----AND G.F_LINENUMBER=F.F_LINENUMBER AND F.F_MATERIALCODE =G.FMATERIALID
|
||||
--WHERE a.F_WAUG_LAYER = ''
|
||||
--AND A.FBILLNO = 'MRP00490390'
|
||||
|
||||
UPDATE T_PLN_PLANORDER SET F_WAUG_LAYER = CASE WHEN B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> IS NULL THEN <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE CONCAT(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'-',<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) END
|
||||
FROM T_PLN_PLANORDER A
|
||||
INNER JOIN (
|
||||
SELECT A.FID, dbo.GetBomSeq(B.FBOMID,A.FMATERIALID) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
,A.FMATERIALID,B.FBOMID,A.f_WAUG_LAYER,A.F_FORECASTNUMBER,A.F_LINENUMBER
|
||||
,A.F_MATERIALCODE,a.FBILLNO AS '1',b.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_PLN_PLANORDER A
|
||||
INNER JOIN T_PLN_PLANORDER B ON A.F_FORECASTNUMBER=B.F_FORECASTNUMBER
|
||||
AND A.F_LINENUMBER=B.F_LINENUMBER AND A.F_MATERIALCODE =B.FMATERIALID
|
||||
WHERE a.F_WAUG_LAYER = ''
|
||||
) B ON A.FID = B.FID
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><EFBFBD>Mrp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
-- UPdate b set B.FFORECASTGROUP = isnull( dbo.getmobomseq( F.FENTRYID,dbo.GetBomSeq( f.FBOMID,b.FMATERIALID)) ,'')
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B E ON E.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY F ON F.FENTRYID=E.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_FORECAST G ON G.FID=F.FID
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
|
||||
--2024-01-14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʹ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--UPDATE B SET FFORECASTGROUP = REPLACE( D.F_WAUG_LAYER,e.FBILLNO,h.FBILLNO)
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER E ON E.FBILLNO = substring( D.F_WAUG_LAYER,0, CHARINDEX( '-',REPLACE( D.F_WAUG_LAYER,'_','-') ,0))
|
||||
--INNER JOIN T_PRD_MOENTRY_LK F ON F.FSBILLID=E.FID
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FENTRYID=F.FENTRYID
|
||||
--INNER JOIN T_PRD_MO h ON H.FID=G.FID
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
|
||||
--2024-01-14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʹ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
EXEC PROC_UPDATE_BOMLEVEL
|
||||
|
||||
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><EFBFBD>Mrp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
-- UPdate b set B.FFORECASTGROUP = dbo.getmobomseq( F.FENTRYID,dbo.GetBomSeq( f.FBOMID,b.FMATERIALID))
|
||||
--from T_SUB_REQORDER A
|
||||
--INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_SUB_REQORDERENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B E ON E.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY F ON F.FENTRYID=E.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_FORECAST G ON G.FID=F.FID
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
UPDATE B SET FFORECASTGROUP = ISNULL( cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
--SELECT
|
||||
--F.FNUMBER,
|
||||
--a.FBILLNO,
|
||||
--B.FENTRYID ,
|
||||
--D.fbomid,b.fmaterialid,
|
||||
--cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) as 'Bom<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
--CONVERT( nvarchar(1000),'') as '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>',a.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',e.FBILLNO as 'Դͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_LK C ON C .FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FSBILLID AND D.FENTRYID=C.FSID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
INNER JOIN T_BD_MATERIAL F ON F.FMATERIALID=B.FMATERIALID
|
||||
WHERE B.FFORECASTGROUP = ''
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊί<EFBFBD>ⶩ<EFBFBD><EFBFBD>
|
||||
UPDATE B SET FFORECASTGROUP = ISNULL( cast( e.FBILLNO as nvarchar(100))+'-'+ cast(dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
--SELECT
|
||||
--F.FNUMBER,
|
||||
--a.FBILLNO,
|
||||
--B.FENTRYID ,
|
||||
--D.fbomid,b.fmaterialid,
|
||||
--cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) as 'Bom<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
--CONVERT( nvarchar(1000),'') as '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>',a.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',e.FBILLNO as 'Դͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_SUB_REQORDER A
|
||||
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_SUB_REQORDERENTRY_LK C ON C .FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_SUB_REQORDERENTRY D ON D.FID=C.FSBILLID AND D.FENTRYID=C.FSID
|
||||
INNER JOIN T_SUB_REQORDER E ON E.FID=D.FID
|
||||
INNER JOIN T_BD_MATERIAL F ON F.FMATERIALID=B.FMATERIALID
|
||||
WHERE B.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>,֤<EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ΪԴͷ
|
||||
UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
--SELECT D.FSTABLENAME,*
|
||||
FROM T_SUB_REQORDER A
|
||||
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_LK D ON D.FENTRYID=B.FENTRYID
|
||||
--AND D.FSTABLENAME = 'T_SUB_REQORDER'
|
||||
WHERE 1 = 1 AND D.FSID IS NULL AND B.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>Ϊί<EFBFBD>ⶩ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪԴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE B SET FFORECASTGROUP = C.FSRCBILLNO
|
||||
--SELECT D.FSTABLENAME,*
|
||||
FROM T_SUB_REQORDER A
|
||||
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_A C ON C.FENTRYID=B.FENTRYID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_LK D ON D.FENTRYID=B.FENTRYID
|
||||
--AND D.FSTABLENAME = 'T_SUB_REQORDER'
|
||||
WHERE 1=1 AND D.FSID IS NOT NULL AND B.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start--
|
||||
----<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD>,Ϊ<><CEAA><EFBFBD>ĵ<EFBFBD><C4B5>ݱ<EFBFBD><DDB1><EFBFBD>)
|
||||
--UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
----SELECT *
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--LEFT JOIN T_PRD_MOENTRY_LK D ON D.FENTRYID=B.FENTRYID AND D.FSTABLENAME = 'T_PRD_MOENTRY'
|
||||
--WHERE
|
||||
--1=1
|
||||
--AND D.FSID IS NULL
|
||||
--AND B.FFORECASTGROUP = ''
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end--
|
||||
|
||||
--2024-01-23 18<31><38>14 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start--
|
||||
UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
--SELECT A.FBILLNO
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
WHERE 1=1 AND B.FFORECASTGROUP = '' AND not exists (SELECT 1 FROM T_PRD_MOENTRY_LK t1_lk WHERE t1_lk.FENTRYID = B.FENTRYID)
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end--
|
||||
|
||||
|
||||
|
||||
|
||||
--<2D><>ϵͳ<CFB5><CDB3><EFBFBD>ı<EFBFBD>ע<EFBFBD>ֶθ<D6B6><CEB8>µ<EFBFBD><C2B5><EFBFBD>ע2<D7A2>ֶ<EFBFBD>
|
||||
UPDATE B set FNOTE2=c.FMEMO FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_L C ON C.FENTRYID=B.FENTRYID
|
||||
where FNOTE2 = ''
|
||||
|
||||
--<EFBFBD><EFBFBD>ȡԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
|
||||
UPDATE B SET FNOTE2 = D.FNOTE2
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
--where A.FBILLNO = 'WO2301050101'
|
||||
where B.FNOTE2= ''
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ע
|
||||
--UPDATE D SET D.FNOTE2 = B.FNOTE2
|
||||
--SELECT a.FBILLNO,b.FNOTE2,c.FBILLNO ,d.FNOTE2
|
||||
UPDATE B SET FNOTE2 = D.FNOTE2
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MO C ON C.FBILLNO= B.FFORECASTGROUPFRIST
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FID
|
||||
--where A.FBILLNO = 'WO2301050101'
|
||||
where B.FNOTE2= ''
|
||||
AND A.FBILLNO <> B.FFORECASTGROUPFRIST
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_PRD_PPBOMENTRY SET FFORECASTGROUP= c.FFORECASTGROUP
|
||||
FROM T_PRD_PPBOM A
|
||||
INNER JOIN T_PRD_PPBOMENTRY D ON A.FID=D.FID
|
||||
INNER JOIN T_PRD_MO B ON B.FBILLNO=A.FMOBillNO INNER JOIN T_PRD_MOENTRY C ON C.FID=B.FID
|
||||
where d.FFORECASTGROUP = ''
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD>ĵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--SELECT FNUMERATOR,FDENOMINATOR,
|
||||
--ROUND(FNUMERATOR/FDENOMINATOR,3), F_PKGR_CONSUMPTION,
|
||||
--*
|
||||
UPDATE T_PRD_PPBOMENTRY set F_PKGR_CONSUMPTION = ROUND(FNUMERATOR/FDENOMINATOR,3)
|
||||
|
||||
FROM T_PRD_PPBOMENTRY
|
||||
|
||||
WHERE F_PKGR_CONSUMPTION = 0
|
||||
|
||||
|
||||
|
||||
|
||||
UPDATE A SET FINVSTOCKQTY=B.FBASEQTY
|
||||
FROM T_PRD_MOENTRY A
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT B.FMATERIALID,SUM(FBASEQTY) AS 'FBASEQTY' FROM T_STK_INVENTORY A
|
||||
INNER JOIN T_BD_MATERIAL B ON A.FMATERIALID=B.FMASTERID
|
||||
WHERE A.FISEFFECTIVED=1
|
||||
GROUP BY B.FMATERIALID
|
||||
) B ON A.FMATERIALID=B.FMATERIALID WHERE FINVSTOCKQTY = 0
|
||||
|
||||
|
||||
|
||||
|
||||
--UPDATE a SET a.FBILLNO = ISNULL( cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
----SELECT
|
||||
----F.FNUMBER,
|
||||
----a.FBILLNO,
|
||||
----B.FENTRYID ,
|
||||
----D.fbomid,b.fmaterialid,
|
||||
----cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) as 'Bom<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
----CONVERT( nvarchar(1000),'') as '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>',a.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',e.FBILLNO as 'Դͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C .FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FSBILLID AND D.FENTRYID=C.FSID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--INNER JOIN T_BD_MATERIAL F ON F.FMATERIALID=B.FMATERIALID
|
||||
--WHERE B.FFORECASTGROUP = ''
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
UPDATE a set FFORECASTGROUPFRIST =
|
||||
CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP
|
||||
|
||||
WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) > 0 AND B.FSRCSPLITENTRYID=0 THEN SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',1))
|
||||
WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) > 0 AND B.FSRCSPLITENTRYID>0 AND SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',2)) IS NULL THEN FFORECASTGROUP
|
||||
ELSE SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',2)) END
|
||||
|
||||
FROM T_PRD_MOENTRY A
|
||||
INNER JOIN T_PRD_MOENTRY_Q B ON A.FENTRYID=B.FENTRYID
|
||||
|
||||
WHERE
|
||||
1=1
|
||||
AND FFORECASTGROUPFRIST= ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_SUB_REQORDERENTRY set FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP ELSE SUBSTRING(FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0)) end
|
||||
FROM T_SUB_REQORDERENTRY
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_PRD_PPBOMENTRY set FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP ELSE SUBSTRING(FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0)) end
|
||||
FROM T_PRD_PPBOMENTRY
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_SUB_PPBOMENTRY set FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP ELSE SUBSTRING(FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0)) end
|
||||
FROM T_SUB_PPBOMENTRY
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE E SET E.F_PKGR_CUSTOMER= A.F_PKGR_CUSTOMER
|
||||
--SELECT *
|
||||
--D.FNOTE2,
|
||||
--B.FNOTE2,*
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_LK C ON C.FSID=B.FENTRYID AND C.FSBILLID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FENTRYID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--where A.FBILLNO = 'TO2305300002'
|
||||
AND ISNULL(E.F_PKGR_CUSTOMER,0)= 0
|
||||
and E.F_PKGR_CUSTOMER<>A.F_PKGR_CUSTOMER
|
||||
where A.FPRDORGID=1 and E.FPRDORGID=1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><EFBFBD><EFBFBD>麣Ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE PRT set PRT.F_PKGR_CUSTOMER=PRS.F_PKGR_CUSTOMER
|
||||
from T_PRD_MOENTRY_Q PRTRYS INNER JOIN T_PRD_MOENTRY_Q PRTRYT
|
||||
ON PRTRYS.FENTRYID=PRTRYT.FSRCSPLITENTRYID AND PRTRYS.FID=PRTRYT.FSRCSPLITID
|
||||
inner join T_PRD_MO PRS ON PRS.FID=PRTRYS.FID
|
||||
inner JOIN T_PRD_MO PRT ON PRT.FID=PRTRYT.FID
|
||||
where 1=1
|
||||
AND ISNULL(PRS.F_PKGR_CUSTOMER,0)<>0
|
||||
and PRT.F_PKGR_CUSTOMER <> PRS.F_PKGR_CUSTOMER
|
||||
--AND PRS.FID IN (@FSRCSPLITID)
|
||||
AND PRS.FPRDORGID=1 and PRT.FPRDORGID=1 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯<EFBFBD><EFBFBD><EFBFBD>麣Ӣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD>ĵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--SELECT FNUMERATOR,FDENOMINATOR,
|
||||
--ROUND(FNUMERATOR/FDENOMINATOR,3), F_PKGR_CONSUMPTION,
|
||||
--*
|
||||
UPDATE T_PRD_PPBOMENTRY set FBomStdQty = ROUND(FNUMERATOR/FDENOMINATOR,3)
|
||||
FROM T_PRD_PPBOMENTRY
|
||||
WHERE FBomStdQty = 0
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD>ĵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_SUB_PPBOMENTRY set FBomStdQty = ROUND(FNUMERATOR/FDENOMINATOR,3)
|
||||
FROM T_SUB_PPBOMENTRY
|
||||
WHERE FBomStdQty = 0
|
||||
END
|
||||
364
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateMoFORECAST2.sql
Normal file
364
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateMoFORECAST2.sql
Normal file
@@ -0,0 +1,364 @@
|
||||
USE [AIS20220929093310]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[P_UpdateMoFORECAST2] Script Date: 2025/1/3 2:33:38 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
|
||||
-- =============================================
|
||||
-- Author: <20><><EFBFBD><EFBFBD><Author,,Name>
|
||||
-- Create date: 2022-12-31<Create Date,,>
|
||||
-- Description: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><E2B5A5><EFBFBD><EFBFBD>Ϣ<Description,,>
|
||||
-- =============================================
|
||||
ALTER PROCEDURE [dbo].[P_UpdateMoFORECAST2]
|
||||
(
|
||||
@FBILLNO NVARCHAR(1000)
|
||||
)
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
-- EXEC P_UpdateMoFORECAST
|
||||
|
||||
|
||||
select fname into #temp2 from dbo.fn_hr_StrSplit(@FBILLNO,',')
|
||||
|
||||
|
||||
|
||||
--UPDATE A SET FBILLNO=ISNULL( cast(I.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(E.FBOMID,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B D_B ON D_B.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY E ON E.FENTRYID= D_B.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER_B F_B ON F_B.FSALEORDERENTRYID = E.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER F ON F.FID = F_B.FID AND F.FMATERIALID=E.FMATERIALID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK G ON G.FSBILLID=F.FID
|
||||
--INNER JOIN T_PRD_MOENTRY H ON H .FENTRYID=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MO I ON I.FID=H.FID
|
||||
--WHERE C.FSTABLENAME = 'T_PLN_PLANORDER'
|
||||
--AND E.FMATERIALID <> B.FMATERIALID
|
||||
--AND B.FFORECASTGROUP = ''
|
||||
|
||||
|
||||
|
||||
|
||||
--update B SET FFORECASTGROUP = concat (K.FBILLNO,'-',dbo.GetBomSeq(j.FBOMID,b.fmaterialid))
|
||||
----*
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--INNER JOIN T_PRD_MO H ON H.FBILLNO=D.FFORECASTGROUPFRIST
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FID=H.FID AND G.FFORECASTGROUP = ''
|
||||
--INNER JOIN T_PRD_MOENTRY_Q I ON I .FSrcSplitEntryId=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY J ON J.FENTRYID=I.FENTRYID
|
||||
--INNER JOIN T_PRD_MO K ON K.FID=J.FID
|
||||
--WHERE B.FFORECASTGROUP= ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
|
||||
|
||||
|
||||
--SELECT
|
||||
|
||||
--REPLACE( D.FFORECASTGROUP,H.FBILLNO,L.FBILLNO),
|
||||
|
||||
|
||||
--H.FBILLNO,
|
||||
--L.FBILLNO,*
|
||||
UPDATE B SET FFORECASTGROUP = REPLACE( D.FFORECASTGROUP,H.FBILLNO,L.FBILLNO)
|
||||
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
INNER JOIN T_PRD_MO H ON H.FBILLNO=D.FFORECASTGROUPFRIST --<EFBFBD>ײ<EFBFBD>
|
||||
INNER JOIN T_PRD_MOENTRY I ON I.FID=H.FID --<EFBFBD>ײ㵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INNER JOIN T_PRD_MOENTRY_Q J ON J.FSRCSPLITENTRYID=I.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY K ON K.FENTRYID=J.FENTRYID
|
||||
INNER JOIN T_PRD_MO L ON L.FID=K.FID AND SUBSTRING(L.FBILLNO, CHARINDEX('-',L.FBILLNO)+1,LEN(L.FBILLNO)) = SUBSTRING(A.FBILLNO, CHARINDEX('-',A.FBILLNO)+1,LEN(A.FBILLNO))
|
||||
INNER JOIN #temp2 m on m.Fname=a.FBILLNO
|
||||
WHERE 1=1
|
||||
AND B.FFORECASTGROUP = ''
|
||||
--AND A.FBILLNO =@FBILLNO
|
||||
|
||||
--update B SET FFORECASTGROUP = concat (K.FBILLNO,'-',dbo.GetBomSeq(j.FBOMID,b.fmaterialid))
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK F ON F.FENTRYID=D.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FENTRYID=F.FSID AND G.FID=F.FSBILLID
|
||||
--INNER JOIN T_PRD_MO H ON H.FID=G.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_Q I ON I .FSrcSplitEntryId=G.FENTRYID
|
||||
--INNER JOIN T_PRD_MOENTRY J ON J.FENTRYID=I.FENTRYID AND J.FFORECASTGROUP =''
|
||||
--INNER JOIN T_PRD_MO K ON K.FID=J.FID
|
||||
--WHERE B.FFORECASTGROUP = ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD>¼ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
--select 1, E.FSTABLENAME
|
||||
----A.FID,A.F_WAUG_LAYER,
|
||||
----dbo.GetBomSeq( B .FBOMID,a.FMATERIALID) as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
----A.FCREATEDATE,
|
||||
----A.FMATERIALID,G.FBOMID,A.f_WAUG_LAYER,A.F_FORECASTNUMBER
|
||||
----,A.F_LINENUMBER,A.F_MATERIALCODE,a.FBILLNO as '1',G.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
--from T_PLN_PLANORDER A
|
||||
--INNER JOIN T_PLN_PLANORDER_B B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MO C ON C.FBILLNO=B.FSALEORDERNO
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK E ON E.FENTRYID=D.FENTRYID AND E.FSTABLENAME = 'T_PLN_PLANORDER'
|
||||
----INNER JOIN T_PLN_PLANORDER F ON F.FID = E.FSBILLID
|
||||
----INNER JOIN T_PLN_PLANORDER G ON G.F_FORECASTNUMBER=F.F_FORECASTNUMBER
|
||||
----AND G.F_LINENUMBER=F.F_LINENUMBER AND F.F_MATERIALCODE =G.FMATERIALID
|
||||
--WHERE a.F_WAUG_LAYER = ''
|
||||
--AND A.FBILLNO = 'MRP00490390'
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><EFBFBD>Mrp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
-- UPdate b set B.FFORECASTGROUP = isnull( dbo.getmobomseq( F.FENTRYID,dbo.GetBomSeq( f.FBOMID,b.FMATERIALID)) ,'')
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B E ON E.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY F ON F.FENTRYID=E.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_FORECAST G ON G.FID=F.FID
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
|
||||
|
||||
--UPDATE T_PLN_PLANORDER SET F_WAUG_LAYER =
|
||||
--CASE WHEN B.<EFBFBD><EFBFBD><EFBFBD><EFBFBD> IS NULL THEN <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ELSE CONCAT(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'-',<EFBFBD><EFBFBD><EFBFBD><EFBFBD>) END
|
||||
-- from T_PLN_PLANORDER A
|
||||
-- INNER JOIN
|
||||
--(
|
||||
--select A.FID, dbo.GetBomSeq( B .FBOMID,a.FMATERIALID) as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>', A.FMATERIALID,B.FBOMID,A.f_WAUG_LAYER,A.F_FORECASTNUMBER,A.F_LINENUMBER,A.F_MATERIALCODE,a.FBILLNO as '1',b.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' from T_PLN_PLANORDER A
|
||||
--INNER JOIN T_PLN_PLANORDER B ON A.F_FORECASTNUMBER=B.F_FORECASTNUMBER AND A.F_LINENUMBER=B.F_LINENUMBER AND A.F_MATERIALCODE =B.FMATERIALID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON B.FID=C.FSBILLID
|
||||
--INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID = C.FENTRYID
|
||||
--INNER JOIN T_PRD_MO E ON E.FID = D.FID
|
||||
----INNER JOIN #temp2 i on i.Fname=a.FBILLNO
|
||||
--WHERE a.F_WAUG_LAYER = ''
|
||||
--) B ON A.FID = B.FID
|
||||
|
||||
--2024-01-15 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ʹ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--UPDATE B SET FFORECASTGROUP = REPLACE( D.F_WAUG_LAYER,e.FBILLNO,h.FBILLNO)
|
||||
--from T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_PRD_MOENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER E ON E.FBILLNO = substring( D.F_WAUG_LAYER,0, CHARINDEX( '-',REPLACE( D.F_WAUG_LAYER,'_','-') ,0))
|
||||
--INNER JOIN T_PRD_MOENTRY_LK F ON F.FSBILLID=E.FID
|
||||
--INNER JOIN T_PRD_MOENTRY G ON G.FENTRYID=F.FENTRYID
|
||||
--INNER JOIN T_PRD_MO h ON H.FID=G.FID
|
||||
--INNER JOIN #temp2 i on i.Fname=a.FBILLNO
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
--AND A.FBILLNO =@FBILLNO
|
||||
|
||||
--2024-01-15 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ʹ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
exec PROC_SELECT_UPDATE_BOMLEVEL@FBILLNO
|
||||
|
||||
----<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ<EFBFBD><EFBFBD>Mrp<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
-- UPdate b set B.FFORECASTGROUP = dbo.getmobomseq( F.FENTRYID,dbo.GetBomSeq( f.FBOMID,b.FMATERIALID))
|
||||
--from T_SUB_REQORDER A
|
||||
--INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
--INNER JOIN T_SUB_REQORDERENTRY_LK C ON C.FENTRYID=B.FENTRYID
|
||||
--INNER JOIN T_PLN_PLANORDER D ON D.FID=C.FSBILLID
|
||||
--INNER JOIN T_PLN_PLANORDER_B E ON E.FID=D.FID
|
||||
--INNER JOIN T_PLN_FORECASTENTRY F ON F.FENTRYID=E.FSALEORDERENTRYID
|
||||
--INNER JOIN T_PLN_FORECAST G ON G.FID=F.FID
|
||||
--WHERE B.FFORECASTGROUP=''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ζ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
UPDATE B SET FFORECASTGROUP = ISNULL( cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) ,'')
|
||||
--SELECT
|
||||
--F.FNUMBER,
|
||||
--a.FBILLNO,
|
||||
--B.FENTRYID ,
|
||||
--D.fbomid,b.fmaterialid,
|
||||
--cast( e.FBILLNO as nvarchar(100))+'-'+ cast( dbo.GetBomSeq(D.fbomid,b.fmaterialid) as nvarchar(100)) as 'Bom<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
--CONVERT( nvarchar(1000),'') as '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>',a.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',e.FBILLNO as 'Դͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_LK C ON C .FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FSBILLID AND D.FENTRYID=C.FSID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
INNER JOIN T_BD_MATERIAL F ON F.FMATERIALID=B.FMATERIALID
|
||||
INNER JOIN #temp2 g on g.Fname=a.FBILLNO
|
||||
WHERE B.FFORECASTGROUP = ''
|
||||
--AND A.FBILLNO =@FBILLNO
|
||||
|
||||
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start--
|
||||
----<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><CEB5><EFBFBD>,Ϊ<><CEAA><EFBFBD>ĵ<EFBFBD><C4B5>ݱ<EFBFBD><DDB1><EFBFBD>)
|
||||
--UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
----SELECT *
|
||||
--FROM T_PRD_MO A
|
||||
--INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
--LEFT JOIN T_PRD_MOENTRY_LK D ON D.FENTRYID=B.FENTRYID AND D.FSTABLENAME = 'T_PRD_MOENTRY'
|
||||
--INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
--WHERE
|
||||
--1=1
|
||||
--AND D.FSID IS NULL
|
||||
--AND B.FFORECASTGROUP = ''
|
||||
----AND A.FBILLNO =@FBILLNO
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end--
|
||||
|
||||
--2024-01-23 18<31><38>14 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>start--
|
||||
UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
--SELECT A.FBILLNO
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_A t0e_a on B.FENTRYID = t0e_a.FENTRYID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
WHERE
|
||||
1=1
|
||||
AND B.FFORECASTGROUP = ''
|
||||
AND t0e_a.FCREATETYPE != 3
|
||||
--AND B.FFORECASTGROUPFRIST != '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM T_PRD_MOENTRY_LK t1_lk
|
||||
WHERE 1=1
|
||||
AND t1_lk.FSTABLENAME = 'T_PRD_MOENTRY'
|
||||
AND t1_lk.FENTRYID = B.FENTRYID)
|
||||
--2024-01-23 18<EFBFBD><EFBFBD>14 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>end--
|
||||
|
||||
|
||||
|
||||
|
||||
--<2D><>ϵͳ<CFB5><CDB3><EFBFBD>ı<EFBFBD>ע<EFBFBD>ֶθ<D6B6><CEB8>µ<EFBFBD><C2B5><EFBFBD>ע2<D7A2>ֶ<EFBFBD>
|
||||
UPDATE B SET FNOTE2=c.FMEMO
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_L C ON C.FENTRYID=B.FENTRYID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
--where FNOTE2 = ''
|
||||
--AND A.FBILLNO =@FBILLNO
|
||||
|
||||
--<EFBFBD><EFBFBD>ȡԭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
|
||||
UPDATE B SET FNOTE2 = D.FNOTE2
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_Q C ON C.FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FSRCSPLITENTRYID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
--where A.FBILLNO = 'WO2301050101'
|
||||
WHERE B.FNOTE2= ''
|
||||
--AND A.FBILLNO =@FBILLNO
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ע<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>ע
|
||||
--UPDATE D SET D.FNOTE2 = B.FNOTE2
|
||||
--SELECT a.FBILLNO,b.FNOTE2,c.FBILLNO ,d.FNOTE2
|
||||
UPDATE B SET FNOTE2 = D.FNOTE2
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MO C ON C.FBILLNO= B.FFORECASTGROUPFRIST
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FID=C.FID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
--where A.FBILLNO = 'WO2301050101'
|
||||
where B.FNOTE2= ''
|
||||
AND A.FBILLNO <> B.FFORECASTGROUPFRIST
|
||||
-- AND A.FBILLNO =@FBILLNO
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_PRD_PPBOMENTRY SET FFORECASTGROUP= c.FFORECASTGROUP
|
||||
FROM T_PRD_PPBOM A
|
||||
INNER JOIN T_PRD_PPBOMENTRY D ON A.FID=D.FID
|
||||
INNER JOIN T_PRD_MO B ON B.FBILLNO=A.FMOBillNO
|
||||
INNER JOIN T_PRD_MOENTRY C ON C.FID=B.FID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FMOBILLNO
|
||||
WHERE 1=1
|
||||
AND LTRIM(RTRIM(d.FFORECASTGROUP)) = ''
|
||||
--AND A.FMOBILLNO =@FBILLNO
|
||||
|
||||
|
||||
|
||||
UPDATE A SET FINVSTOCKQTY=B.FBASEQTY
|
||||
FROM T_PRD_MOENTRY A
|
||||
INNER JOIN
|
||||
(
|
||||
SELECT B.FMATERIALID,SUM(FBASEQTY) AS 'FBASEQTY'
|
||||
FROM T_STK_INVENTORY A
|
||||
INNER JOIN T_BD_MATERIAL B ON A.FMATERIALID=B.FMASTERID
|
||||
WHERE A.FISEFFECTIVED=1
|
||||
GROUP BY B.FMATERIALID
|
||||
) B ON A.FMATERIALID=B.FMATERIALID
|
||||
INNER JOIN t_prd_mo c on c.fid=a.fid
|
||||
INNER JOIN #temp2 f on f.Fname=c.FBILLNO WHERE FINVSTOCKQTY = 0
|
||||
|
||||
--AND c.FBILLNO =@FBILLNO
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
update a set FFORECASTGROUPFRIST =
|
||||
CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP
|
||||
|
||||
WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) > 0 AND B.FSRCSPLITENTRYID=0 THEN SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',1))
|
||||
WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) > 0 AND B.FSRCSPLITENTRYID>0 AND SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',2)) IS NULL THEN FFORECASTGROUP
|
||||
ELSE SUBSTRING(FFORECASTGROUP,0,dbo.[func_find](FFORECASTGROUP,'-',2)) END
|
||||
|
||||
FROM T_PRD_MOENTRY A
|
||||
INNER JOIN T_PRD_MOENTRY_Q B ON A.FENTRYID=B.FENTRYID
|
||||
INNER JOIN T_PRD_MO c on c.fid =a.fid
|
||||
INNER JOIN #temp2 f on f.Fname=c.FBILLNO
|
||||
WHERE
|
||||
1=1
|
||||
AND FFORECASTGROUPFRIST= ''
|
||||
--AND c.FBILLNO =@FBILLNO
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
update T_PRD_PPBOMENTRY SET FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( A.FFORECASTGROUP,'_','-') ,0) = 0 THEN A.FFORECASTGROUP ELSE SUBSTRING(A.FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( A.FFORECASTGROUP,'_','-') ,0)) END
|
||||
FROM T_PRD_PPBOMENTRY a
|
||||
INNER JOIN T_PRD_PPBOM b on a.fid=b.fid
|
||||
INNER JOIN #temp2 f on f.Fname=b.FMOBILLNO
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
--and b.FMOBILLNO = @FBILLNO
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE E SET E.F_PKGR_CUSTOMER= A.F_PKGR_CUSTOMER
|
||||
--SELECT *
|
||||
--D.FNOTE2,
|
||||
--B.FNOTE2,*
|
||||
FROM T_PRD_MO A
|
||||
INNER JOIN T_PRD_MOENTRY B ON A.FID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY_LK C ON C.FSID=B.FENTRYID AND C.FSBILLID=B.FID
|
||||
INNER JOIN T_PRD_MOENTRY D ON D.FENTRYID=C.FENTRYID
|
||||
INNER JOIN T_PRD_MO E ON E.FID=D.FID
|
||||
INNER JOIN #temp2 f on f.Fname=a.FBILLNO
|
||||
--where A.FBILLNO = 'TO2305300002'
|
||||
AND ISNULL(E.F_PKGR_CUSTOMER,0)= 0
|
||||
and E.F_PKGR_CUSTOMER<>A.F_PKGR_CUSTOMER
|
||||
|
||||
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD>ĵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--SELECT FNUMERATOR,FDENOMINATOR,
|
||||
--ROUND(FNUMERATOR/FDENOMINATOR,3), F_PKGR_CONSUMPTION,
|
||||
--*
|
||||
update T_PRD_PPBOMENTRY set FBomStdQty = ROUND(FNUMERATOR/FDENOMINATOR,3)
|
||||
|
||||
FROM T_PRD_PPBOMENTRY a
|
||||
INNER JOIN T_PRD_PPBOM b on a.fid=b.fid
|
||||
INNER JOIN #temp2 c on c.Fname=b.FMOBILLNO
|
||||
|
||||
WHERE FBomStdQty = 0
|
||||
--and b.FMOBILLNO = @FBILLNO
|
||||
drop table #temp2
|
||||
END
|
||||
53
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateSubFORECAST.sql
Normal file
53
07.珠海英搏尔/Enpower/PRD_MO/SQLserver/P_UpdateSubFORECAST.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
CREATE PROCEDURE P_UpdateSubFORECAST
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊί<EFBFBD>ⶩ<EFBFBD><EFBFBD>
|
||||
UPDATE t0e SET FFORECASTGROUP = ISNULL( cast( t1.FBILLNO as nvarchar(100))+'-'+ cast(dbo.GetBomSeq(t1e.fbomid,t0e.fmaterialid) as nvarchar(100)) ,'')
|
||||
--SELECT t2.FNUMBER
|
||||
-- ,t0.FBILLNO
|
||||
-- ,t0e.FENTRYID
|
||||
-- ,t1e.FBOMID,t0e.FMATERIALID
|
||||
-- ,CAST( t1.FBILLNO AS NVARCHAR(100)) + '-'+ cast(dbo.GetBomSeq(t1e.fbomid,t0e.fmaterialid) as nvarchar(100)) as 'Bom<6F><6D><EFBFBD><EFBFBD>',
|
||||
--CONVERT( nvarchar(1000),'') as '<EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD><EFBFBD><EFBFBD>',t0.FBILLNO as '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FBILLNO as 'Դͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM T_SUB_REQORDER t0
|
||||
INNER JOIN T_SUB_REQORDERENTRY t0e on t0.FID = t0e.FID
|
||||
INNER JOIN T_SUB_REQORDERENTRY_LK t0e_lk on t0e_lk.FENTRYID = t0e.FENTRYID
|
||||
INNER JOIN T_SUB_REQORDERENTRY t1e on t1e.FID = t0e_lk.FSBILLID AND t1e.FENTRYID = t0e_lk.FSID
|
||||
INNER JOIN T_SUB_REQORDER t1 on t1.FID = t1e.FID
|
||||
INNER JOIN T_BD_MATERIAL t2 on t2.FMATERIALID = t0e.FMATERIALID
|
||||
WHERE t0e.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>,֤<EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ΪԴͷ
|
||||
UPDATE B SET FFORECASTGROUP = A.FBILLNO
|
||||
--SELECT D.FSTABLENAME,*
|
||||
FROM T_SUB_REQORDER A
|
||||
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_LK D ON D.FENTRYID=B.FENTRYID
|
||||
--AND D.FSTABLENAME = 'T_SUB_REQORDER'
|
||||
WHERE 1 = 1 AND D.FSID IS NULL AND B.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD>Ϊί<EFBFBD>ⶩ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪԴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE B SET FFORECASTGROUP = C.FSRCBILLNO
|
||||
--SELECT D.FSTABLENAME,*
|
||||
FROM T_SUB_REQORDER A
|
||||
INNER JOIN T_SUB_REQORDERENTRY B ON A.FID=B.FID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_A C ON C.FENTRYID=B.FENTRYID
|
||||
LEFT JOIN T_SUB_REQORDERENTRY_LK D ON D.FENTRYID=B.FENTRYID
|
||||
--AND D.FSTABLENAME = 'T_SUB_REQORDER'
|
||||
WHERE 1=1 AND D.FSID IS NOT NULL AND B.FFORECASTGROUP = ''
|
||||
--<EFBFBD>Ѽ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD>ⶩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_SUB_REQORDERENTRY set FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP ELSE SUBSTRING(FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0)) end
|
||||
FROM T_SUB_REQORDERENTRY
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
|
||||
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ί<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD>ײ㶩<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
UPDATE T_SUB_PPBOMENTRY set FFORECASTGROUPFRIST = CASE WHEN CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0) = 0 THEN FFORECASTGROUP ELSE SUBSTRING(FFORECASTGROUP,0, CHARINDEX( '-',REPLACE( FFORECASTGROUP,'_','-') ,0)) end
|
||||
FROM T_SUB_PPBOMENTRY
|
||||
WHERE FFORECASTGROUPFRIST= ''
|
||||
|
||||
END
|
||||
@@ -104,13 +104,20 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="POSH_Year_Forecast\BillConvertPlugInEx\YeacForecast2PLN_FORECAST.py" />
|
||||
<Content Include="STK_MISCELLANEOUS\BillEventPlugInEx.py" />
|
||||
<Content Include="SUB_SUBREQORDER\ListEventPlugInEx.py" />
|
||||
<Content Include="预测单.sql" />
|
||||
<Content Include="预测单\N3.sql" />
|
||||
<Content Include="预测单\W5.sql" />
|
||||
<Content Include="预测单\年度.sql" />
|
||||
<Content Include="预测单\预测需求变更履历表_20250120._V1.0sql.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="POSH_eliminations_detail\" />
|
||||
<Folder Include="POSH_Year_Forecast\OperationEventPlugIn\" />
|
||||
<Folder Include="PRD_INSTOCK\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>copy $(TargetPath) "D:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin"</PostBuildEvent>
|
||||
|
||||
@@ -27,13 +27,13 @@ namespace GZ.LJY000.Enpower.POSH_N3_Forecast.BillConvertPlugInEx
|
||||
|
||||
var sqlL = $@"/*dialect*/
|
||||
WITH #年度预测 AS (
|
||||
SELECT t1.FBILLNO,t1.FID,t1.FEntryID,t1.FSEQ,t1.FMATERIALID,t1.FUNITID
|
||||
SELECT t1.FBILLNO,t1.FID,t1.FEntryID,t1.FSEQ,t1.FMATERIALID,t1.FUNITID,t1.FCUSTID
|
||||
,t1.FQTY,t1.FYEAR '年份' ,t1.FMONTH '月份'
|
||||
,t1.FYEAR * 100 + REPLACE(T1.DATEM,'FN','') + t1.FMONTH 周期
|
||||
,CONVERT(int,t1.FYEAR * 10000 + REPLACE(T1.DATEM,'FN','') *100 + t1.FMONTH * 100 + 1) AS '日期'
|
||||
,CONVERT(datetime,DATEFROMPARTS(t1.FYEAR,CONVERT(int,REPLACE(T1.DATEM,'FN',''))+ t1.FMONTH,1)) 'startDate'
|
||||
FROM (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSEQ,t0e.FYEAR,t0e.FMONTH,t0e.FMATERIALID,t0e.FUNITID,t0e.FN0,t0e.FN1,t0e.FN2,t0e.FN3
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSEQ,t0e.FYEAR,t0e.FMONTH,t0e.FMATERIALID,t0e.FUNITID,t0e.FCUSTID,t0e.FN0,t0e.FN1,t0e.FN2,t0e.FN3
|
||||
FROM T_PLN_FORECAST2N3 t0 --表头
|
||||
INNER JOIN T_PLN_FORECAST2N3ENTRY t0e on t0.FID = t0e.FID --表体
|
||||
WHERE t0.FBILLNO = '{convertBillNo.ToString()}'
|
||||
@@ -58,8 +58,10 @@ FROM #年度预测 tt
|
||||
UNPIVOT (
|
||||
FQTY FOR dateM IN (FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42)
|
||||
) AS t1
|
||||
WHERE t1.FMATERIALID = tt.FMATERIALID AND CONVERT(INT,CONVERT(varchar(6),DATEADD(DAY,CONVERT(int,REPLACE(t1.dateM,'FD','')) - 1,t1.FSTARTDATE),112)) = tt.周期
|
||||
GROUP BY t1.FMATERIALID--,t1.FYEAR * 100 + DATEPART(MONTH,(DATEADD(DAY,CONVERT(int,REPLACE(T1.DATEM,'FD','')) - 1,t1.FSTARTDATE)))
|
||||
WHERE t1.FMATERIALID = tt.FMATERIALID
|
||||
AND t1.FCUSTID = tt.FCUSTID
|
||||
AND CONVERT(INT,CONVERT(varchar(6),DATEADD(DAY,CONVERT(int,REPLACE(t1.dateM,'FD','')) - 1,t1.FSTARTDATE),112)) = tt.周期
|
||||
GROUP BY t1.FMATERIALID,t1.FCUSTID--,t1.FYEAR * 100 + DATEPART(MONTH,(DATEADD(DAY,CONVERT(int,REPLACE(T1.DATEM,'FD','')) - 1,t1.FSTARTDATE)))
|
||||
) t0
|
||||
|
||||
ORDER BY tt.startDate,tt.FSEQ
|
||||
@@ -84,6 +86,9 @@ ORDER BY tt.startDate,tt.FSEQ
|
||||
////仓库
|
||||
//var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
|
||||
//客户
|
||||
var custFid = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField;
|
||||
|
||||
foreach (var item in dataList)
|
||||
{
|
||||
var entity = entrys.DynamicCollectionItemPropertyType.CreateInstance() as DynamicObject;
|
||||
@@ -117,6 +122,14 @@ ORDER BY tt.startDate,tt.FSEQ
|
||||
// entity["FOwnerId"] = ownerObj;
|
||||
//}
|
||||
|
||||
var custId = item["FCUSTID"].Long2Int();
|
||||
if (custId > 0)
|
||||
{
|
||||
var custObj = BusinessDataServiceHelper.LoadSingle(this.Context, custId, custFid.RefFormDynamicObjectType);
|
||||
entity["CustID_Id"] = custId;
|
||||
entity["CustID"] = custObj;
|
||||
}
|
||||
|
||||
//# 计量单位
|
||||
var unitId = item["FUNITID"].Long2Int();
|
||||
if (unitId > 0)
|
||||
|
||||
@@ -26,8 +26,8 @@ namespace GZ.LJY000.Enpower.POSH_W5WagonPlan.BillConvertPlugInEx
|
||||
{
|
||||
|
||||
var sqlL = $@"/*dialect*/
|
||||
WITH #W5预测单 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID
|
||||
;WITH #W5预测单 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,t0e.FCUSTID
|
||||
,FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42
|
||||
FROM T_PLN_FORECAST2W5 t0 --表头
|
||||
INNER JOIN T_PLN_FORECAST2W5ENTRY t0e on t0.FID = t0e.FID --表体
|
||||
@@ -45,7 +45,7 @@ WITH #W5预测单 AS (
|
||||
) AS t1
|
||||
)
|
||||
, #数据二次处理 AS (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
,t0.FQTY
|
||||
,t0.RN
|
||||
,CASE t0.初始周天 WHEN 1 THEN 7 ELSE t0.初始周天 - 1 END '初始周天'
|
||||
@@ -55,7 +55,8 @@ WITH #W5预测单 AS (
|
||||
,DATEADD(SECOND,-1,DATEADD(DAY, 1, t0.日期)) AS 'endDate'
|
||||
FROM #W5装车计划 t0
|
||||
)
|
||||
SELECT *
|
||||
SELECT t0.*
|
||||
INTO #table1
|
||||
FROM (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t1.groupby
|
||||
FROM #W5预测单 t0 ,
|
||||
@@ -64,15 +65,38 @@ FROM (
|
||||
|
||||
) tt
|
||||
CROSS APPLY (
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
,SUM(t0.FQTY) '最终数量'
|
||||
,MIN(t0.日期) minDate
|
||||
,MAX(t0.endDate) maxDate
|
||||
FROM #数据二次处理 t0
|
||||
WHERE tt.FEntryID = t0.FEntryID AND (t0.初始周天 + t0.RN - 1) > (tt.groupby -1) * 7 AND (t0.初始周天 + t0.RN-1) <= tt.groupby * 7
|
||||
GROUP BY t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR
|
||||
GROUP BY t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID
|
||||
) t0
|
||||
ORDER BY t0.minDate ASC
|
||||
|
||||
declare @startDate date,@endDate date
|
||||
SELECT @startDate = MIN(t0.minDate),@endDate = MAX(t0.maxDate)
|
||||
FROM #table1 t0
|
||||
;WITH #发货通知单 AS (
|
||||
SELECT t0.FBILLNO,t0.FDATE,t0.FCUSTOMERID,t0e.FMATERIALID,t0e.FQTY,t0e.F_PNDR_BASEQTY3 '2次调拨'
|
||||
FROM T_SAL_DELIVERYNOTICE t0
|
||||
INNER JOIN T_SAL_DELIVERYNOTICEENTRY t0e on t0.FID = t0e.FID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C'
|
||||
AND t0.FDATE between @startDate AND @endDate
|
||||
)
|
||||
SELECT t0.FBILLNO,t0.FID,t0.FEntryID,t0.FMATERIALID,t0.FUNITID,t0.FYEAR,t0.FCUSTID,t0.minDate,t0.maxDate
|
||||
,CASE WHEN t0.最终数量 < (ISNULL(t1.FQTY,0) + ISNULL(t1.[2次调拨],0)) THEN 0 ELSE t0.最终数量 - (ISNULL(t1.FQTY,0) + ISNULL(t1.[2次调拨],0)) END AS '最终数量'
|
||||
FROM #table1 t0
|
||||
OUTER APPLY (
|
||||
SELECT SUM(t1.FQTY) FQTY ,SUM(t1.[2次调拨]) [2次调拨]
|
||||
FROM #发货通知单 t1
|
||||
WHERE 1 = 1 AND t1.FMATERIALID = t0.FMATERIALID
|
||||
AND t0.FCUSTID = t1.FCUSTOMERID
|
||||
AND t1.FDATE BETWEEN t0.minDate AND t0.maxDate
|
||||
) t1
|
||||
ORDER BY t0.minDate ASC
|
||||
DROP TABLE #table1
|
||||
";
|
||||
//throw new Exception(sqlL);
|
||||
var dataList = DBServiceHelper.ExecuteDynamicObject(this.Context, sqlL);
|
||||
@@ -91,8 +115,11 @@ ORDER BY t0.minDate ASC
|
||||
var unitFId = e.TargetBusinessInfo.GetField("FUnitID") as BaseDataField;
|
||||
var unitBaseFId = e.TargetBusinessInfo.GetField("FBaseUnitID") as BaseDataField;
|
||||
|
||||
//仓库
|
||||
var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
////仓库
|
||||
//var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
|
||||
//客户
|
||||
var custFid = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField;
|
||||
|
||||
foreach (var item in dataList)
|
||||
{
|
||||
@@ -127,6 +154,14 @@ ORDER BY t0.minDate ASC
|
||||
// entity["FOwnerId"] = ownerObj;
|
||||
//}
|
||||
|
||||
var custId = item["FCUSTID"].Long2Int();
|
||||
if(custId > 0)
|
||||
{
|
||||
var custObj = BusinessDataServiceHelper.LoadSingle(this.Context, custId, custFid.RefFormDynamicObjectType);
|
||||
entity["CustID_Id"] = custId;
|
||||
entity["CustID"] = custObj;
|
||||
}
|
||||
|
||||
//# 计量单位
|
||||
var unitId = item["FUNITID"].Long2Int();
|
||||
if (unitId > 0)
|
||||
|
||||
@@ -27,13 +27,13 @@ namespace GZ.LJY000.Enpower.POSH_Year_Forecast.BillConvertPlugInEx
|
||||
|
||||
var sqlL = $@"/*dialect*/
|
||||
WITH #年度预测 AS (
|
||||
SELECT t1.FBILLNO,t1.FID,t1.FEntryID,t1.FSEQ,t1.FMATERIALID,t1.FUNITID
|
||||
SELECT t1.FBILLNO,t1.FID,t1.FEntryID,t1.FSEQ,t1.FMATERIALID,t1.FUNITID,t1.FCUSTID
|
||||
,t1.FQTY,t1.FYEAR '年份' ,REPLACE(T1.DATEM,'FMONTH','') '月份'
|
||||
,t1.FYEAR * 100 + REPLACE(T1.DATEM,'FMONTH','') 周期
|
||||
--,DATEADD(MONTH, DATEDIFF(MONTH, 0, ), 0) AS 'startDate'
|
||||
,CONVERT(datetime,CONCAT(T1.FYEAR,'-',REPLACE(T1.DATEM,'FMONTH',''),'-01')) 'startDate'
|
||||
FROM (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSEQ,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,FMONTH1,FMONTH2,FMONTH3,FMONTH4,FMONTH5,FMONTH6,FMONTH7,FMONTH8,FMONTH9,FMONTH10,FMONTH11,FMONTH12
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSEQ,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,t0e.FCUSTID,FMONTH1,FMONTH2,FMONTH3,FMONTH4,FMONTH5,FMONTH6,FMONTH7,FMONTH8,FMONTH9,FMONTH10,FMONTH11,FMONTH12
|
||||
FROM T_PLN_FORECAST2YEAR t0 --表头
|
||||
INNER JOIN T_PLN_FORECAST2YEARENTRY t0e on t0.FID = t0e.FID --表体
|
||||
) t0
|
||||
@@ -49,15 +49,18 @@ FROM #年度预测 tt
|
||||
OUTER APPLY (
|
||||
SELECT t1.FMATERIALID,SUM(t1.FQTY) FQTY
|
||||
FROM (
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42
|
||||
SELECT t0.FBILLNO,t0.FID,t0e.FEntryID,t0e.FSTARTDATE,t0e.FYEAR,t0e.FMATERIALID,t0e.FUNITID,t0e.FCUSTID
|
||||
,FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21
|
||||
,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42
|
||||
FROM T_PLN_FORECAST2W5 t0 --表头
|
||||
INNER JOIN T_PLN_FORECAST2W5ENTRY t0e on t0.FID = t0e.FID --表体
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FExecutionState = '1'
|
||||
) t0
|
||||
UNPIVOT (
|
||||
FQTY FOR dateM IN (FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42)
|
||||
FQTY FOR dateM IN (FD1,FD2,FD3,FD4,FD5,FD6,FD7,FD8,FD9,FD10,FD11,FD12,FD13,FD14,FD15,FD16,FD17,FD18,FD19,FD20,FD21
|
||||
,FD22,FD23,FD24,FD25,FD26,FD27,FD28,FD29,FD30,FD31,FD32,FD33,FD34,FD35,FD36,FD37,FD38,FD39,FD40,FD41,FD42)
|
||||
) AS t1
|
||||
WHERE t1.FMATERIALID = tt.FMATERIALID AND t1.FYEAR * 100 + DATEPART(MONTH,(DATEADD(DAY,CONVERT(int,REPLACE(T1.DATEM,'FD','')) - 1,t1.FSTARTDATE))) = tt.周期
|
||||
WHERE t1.FMATERIALID = tt.FMATERIALID AND t1.FCUSTID = tt.FCUSTID AND t1.FYEAR * 100 + DATEPART(MONTH,(DATEADD(DAY,CONVERT(int,REPLACE(T1.DATEM,'FD','')) - 1,t1.FSTARTDATE))) = tt.周期
|
||||
GROUP BY t1.FMATERIALID,t1.FYEAR * 100 + DATEPART(MONTH,(DATEADD(DAY,CONVERT(int,REPLACE(T1.DATEM,'FD','')) - 1,t1.FSTARTDATE)))
|
||||
) t0
|
||||
WHERE tt.FBILLNO = '{convertBillNo.ToString()}'
|
||||
@@ -80,8 +83,11 @@ ORDER BY tt.startDate,tt.FSEQ
|
||||
var unitFId = e.TargetBusinessInfo.GetField("FUnitID") as BaseDataField;
|
||||
var unitBaseFId = e.TargetBusinessInfo.GetField("FBaseUnitID") as BaseDataField;
|
||||
|
||||
//仓库
|
||||
var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
////仓库
|
||||
//var stockFid = e.TargetBusinessInfo.GetField("FStockId") as BaseDataField;
|
||||
|
||||
//客户
|
||||
var custFid = e.TargetBusinessInfo.GetField("FCustId") as BaseDataField;
|
||||
|
||||
foreach (var item in dataList)
|
||||
{
|
||||
@@ -116,6 +122,15 @@ ORDER BY tt.startDate,tt.FSEQ
|
||||
// entity["FOwnerId"] = ownerObj;
|
||||
//}
|
||||
|
||||
var custId = item["FCUSTID"].Long2Int();
|
||||
if (custId > 0)
|
||||
{
|
||||
var custObj = BusinessDataServiceHelper.LoadSingle(this.Context, custId, custFid.RefFormDynamicObjectType);
|
||||
entity["CustID_Id"] = custId;
|
||||
entity["CustID"] = custObj;
|
||||
}
|
||||
|
||||
|
||||
//# 计量单位
|
||||
var unitId = item["FUNITID"].Long2Int();
|
||||
if (unitId > 0)
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
#引入clr运行库
|
||||
import clr
|
||||
#添加对cloud插件开发的常用组件引用
|
||||
clr.AddReference('System')
|
||||
clr.AddReference('System.Data')
|
||||
clr.AddReference('Kingdee.BOS')
|
||||
clr.AddReference('Kingdee.BOS.Core')
|
||||
clr.AddReference('Kingdee.BOS.App')
|
||||
clr.AddReference('Kingdee.BOS.App.Core')
|
||||
clr.AddReference('Kingdee.BOS.Contracts')
|
||||
clr.AddReference('Kingdee.BOS.DataEntity')
|
||||
clr.AddReference('Kingdee.BOS.ServiceHelper')
|
||||
#dairycloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
|
||||
from Kingdee.BOS.Core import *
|
||||
from Kingdee.BOS.Util import *
|
||||
from Kingdee.BOS.Core.Bill import *
|
||||
from Kingdee.BOS.Core.List import *
|
||||
from Kingdee.BOS.Core.Bill.PlugIn import *
|
||||
from Kingdee.BOS.Orm.DataEntity import *
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
|
||||
from Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs import *
|
||||
from System import *
|
||||
from System.Data import *
|
||||
from Kingdee.BOS.App.Data import *
|
||||
from Kingdee.BOS.App import *
|
||||
from Kingdee.BOS.Orm import *
|
||||
from Kingdee.BOS.Contracts import *
|
||||
from System.Collections.Generic import List
|
||||
from Kingdee.BOS.ServiceHelper import *
|
||||
from Kingdee.BOS.App.Core import *
|
||||
|
||||
def OnPreparePropertys(e):
|
||||
e.FieldKeys.Add("FVersions");
|
||||
e.FieldKeys.Add("FBillNo");
|
||||
|
||||
def BeforeDoSaveExecute(e):
|
||||
|
||||
for entity in e.DataEntities:
|
||||
billNo = entity["BillNo"]
|
||||
billId = entity["Id"]
|
||||
|
||||
return;
|
||||
@@ -15,7 +15,6 @@ namespace GZ.LJY000.Enpower.SAL_RETURNSTOCK
|
||||
[HotUpdate, Description("销售退货单")]
|
||||
public class BillEventPlugInEx : AbstractDynamicFormPlugIn
|
||||
{
|
||||
|
||||
public override void DataChanged(DataChangedEventArgs e)
|
||||
{
|
||||
base.DataChanged(e);
|
||||
|
||||
@@ -25,6 +25,7 @@ namespace GZ.LJY000.Enpower.SUB_RETURNMTRL
|
||||
{
|
||||
|
||||
var details = this.View.BusinessInfo.GetEntity("FEntity");
|
||||
|
||||
if (details != null)
|
||||
{
|
||||
var entrys = this.View.Model.GetEntityDataObject(details);
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
import clr
|
||||
clr.AddReference("System")
|
||||
clr.AddReference("System.Core")
|
||||
clr.AddReference("Kingdee.BOS")
|
||||
clr.AddReference("Kingdee.BOS.Core")
|
||||
clr.AddReference("Kingdee.BOS.DataEntity")
|
||||
clr.AddReference("Kingdee.BOS.App")
|
||||
clr.AddReference("Kingdee.BOS.Contracts")
|
||||
clr.AddReference("Kingdee.BOS.ServiceHelper")
|
||||
|
||||
from System import *
|
||||
from System.Linq import *
|
||||
from System.Collections.Generic import List
|
||||
from System.ComponentModel import *
|
||||
from Kingdee.BOS import*
|
||||
from Kingdee.BOS.Util import*
|
||||
from Kingdee.BOS.Core.List.PlugIn import*
|
||||
from Kingdee.BOS.Core.List.PlugIn.Args import*
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import*
|
||||
from Kingdee.BOS.ServiceHelper import*
|
||||
from Kingdee.BOS.Orm.DataEntity import*
|
||||
|
||||
def AfterDoOperation(e):
|
||||
if e.Operation.Operation == "DoUpdateSubFORECAST":
|
||||
sql = "/*dialect*/ exec P_UpdateSubFORECAST ";
|
||||
|
||||
dr = DBServiceHelper.ExecuteDynamicObject(this.Context, sql);
|
||||
74
07.珠海英搏尔/GZ.LJY000.Enpower/预测单/专用料判断报表.sql
Normal file
74
07.珠海英搏尔/GZ.LJY000.Enpower/预测单/专用料判断报表.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
USE [AIS20240820]
|
||||
GO
|
||||
/****** Object: StoredProcedure [dbo].[P_HQBOMZYL] Script Date: 2025/1/24 9:28:21 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
ALTER PROCEDURE [dbo].[P_HQBOMZYL]
|
||||
@materialNumber nvarchar(100)
|
||||
AS
|
||||
BEGIN
|
||||
;WITH #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
|
||||
SELECT t0e.FENUMID,t0e.FSEQ,t0e.FVALUE,t0e_l.FCAPTION
|
||||
FROM T_META_FORMENUMITEM t0e
|
||||
INNER JOIN T_META_FORMENUMITEM_L t0e_l on t0e.FENUMID = t0e_l.FENUMID AND t0e_l.FLOCALEID = 2052
|
||||
WHERE 1 = 1
|
||||
AND t0e.FID = 'ac14913e-bd72-416d-a50b-2c7432bbff63'
|
||||
)
|
||||
,#BOMչ<4D><D5B9> AS (
|
||||
SELECT TOP 1 t0.FID,t0.FMATERIALID,t0.FNUMBER,t0.FUNITID ,0 lv
|
||||
,ROW_NUMBER() OVER (PARTITION BY t0.FMATERIALID ORDER BY t0.FNUMBER DESC) RN
|
||||
,CAST('1' AS nvarchar(100)) MPath
|
||||
,CAST('' AS nvarchar(100)) PBomNumber
|
||||
,CAST(1 AS decimal(23,10)) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--,0 RN
|
||||
FROM T_ENG_BOM t0
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
WHERE 1 = 1
|
||||
--AND t0.FMATERIALID = 9554131
|
||||
--AND t1.FNUMBER = '97.03.0097'
|
||||
AND t1.FNUMBER = @materialNumber
|
||||
AND t0.FDOCUMENTSTATUS = 'C'
|
||||
AND t0.FFORBIDSTATUS = 'A'
|
||||
AND t0.FUSEORGID = 1
|
||||
ORDER BY t0.FNUMBER DESC
|
||||
UNION ALL
|
||||
SELECT ISNULL(t1.FID,0),t0e.FMATERIALID,ISNULL(t1.FNUMBER, ''),t0e.FUNITID,1 + t0.lv
|
||||
,ROW_NUMBER() OVER (ORDER BY t0.RN DESC,t0e.FSEQ)
|
||||
,CAST(CONCAT(t0.MPath,'.',ROW_NUMBER() OVER (ORDER BY t0.RN DESC,t0e.FSEQ)) AS nvarchar(100))
|
||||
,CAST(t0.FNUMBER AS nvarchar(100))
|
||||
,CAST(t0e.FNUMERATOR /t0e.FDENOMINATOR AS decimal(23,10))
|
||||
FROM #BOMչ<4D><D5B9> t0
|
||||
INNER JOIN T_ENG_BOMCHILD t0e on t0e.FID = t0.FID AND t0e.FMATERIALTYPE != 3
|
||||
OUTER APPLY (
|
||||
SELECT t1.FID,t1.FMASTERID,t1.FMATERIALID,t1.FNUMBER,t1.FUNITID
|
||||
,ROW_NUMBER() OVER (PARTITION BY t1.FMATERIALID ORDER BY t1.FNUMBER DESC) RN
|
||||
FROM T_ENG_BOM t1
|
||||
WHERE t1.FMATERIALID = t0e.FMATERIALID
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
AND t1.FFORBIDSTATUS = 'A'
|
||||
AND t1.FUSEORGID = 1
|
||||
) t1
|
||||
WHERE (t1.RN = 1 OR t1.RN IS NULL) AND t0.FNUMBER != ''
|
||||
--AND t0.lv < 2
|
||||
)
|
||||
SELECT t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t1_l.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1_l.FSPECIFICATION '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',t2.FCAPTION '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FNUMBER 'BOM<EFBFBD>汾',t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
,CAST('' AS nvarchar(4)) 'ר<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʶ','' 'L/T',0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 δ<EFBFBD><EFBFBD>PR<EFBFBD><EFBFBD>,0 <EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 <EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'' <EFBFBD>ƻ<EFBFBD>Ա,'' <EFBFBD>ɹ<EFBFBD>Ա
|
||||
INTO #BOM
|
||||
FROM #BOMչ<4D><D5B9> t0
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
|
||||
INNER JOIN T_BD_MATERIALBASE t1b on t1b.FMATERIALID = t1.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIALPLAN t1p on t1p.FMATERIALID = t1.FMATERIALID
|
||||
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t2 on t2.FVALUE = t1b.FERPCLSID
|
||||
WHERE 1 = 1
|
||||
--AND t0.lv < 2
|
||||
ORDER BY CAST(CONCAT('/',REPLACE(t0.MPath,'.','/'),'/') AS HIERARCHYID)
|
||||
|
||||
SELECT *
|
||||
FROM #BOM t0
|
||||
|
||||
DROP TABLE #BOM
|
||||
|
||||
END
|
||||
99
07.珠海英搏尔/GZ.LJY000.Enpower/预测单/专用料判断报表_202501241649.sql
Normal file
99
07.珠海英搏尔/GZ.LJY000.Enpower/预测单/专用料判断报表_202501241649.sql
Normal file
@@ -0,0 +1,99 @@
|
||||
;WITH #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS (
|
||||
SELECT t0e.FENUMID,t0e.FSEQ,t0e.FVALUE,t0e_l.FCAPTION
|
||||
FROM T_META_FORMENUMITEM t0e
|
||||
INNER JOIN T_META_FORMENUMITEM_L t0e_l on t0e.FENUMID = t0e_l.FENUMID AND t0e_l.FLOCALEID = 2052
|
||||
WHERE 1 = 1
|
||||
AND t0e.FID = 'ac14913e-bd72-416d-a50b-2c7432bbff63'
|
||||
)
|
||||
,#BOMչ<4D><D5B9> AS (
|
||||
SELECT TOP 1 t0.FID,t0.FMATERIALID,t0.FNUMBER,t0.FUNITID ,0 lv
|
||||
,ROW_NUMBER() OVER (PARTITION BY t0.FMATERIALID ORDER BY t0.FNUMBER DESC) RN
|
||||
,CAST('1' AS nvarchar(100)) MPath
|
||||
,CAST('' AS nvarchar(100)) PBomNumber
|
||||
,CAST(1 AS decimal(23,10)) <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
--,0 RN
|
||||
FROM T_ENG_BOM t0
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
WHERE 1 = 1
|
||||
--AND t0.FMATERIALID = 9554131
|
||||
AND t1.FNUMBER = '97.03.0097'
|
||||
AND t0.FDOCUMENTSTATUS = 'C'
|
||||
AND t0.FFORBIDSTATUS = 'A'
|
||||
AND t0.FUSEORGID = 1
|
||||
ORDER BY t0.FNUMBER DESC
|
||||
UNION ALL
|
||||
SELECT ISNULL(t1.FID,0),t0e.FMATERIALID,ISNULL(t1.FNUMBER, ''),t0e.FUNITID,1 + t0.lv
|
||||
,ROW_NUMBER() OVER (ORDER BY t0.RN DESC,t0e.FSEQ)
|
||||
,CAST(CONCAT(t0.MPath,'.',ROW_NUMBER() OVER (ORDER BY t0.RN DESC,t0e.FSEQ)) AS nvarchar(100))
|
||||
,CAST(t0.FNUMBER AS nvarchar(100))
|
||||
,CAST(t0e.FNUMERATOR /t0e.FDENOMINATOR * t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> AS decimal(23,10))
|
||||
FROM #BOMչ<4D><D5B9> t0
|
||||
INNER JOIN T_ENG_BOMCHILD t0e on t0e.FID = t0.FID AND t0e.FMATERIALTYPE != 3
|
||||
OUTER APPLY (
|
||||
SELECT t1.FID,t1.FMASTERID,t1.FMATERIALID,t1.FNUMBER,t1.FUNITID
|
||||
,ROW_NUMBER() OVER (PARTITION BY t1.FMATERIALID ORDER BY t1.FNUMBER DESC) RN
|
||||
FROM T_ENG_BOM t1
|
||||
WHERE t1.FMATERIALID = t0e.FMATERIALID
|
||||
AND t1.FDOCUMENTSTATUS = 'C'
|
||||
AND t1.FFORBIDSTATUS = 'A'
|
||||
AND t1.FUSEORGID = 1
|
||||
) t1
|
||||
WHERE (t1.RN = 1 OR t1.RN IS NULL) AND t0.FNUMBER != ''
|
||||
--AND t0.lv < 2
|
||||
)
|
||||
SELECT t0.RN,t0.MPath,t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t1_l.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1_l.FSPECIFICATION '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',t2.FCAPTION '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FNUMBER 'BOM<EFBFBD>汾'
|
||||
,t3_l.FNAME '<EFBFBD><EFBFBD>λ',t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,CAST('' AS nvarchar(4)) 'ר<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>ʶ','' 'L/T'
|
||||
,0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 δ<EFBFBD><EFBFBD>PR<EFBFBD><EFBFBD>,0 <EFBFBD>ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,0 <EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,'' <EFBFBD>ƻ<EFBFBD>Ա,'' <EFBFBD>ɹ<EFBFBD>Ա
|
||||
,t0.FMATERIALID,t0.lv
|
||||
INTO #BOM
|
||||
FROM #BOMչ<4D><D5B9> t0
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
|
||||
INNER JOIN T_BD_MATERIALBASE t1b on t1b.FMATERIALID = t1.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIALPLAN t1p on t1p.FMATERIALID = t1.FMATERIALID
|
||||
INNER JOIN #<23><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> t2 on t2.FVALUE = t1b.FERPCLSID
|
||||
INNER JOIN T_BD_UNIT_L t3_l on t3_l.FUNITID = t0.FUNITID AND t3_l.FLOCALEID = 2052
|
||||
WHERE 1 = 1
|
||||
--AND t0.lv < 2
|
||||
ORDER BY CAST(CONCAT('/',REPLACE(t0.MPath,'.','/'),'/') AS HIERARCHYID)
|
||||
|
||||
--SELECT *
|
||||
--FROM #BOM t0
|
||||
|
||||
;WITH #<23><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> AS (
|
||||
SELECT t0.FMATERIALID,t1.FMATERIALGROUP,t0e.FMATERIALID 'srcMaterialId'--,t0e.FID,t0.FNUMBER
|
||||
,0 lv,CAST(CONCAT(t0.FMATERIALID,'_',t0e.FMATERIALID,'_') AS nvarchar(2000)) aPath
|
||||
FROM (
|
||||
SELECT tt.FMATERIALID
|
||||
FROM #BOM tt
|
||||
WHERE 1=1 AND tt.lv > 0
|
||||
GROUP BY tt.FMATERIALID
|
||||
) tt
|
||||
INNER JOIN T_ENG_BOMCHILD t0e on t0e.FMATERIALID = tt.FMATERIALID
|
||||
INNER JOIN T_ENG_BOM t0 on t0.FID = t0e.FID
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
WHERE 1=1
|
||||
GROUP BY t0.FMATERIALID,t1.FMATERIALGROUP,t0e.FMATERIALID
|
||||
UNION ALL
|
||||
SELECT t1.FMATERIALID,t1.FMATERIALGROUP,tt.srcMaterialId--,t0e.FID,t0.FNUMBER
|
||||
,tt.lv + 1,CAST(CONCAT(t1.FMATERIALID,'_',tt.aPath) AS nvarchar(2000))
|
||||
FROM #<23><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> tt
|
||||
CROSS APPLY (
|
||||
SELECT t0.FMATERIALID,t1.FMATERIALGROUP,t0e.FMATERIALID 'srcMaterialId'
|
||||
,ROW_NUMBER() OVER (PARTITION BY t0.FMATERIALID ORDER BY t0.FNUMBER DESC) RN
|
||||
FROM T_ENG_BOMCHILD t0e
|
||||
INNER JOIN T_ENG_BOM t0 on t0.FID = t0e.FID
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
WHERE 1 = 1
|
||||
AND tt.FMATERIALID = t0e.FMATERIALID
|
||||
) t1
|
||||
WHERE t1.RN = 1
|
||||
)
|
||||
SELECT *
|
||||
FROM #<23><><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD> t0
|
||||
INNER JOIN T_BD_MATERIALGROUPLEVEL t1 on t0.FMATERIALGROUP = t1.FID
|
||||
INNER JOIN T_BD_MATERIALGROUP t2 on t2.FID = t1.FGROUP1
|
||||
WHERE t2.FNUMBER = '1'
|
||||
ORDER BY lv desc,srcMaterialId DESC
|
||||
|
||||
DROP TABLE #BOM
|
||||
@@ -0,0 +1,66 @@
|
||||
WITH #<23><><EFBFBD><EFBFBD> AS (
|
||||
SELECT t0.FBILLNO,'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE,t0.FFORECASTYEAR
|
||||
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ
|
||||
,t0e.FMONTH1 + t0e.FMONTH2 + t0e.FMONTH3 + t0e.FMONTH4 + t0e.FMONTH5 + t0e.FMONTH6 + t0e.FMONTH7 + t0e.FMONTH8 + t0e.FMONTH9 + t0e.FMONTH10 + t0e.FMONTH11 + t0e.FMONTH12 AS 'QTY'
|
||||
,DENSE_RANK() OVER (ORDER BY t0.FFORECASTYEAR DESC,t0.FBILLNO DESC,t0.FVERSIONS DESC) RN
|
||||
FROM T_PLN_FORECAST2YEAR t0
|
||||
INNER JOIN T_PLN_FORECAST2YEARENTRY t0e on t0.FID = t0e.FID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
,#<23><><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ AS (
|
||||
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #<23><><EFBFBD><EFBFBD> t0
|
||||
INNER JOIN #<23><><EFBFBD><EFBFBD> t1 on t0.FFORECASTYEAR = t1.FFORECASTYEAR AND t1.RN = 2
|
||||
AND t0.FMATERIALID = t1.FMATERIALID
|
||||
WHERE t0.RN = 1
|
||||
)
|
||||
,#N_3 AS (
|
||||
SELECT t0.FBILLNO,'N+3' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE,t0.FFORECASTYEAR,t0.FFORECASTMONTH
|
||||
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ
|
||||
,t0e.FN0 + t0e.FN1 + t0e.FN2 + t0e.FN3 AS 'QTY'
|
||||
,DENSE_RANK() OVER (PARTITION BY t0.FFORECASTYEAR,t0.FFORECASTMONTH ORDER BY t0.FVERSIONS DESC) RN
|
||||
FROM T_PLN_FORECAST2N3 t0
|
||||
INNER JOIN T_PLN_FORECAST2N3ENTRY t0e on t0.FID = t0e.FID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
,#N_3Ԥ<33>ⵥ AS (
|
||||
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #N_3 t0
|
||||
INNER JOIN #N_3 t1 on t1.RN = 2
|
||||
AND t0.FFORECASTYEAR = t1.FFORECASTYEAR AND t0.FFORECASTMONTH = t1.FFORECASTMONTH
|
||||
AND t0.FMATERIALID = t1.FMATERIALID
|
||||
WHERE t0.RN = 1
|
||||
)
|
||||
,#W_5 AS (
|
||||
SELECT t0.FBILLNO,'W+5' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FVERSIONS,t0.FCRMBILLNO,t0.FDATE
|
||||
,t0e.FMATERIALID,t0e.FCUSTID,t0e.FSEQ,t0.FFORECASTYEAR,t0e.FSTARTDATE
|
||||
,t0e.FD1+t0e.FD2+t0e.FD3+t0e.FD4+t0e.FD5+t0e.FD6+t0e.FD7+t0e.FD8+t0e.FD9+t0e.FD10+t0e.FD11+t0e.FD12+t0e.FD13+t0e.FD14+t0e.FD15+t0e.FD16+t0e.FD17+t0e.FD18+t0e.FD19+t0e.FD20+t0e.FD21+t0e.FD22+t0e.FD23+t0e.FD24+t0e.FD25+t0e.FD26+t0e.FD27+t0e.FD28+t0e.FD29+t0e.FD30+t0e.FD31+t0e.FD32+t0e.FD33+t0e.FD34+t0e.FD35+t0e.FD36+t0e.FD37+t0e.FD38+t0e.FD39+t0e.FD40+t0e.FD41+t0e.FD42 AS 'QTY'
|
||||
,DENSE_RANK() OVER (PARTITION BY t0.FFORECASTYEAR,t0e.FSTARTDATE ORDER BY t0.FBILLNO DESC,t0.FVERSIONS DESC) RN
|
||||
FROM T_PLN_FORECAST2W5 t0
|
||||
INNER JOIN T_PLN_FORECAST2W5ENTRY t0e on t0.FID = t0e.FID
|
||||
WHERE t0.FDOCUMENTSTATUS = 'C'
|
||||
)
|
||||
,#W_5Ԥ<35>ⵥ AS (
|
||||
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.FMATERIALID,t0.FCUSTID,t1.FDATE '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t1.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>',t1.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ',t0.FVERSIONS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>',t0.QTY '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', t1.QTY - ISNULL(t0.QTY, 0) '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
|
||||
FROM #W_5 t0
|
||||
INNER JOIN #W_5 t1 on t1.RN = 2
|
||||
AND t0.FFORECASTYEAR = t1.FFORECASTYEAR
|
||||
AND t0.FSTARTDATE = t1.FSTARTDATE
|
||||
AND t0.FMATERIALID = t1.FMATERIALID
|
||||
WHERE t0.RN = 1
|
||||
)
|
||||
, #<23><><EFBFBD><EFBFBD> AS (
|
||||
SELECT *
|
||||
FROM #<23><><EFBFBD><EFBFBD>Ԥ<EFBFBD>ⵥ
|
||||
UNION ALL
|
||||
SELECT *
|
||||
FROM #N_3Ԥ<33>ⵥ
|
||||
UNION ALL
|
||||
SELECT *
|
||||
FROM #W_5Ԥ<35>ⵥ
|
||||
)
|
||||
SELECT t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t1.FNUMBER '<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>',t1_l.FNAME '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>','' '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t2_l.FNAME '<EFBFBD>ͻ<EFBFBD>','' '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>汾<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>汾<EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,t0.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
FROM #<23><><EFBFBD><EFBFBD> t0
|
||||
INNER JOIN T_BD_MATERIAL t1 on t1.FMATERIALID = t0.FMATERIALID
|
||||
INNER JOIN T_BD_MATERIAL_L t1_l on t1_l.FMATERIALID = t1.FMATERIALID AND t1_l.FLOCALEID = 2052
|
||||
INNER JOIN T_BD_CUSTOMER_L t2_l on t2_l.FCUSTID = t0.FCUSTID
|
||||
Reference in New Issue
Block a user