This commit is contained in:
梁骏愉
2025-02-10 09:24:44 +08:00
parent 3d15fd4b7e
commit 17bb7e4131
56 changed files with 15484 additions and 502 deletions

View 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