192 lines
7.2 KiB
MySQL
192 lines
7.2 KiB
MySQL
|
|
IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].TMP123123123123123') AND type IN ('U'))
|
|||
|
|
DROP TABLE [dbo].TMP123123123123123
|
|||
|
|
GO
|
|||
|
|
|
|||
|
|
declare @tableName varchar(80)
|
|||
|
|
,@seqFid varchar(80)
|
|||
|
|
,@proMaterialId int
|
|||
|
|
,@materialId int
|
|||
|
|
,@FBILLNO varchar(80)
|
|||
|
|
,@FPPBOMBILLNO varchar(80)
|
|||
|
|
,@FSALEORDERNO varchar(80)
|
|||
|
|
,@LCID int
|
|||
|
|
|
|||
|
|
SET @tableName = 'TMP123123123123123'
|
|||
|
|
SET @seqFid = 'ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID'
|
|||
|
|
SET @proMaterialId = ''
|
|||
|
|
SET @materialId = ''
|
|||
|
|
SET @FBILLNO = ''
|
|||
|
|
SET @FPPBOMBILLNO = ''
|
|||
|
|
SET @FSALEORDERNO = ''
|
|||
|
|
SET @LCID = 2052
|
|||
|
|
SELECT
|
|||
|
|
--ROW_NUMBER() OVER(ORDER BY t0.FID) AS FIDENTITYID--1.<EFBFBD>к<EFBFBD>
|
|||
|
|
t0.FID
|
|||
|
|
,t0e.FSEQ
|
|||
|
|
,t0e.FENTRYID
|
|||
|
|
,t0.FDATE --2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FPLANSTARTDATE--38.<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FPLANFINISHDATE--39.<EFBFBD>ƻ<EFBFBD><EFBFBD>깤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FSALEORDERNO --4.<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0.FBILLNO--7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FQTY--12.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
--,t0e.FSTOCKID--35.<EFBFBD>ֿ<EFBFBD>
|
|||
|
|
--,t0e.FSTOCKLOCID--36.<EFBFBD><EFBFBD>λ
|
|||
|
|
,t0e.FYIELDRATE
|
|||
|
|
,t0e.FROUTINGID
|
|||
|
|
,(CASE t0e_a.FSTATUS WHEN 6 THEN '<EFBFBD>ѽ'ELSE '' END) AS 'StatusIs6'--45.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,(CASE t0e.FPRODUCTTYPE WHEN 1 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' WHEN 2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' WHEN 3 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ' ELSE '' END) AS 'PRODUCTTYPE'--43.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FMATERIALID AS 'ProMaterialId'
|
|||
|
|
,t1.FMNEMONICCODE AS 'ProMnemoniccode'--6.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1.FNUMBER AS 'ProNumber'--8.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1_l.FNAME AS 'ProName'--9.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1_l.FSPECIFICATION AS 'ProSpecification'--10.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
|||
|
|
,t2_l.FUNITID AS 'PrdUnitId'
|
|||
|
|
,t2_l.FNAME AS 'ProUnitName'--11.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ
|
|||
|
|
--,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'ProMaterialsrc' --15.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
|
INTO #TmpTable0
|
|||
|
|
FROM
|
|||
|
|
T_PRD_MO t0
|
|||
|
|
INNER JOIN T_PRD_MOENTRY t0e on t0e.FID = t0.FID
|
|||
|
|
INNER JOIN T_PRD_MOENTRY_A t0e_a on t0e_a.FENTRYID = t0e.FENTRYID
|
|||
|
|
LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0e.FMATERIALID
|
|||
|
|
LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0e.FMATERIALID AND t1_l.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0e.FUNITID AND t2_l.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN (
|
|||
|
|
SELECT
|
|||
|
|
t0e.FMOENTRYID
|
|||
|
|
,t0e.FMOENTRYSEQ
|
|||
|
|
,t0e.FMATERIALID
|
|||
|
|
,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
FROM T_PRD_MORPT t0
|
|||
|
|
INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
|
|||
|
|
GROUP BY
|
|||
|
|
t0e.FMOENTRYID
|
|||
|
|
,t0e.FMOENTRYSEQ
|
|||
|
|
,t0e.FMATERIALID
|
|||
|
|
) t3 on t3.FMATERIALID = t0e.FMATERIALID AND t3.FMOENTRYID = t0e.FENTRYID AND t3.FMOENTRYSEQ = t0e.FSEQ
|
|||
|
|
WHERE
|
|||
|
|
t0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE t0.FBILLNO END)
|
|||
|
|
AND t0e.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE t0e.FSALEORDERNO END)
|
|||
|
|
AND t0e.FMATERIALID = (CASE WHEN @proMaterialId <> 0 THEN @proMaterialId ELSE t0e.FMATERIALID END)
|
|||
|
|
--AND T1.FNUMBER = (CASE WHEN @MAINNUMBER != '' THEN @MAINNUMBER ELSE T1.FNUMBER END)
|
|||
|
|
--AND T1_L.FNAME = (CASE WHEN @MAINNAME != '' THEN @MAINNAME ELSE T1_L.FNAME END)
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
t0e.FMOENTRYID
|
|||
|
|
,t0e.FMOENTRYSEQ
|
|||
|
|
,t0e.FMATERIALID
|
|||
|
|
,SUM(t0e_A.FBASESELINSPECTQTY) AS 'FBASESELINSPECTQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,SUM(t0e_A.FBASEINSPECTQTY) AS 'FBASEINSPECTQTY' --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,SUM(t0e.FBASEFINISHQTY) AS 'FBASEFINISHQTY'--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
FROM T_PRD_MORPT t0
|
|||
|
|
INNER JOIN T_PRD_MORPTENTRY t0e on t0.FID = t0e.FID
|
|||
|
|
INNER JOIN T_PRD_MORPTENTRY_A t0e_A on t0e_A.FENTRYID = t0e.FENTRYID
|
|||
|
|
GROUP BY
|
|||
|
|
t0e.FMOENTRYID
|
|||
|
|
,t0e.FMOENTRYSEQ
|
|||
|
|
,t0e.FMATERIALID
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
t1.*
|
|||
|
|
,t0.FBILLNO AS 'FPPBOMBILLNO'--3.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FMATERIALID
|
|||
|
|
,(t0e.FNUMERATOR / t0e.FDENOMINATOR) AS 'FUnitNeedQty' --18.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FNEEDQTY --22.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FUNITID
|
|||
|
|
,t0e.FBOMENTRYID
|
|||
|
|
,t0e_q.FBASEWIPQTY --23.<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e_q.FPICKEDQTY --27.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e_q.FNOPICKEDQTY --28.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FSTDQTY --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --29.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e.FMUSTQTY --Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --30.Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e_l.FMEMO --31.<EFBFBD><EFBFBD>ע
|
|||
|
|
,t0e_q.FPICKEDQTY * (100 - t1.FYIELDRATE) AS 'FLossQty'--32.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e_q.FSCRAPQTY --33.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0e_q.FREPICKEDQTY --37.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t0.FWORKSHOPID
|
|||
|
|
,t0e_c.FSTOCKID
|
|||
|
|
,t0e_c.FSTOCKLOCID
|
|||
|
|
,(CASE t0.FDOCUMENTSTATUS WHEN 'A' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'B' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'C' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'D' THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' WHEN 'Z' THEN '<EFBFBD>ݴ<EFBFBD>' ELSE '' END) AS 'PPBOMStatus'--46.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬
|
|||
|
|
INTO #TmpTable1
|
|||
|
|
FROM
|
|||
|
|
#TmpTable0 t1
|
|||
|
|
LEFT JOIN T_PRD_PPBOM t0 on t1.FID = t0.FMOID AND t0.FMOENTRYSEQ = t1.FSEQ AND t0.FMOENTRYSEQ = t1.FSEQ --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥
|
|||
|
|
INNER JOIN T_PRD_PPBOMENTRY t0e ON t0.FID = t0e.FID
|
|||
|
|
LEFT JOIN T_PRD_PPBOMENTRY_Q t0e_q ON t0e_q.FENTRYID = t0e.FENTRYID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嵥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>
|
|||
|
|
LEFT JOIN T_PRD_PPBOMENTRY_C t0e_c ON t0e_c.FENTRYID = t0e.FENTRYID
|
|||
|
|
LEFT JOIN T_PRD_PPBOMENTRY_L t0e_l on t0e_l.FENTRYID = t0e.FENTRYID AND t0e_l.FLOCALEID = @LCID
|
|||
|
|
WHERE
|
|||
|
|
T0.FBILLNO = (CASE WHEN @FPPBOMBILLNO != '' THEN @FPPBOMBILLNO ELSE T0.FBILLNO END)
|
|||
|
|
AND t0e.FMATERIALID = (CASE WHEN @materialId <> 0 THEN @materialId ELSE t0e.FMATERIALID END)
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
t0.*
|
|||
|
|
,t1.FNUMBER AS 'MaterialNumber'--8.<EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1_l.FNAME AS 'MaterialName'--9.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1_l.FSPECIFICATION AS 'MaterialSpecification'--10.<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
|
|||
|
|
,t2_l.FNAME AS 'MaterialUnitName'--11.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ
|
|||
|
|
,(CASE t1.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS 'Materialsrc' --15.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
|
|||
|
|
,t4_l.FNAME AS 'WORKSHOPNAME' --44.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
,t1.FMASTERID
|
|||
|
|
,t1.FUSEORGID
|
|||
|
|
,t5_l.FMEMO AS 'BOMMEMO' --42.BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
|
|||
|
|
,t3_l.FNAME AS 'FSTOCKNAME'
|
|||
|
|
into #TmpTable2
|
|||
|
|
FROM
|
|||
|
|
#TmpTable1 t0
|
|||
|
|
LEFT JOIN T_BD_MATERIAL t1 ON t1.FMATERIALID = t0.FMATERIALID
|
|||
|
|
LEFT JOIN T_BD_MATERIAL_L t1_l ON t1_l.FMATERIALID = t0.FMATERIALID AND t1_l.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN T_BD_UNIT_L t2_l ON t2_l.FUNITID = t0.FUNITID AND t2_l.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN T_BD_STOCK_L t3_l ON t3_l.FSTOCKID = t0.FSTOCKID AND t3_l.FLOCALEID =@LCID
|
|||
|
|
LEFT JOIN T_BD_DEPARTMENT_L t4_l on t4_l.FDEPTID = t0.FWORKSHOPID AND t4_l.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN T_ENG_BOMCHILD_L t5_l ON t5_l.FENTRYID = t0.FBOMENTRYID AND t5_L.FLOCALEID = @LCID
|
|||
|
|
--WHERE
|
|||
|
|
--t1.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE t1.FNUMBER END)
|
|||
|
|
--AND t1_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE t1_L.FNAME END)
|
|||
|
|
|
|||
|
|
SELECT
|
|||
|
|
t0.*
|
|||
|
|
,t1.FBASEQTY
|
|||
|
|
,t2_l.FNAME AS 'ROUTENAME'
|
|||
|
|
,t3e_A.FBASEINVQTY
|
|||
|
|
,t3e.FBASELACKQTY AS 'FBASELACKQTY'--24.Ƿ<EFBFBD><EFBFBD>
|
|||
|
|
,t3e_A.FBASEONORDERQTY AS 'FBASEONORDERQTY' --25.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>
|
|||
|
|
,6 AS 'LOWEST6'
|
|||
|
|
INTO #TmpTable3
|
|||
|
|
FROM
|
|||
|
|
#TmpTable2 t0
|
|||
|
|
LEFT JOIN (
|
|||
|
|
SELECT
|
|||
|
|
t0.FMATERIALID
|
|||
|
|
,t0.FSTOCKORGID
|
|||
|
|
,sum(t0.FBASEQTY) AS FBASEQTY
|
|||
|
|
FROM
|
|||
|
|
T_STK_INVENTORY t0
|
|||
|
|
GROUP BY
|
|||
|
|
t0.FMATERIALID
|
|||
|
|
,t0.FSTOCKORGID
|
|||
|
|
) t1 on t1.FMATERIALID = t0.FMASTERID AND t1.FSTOCKORGID = t0.FUSEORGID
|
|||
|
|
LEFT JOIN T_ENG_ROUTE_L t2_L on t2_L.FID = t0.FROUTINGID AND t2_L.FLOCALEID = @LCID
|
|||
|
|
LEFT JOIN T_PRD_PMPPBOMENTRY t3e on t3e.FMOID = t0.FID AND t3e.FMOENTRYID = t0.FENTRYID AND t3e.FMOENTRYSEQ = t0.FSEQ AND t3e.FMATERIALIDSUB = t0.FMATERIALID --AND t3e.FMATERIALID = t0.FMATERIALID
|
|||
|
|
LEFT JOIN T_PRD_PMPPBOMENTRY_A t3e_A ON t3e_A.FENTRYID = t3e.FENTRYID
|
|||
|
|
|
|||
|
|
|
|||
|
|
exec(N'
|
|||
|
|
SELECT
|
|||
|
|
t0.*
|
|||
|
|
,' + @seqFid+ '
|
|||
|
|
INTO ' + @tableName + '
|
|||
|
|
FROM
|
|||
|
|
#TmpTable3 t0
|
|||
|
|
')
|
|||
|
|
|
|||
|
|
drop table #TmpTable0
|
|||
|
|
drop table #TmpTable1
|
|||
|
|
drop table #TmpTable2
|
|||
|
|
drop table #TmpTable3
|
|||
|
|
|
|||
|
|
exec(N'SELECT * FROM '+ @tableName)
|