This commit is contained in:
PastSaid
2024-04-10 10:39:04 +08:00
parent 9a7bf9b67e
commit b2419eec9c
119 changed files with 23402 additions and 350 deletions

View File

@@ -0,0 +1,55 @@
SELECT * INTO #TMP123 FROM #TPRDMOINFO
DROP TABLE #TPRDMOINFO
SELECT
'' AS '<EFBFBD>к<EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FMNEMONICCODE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥺<EFBFBD>',
A.FNUMBER AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FSPECIFICATION AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',
A.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ',
A.FQTY AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FNUMBER AS '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>',
A.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
( CASE A.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END ) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ',
A.FSPECIFICATION AS '<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼',
A.FSTDQTY AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FUNITID AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ',
A.FINVENTORYQTY AS '<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FNEEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS 'Ƿ<EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>',
'' AS '<EFBFBD>ƻ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FNOPICKEDQTY AS 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FMUSTQTY AS 'Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD>ע',
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FSCRAPQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD>ֿ<EFBFBD>',
'' AS '<EFBFBD><EFBFBD>λ',
A.FREPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FPLANSTARTDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FPLANFINISHDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
'' AS '<EFBFBD><EFBFBD>λ',
'' AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>',
'' AS 'BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>',
A.FBILLTYPE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
A.FWORKSHOPID AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
( CASE AE_A.FSTATUS WHEN 6 THEN '<EFBFBD>ѽ᰸' ELSE '' END ) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥽᰸<EFBFBD><EFBFBD>',
A.FDOCUMENTSTATUS AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬',
'' AS 'PR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δתPO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'
FROM
#TMP123 A
DROP TABLE #TMP123

View File

@@ -0,0 +1,21 @@
SELECT
TOP 1000
T0E.FMATERIALID
,T0E.FMATERIALIDSUB
FROM
T_PRD_PMPPBOMENTRY T0E
INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
WHERE T0E.FID = 101118
GROUP BY T0E.FMATERIALID,T0E.FMATERIALIDSUB
SELECT
TOP 1000
t0E.*
,T0E_A.*
FROM
T_PRD_LACKANALYSEBILL t0
INNER JOIN T_PRD_PMPPBOMENTRY T0E on t0.FID = T0E.FID
INNER JOIN T_PRD_PMPPBOMENTRY_A T0E_A ON T0E_A.FENTRYID = T0E.FENTRYID
WHERE t0.FBILLNO = 'SCQL000671'

View File

@@ -0,0 +1,37 @@
SELECT * FROM T_BD_STOCK
SELECT * FROM T_BD_STOCKFLEXITEM
SELECT * FROM T_BD_STOCKFLEXDETAIL
SELECT * FROM T_BAS_FLEXVALUES
SELECT * FROM T_BAS_FLEXVALUESENTRY
SELECT * FROM T_BAS_FLEXVALUESENTRY_L
SELECT * FROM T_BD_FLEXVALUESCOM
SELECT * FROM T_BAS_FLEXVALUESDETAIL
SELECT
t1.FNUMBER
,t1_l.FNAME
,t0.FMATERIALID
,t0.FSTOCKID
,t0.FSTOCKLOCID
,stuff((select CAST(t2.FF100001 AS varchar) +'.'+ CAST(t2.FF100002 AS varchar) FROM T_BAS_FLEXVALUESDETAIL t2 WHERE t2.FID = t0.FSTOCKLOCID for xml path('')),1,1,'')
FROM T_STK_INVENTORY 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 = 2052
--LEFT JOIN T_BAS_FLEXVALUESDETAIL t2 on t2.FID = t0.FSTOCKLOCID
WHERE
t0.FSTOCKLOCID > 0
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX);
SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('t0.',t0.FFLEXNUMBER)
FROM T_BAS_FLEXVALUES t0
WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
SET @sql = N'
SELECT
t0.FID
,CONCAT(' + @columns + ' +''.'', '''')
FROM T_BAS_FLEXVALUESDETAIL t0
';
EXEC sp_executesql @sql;

View File

@@ -0,0 +1,26 @@
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX),@LOCALEID char(10);
SET @LOCALEID = '2052'
SELECT @columns = COALESCE(@columns + ',', '') + CONCAT('',t0.FFLEXNUMBER)
FROM T_BAS_FLEXVALUES t0
WHERE t0.FDOCUMENTSTATUS = 'C' AND t0.FFORBIDSTATUS = 'A'
SET @SQL = N'
SELECT
t0.FID
,t0.aColumn
,t0.aValue
,t1e_l.FNAME
,ROW_NUMBER() OVER (PARTITION BY t0.FID ORDER BY t1.FNUMBER) AS RowId
FROM
(SELECT FID,'+@columns+'
FROM T_BAS_FLEXVALUESDETAIL) AS P
UNPIVOT
(aValue FOR aColumn IN
('+@columns+')
)AS t0
INNER JOIN T_BAS_FLEXVALUES t1 on t1.FFLEXNUMBER = t0.aColumn
INNER JOIN T_BAS_FLEXVALUESENTRY_L t1e_l on t0.aValue = t1e_l.FENTRYID AND t1e_l.FLOCALEID = '+@LOCALEID+'
;';
EXEC(@SQL);
--SELECT * FROM T_BAS_FLEXVALUES

View File

@@ -0,0 +1,12 @@
SELECT T2.FSTOCKID, T2.FNUMBER, T3.FNAME, T4.FFLEXENTRYID AS <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, T41.FNUMBER <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, T41L.FNAME <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, T1.FFLEXID <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,T31.FNUMBER <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,T31L.FNAME <EFBFBD><EFBFBD>λֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FROM
T_BD_STOCKFLEXITEM T1
JOIN T_BD_STOCKFLEXDETAIL T4 ON T1.FENTRYID = T4.FENTRYID
JOIN T_BAS_FLEXVALUES T31 ON T1.FFLEXID = T31.FID
JOIN T_BAS_FLEXVALUES_L T31L ON T31L.FID = T31.FID AND T31L.FLOCALEID = 2052
JOIN T_BAS_FLEXVALUESENTRY T41 ON T4.FFLEXENTRYID = T41.FENTRYID
JOIN T_BAS_FLEXVALUESENTRY_L T41L ON T41L.FENTRYID = T41.FENTRYID AND T41L.FLOCALEID = 2052
JOIN T_BD_STOCK T2 ON T1.FSTOCKID = T2.FSTOCKID
JOIN T_BD_STOCK_L T3 ON T2.FSTOCKID = T3.FSTOCKID AND T3.FLOCALEID = 2052
ORDER BY
T2.FSTOCKID, T31.FNUMBER, T41.FNUMBER

View File

@@ -0,0 +1,154 @@
IF EXISTS(SELECT * FROM SYS.PROCEDURES WHERE NAME='PROC_PPBOM_RPT')
DROP PROCEDURE DBO.PROC_PPBOM_RPT;
GO
CREATE PROCEDURE PROC_PPBOM_RPT
@tableName varchar(80)
,@seqFid varchar(80)
,@proMaterialId int
,@materialId int
,@FBILLNO varchar(80)
,@FPPBOMBILLNO varchar(80)
,@FSALEORDERNO varchar(80)
,@LCID int
AS
BEGIN
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
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
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
END

View File

@@ -0,0 +1,130 @@
DECLARE @FBILLNO varchar(80)
,@MainNumber varchar(80)
,@MainName varchar(80)
,@FMOBILLNO varchar(80)
,@FNumber varchar(80)
,@FName varchar(80)
,@FSALEORDERNO varchar(80)
,@LCID int
set @FBILLNO = ''
set @MainNumber = ''
set @MainName = ''
set @FMOBILLNO = ''
set @FNumber = ''
set @FName = ''
set @FSALEORDERNO = ''
set @LCID = 2052
--set @FBILLNO =''
--set @MainNumber=''
--set @MainName=''
--set @FMOBILLNO=''
--set @FNumber=''
--set @FName=''
--set @FSALEORDERNO=''
--set @LCID=2052
SELECT
top 1000
ROW_NUMBER() OVER(ORDER BY T0.FMATERIALID) AS '<EFBFBD>к<EFBFBD>' --1.<EFBFBD>к<EFBFBD>
,T0.FID
--,T0.FFORMID
,t7.FDATE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --2.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0.FBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>'--3.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>
--,T0.FMOID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
----,T0.FMOENTRYID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,t0.FSALEORDERID
--,t0.FSALEORDERENTRYID
,T0.FSALEORDERNO AS '<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --4.<EFBFBD><EFBFBD><EFBFBD>۶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,T0.FMATERIALID --<EFBFBD><EFBFBD>ƷID
--5.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T1.FMNEMONICCODE AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--6.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0.FMOBILLNO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥺<EFBFBD>'--7.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥺<EFBFBD>
,T1.FNUMBER AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--8.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T1_L.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--9.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T1_L.FSPECIFICATION AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>'--10.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
,T3_L.FNAME AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ'--11.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD>λ
,T0.FQTY AS '<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--12.<EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T2.FNUMBER AS '<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>'--13.<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD>
,T2_L.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--14.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,(CASE T2.FMATERIALSRC WHEN 'A' THEN 'PLM' WHEN 'B' THEN 'ERP' ELSE '' END) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ' --15.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
,T2_L.FSPECIFICATION AS '<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>'--16.<EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>
,t10_L.FNAME AS '<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼'--17.<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼
,(T0E.FNUMERATOR / T0E.FDENOMINATOR) AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --18.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,T0E.FUNITID AS ENTRYUNITID
,T4_L.FNAME AS '<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ' --19.<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>λ
,t9.FBASEQTY AS '<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--20.<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T11E_A.FBASEINVQTY
--21.<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E.FNEEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--22.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E_Q.FBASEWIPQTY AS '<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--23.<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,(case when t9.FBASEQTY > T0E.FNEEDQTY then 0 else T0E.FNEEDQTY - t9.FBASEQTY end) AS 'Ƿ<EFBFBD><EFBFBD>'--24.Ƿ<EFBFBD><EFBFBD>
,T11E.FBASELACKQTY AS 'Ƿ<EFBFBD><EFBFBD>'--24.Ƿ<EFBFBD><EFBFBD>
,T11E_A.FBASEONORDERQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>' --25.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD>
,T11E_A.FENTRYID
--26.<EFBFBD>ƻ<EFBFBD>Ͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E_Q.FPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--27.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E_Q.FNOPICKEDQTY AS 'δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--28.δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E.FSTDQTY AS '<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> --29.<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E.FMUSTQTY AS 'Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> --30.Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t0E_L.FMEMO AS '<EFBFBD><EFBFBD>ע'--31.<EFBFBD><EFBFBD>ע
,T0E_Q.FPICKEDQTY * (100 - t7E.FYIELDRATE) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--32.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E_Q.FSCRAPQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' --33.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--34.<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,T0E_C.FSTOCKID
,T5_L.FNAME AS '<EFBFBD>ֿ<EFBFBD>'--35.<EFBFBD>ֿ<EFBFBD>
,T0E_C.FSTOCKLOCID --36.<EFBFBD><EFBFBD>λ
,T0E_Q.FREPICKEDQTY AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--37.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t7E.FPLANSTARTDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--38.<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,t7E.FPLANFINISHDATE AS '<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--39.<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--40.<EFBFBD><EFBFBD>λ
--,7E.FMEMO AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>' --41.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
,t8_L.FMEMO AS 'BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>'--42.BOM<EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
--,t8.FNUMERATOR
,(CASE T7e.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 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--43.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--,T0.FWORKSHOPID
,T6_L.FNAME AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'--44.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,(CASE T7E_A.FSTATUS WHEN 6 THEN '<EFBFBD>ѽ᰸'ELSE '' END) AS '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥽᰸<EFBFBD><EFBFBD>'--45.<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񵥽<EFBFBD><EFBFBD>
,(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 '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬'--46.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͷ<EFBFBD>ϵ<EFBFBD>״̬
--47.PR<EFBFBD><EFBFBD><EFBFBD><EFBFBD>δתPO<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,6 AS FDECIMALS
FROM
T_PRD_MO t7 --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEFT JOIN T_PRD_MOENTRY t7E on t7E.FID = t7.FID
LEFT JOIN T_PRD_MOENTRY_A t7E_A on t7E_A.FENTRYID = t7E.FENTRYID
LEFT JOIN T_PRD_PPBOM T0 on T0.FMOID = t7.FID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LEFT JOIN T_PRD_PPBOMENTRY T0E ON T0.FID = T0E.FID AND t0.FMOENTRYSEQ = t7e.FSEQ--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
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
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_MATERIAL T2 ON T2.FMATERIALID = T0E.FMATERIALID
LEFT JOIN T_BD_MATERIAL_L T2_L ON T2_L.FMATERIALID = T0E.FMATERIALID AND T2_L.FLOCALEID = @LCID
LEFT JOIN T_BD_UNIT_L T3_L ON T3_L.FUNITID = T0.FUNITID AND T3_L.FLOCALEID = @LCID
LEFT JOIN T_BD_UNIT_L T4_L ON T4_L.FUNITID = T0E.FUNITID AND T4_L.FLOCALEID = @LCID
LEFT JOIN T_BD_STOCK_L T5_L ON T5_L.FSTOCKID = T0E_C.FSTOCKID AND T5_L.FLOCALEID =@LCID
LEFT JOIN T_BD_DEPARTMENT_L T6_L ON T6_L.FDEPTID = T0.FWORKSHOPID AND T6_L.FLOCALEID = @LCID
LEFT JOIN T_ENG_BOMCHILD_L t8_L ON t8_L.FENTRYID = T0E.FBOMENTRYID AND t8_L.FLOCALEID = @LCID
LEFT JOIN (
SELECT
t0.FMATERIALID
,t0.FSTOCKORGID
,sum(t0.FBASEQTY) AS FBASEQTY
FROM
T_STK_INVENTORY t0
GROUP BY
t0.FMATERIALID
,t0.FSTOCKORGID
) t9 on t9.FMATERIALID = T2.FMASTERID AND t9.FSTOCKORGID = t2.FUSEORGID
LEFT JOIN T_ENG_ROUTE_L t10_L on t10_L.FID = t7E.FROUTINGID AND t10_L.FLOCALEID = @LCID
LEFT JOIN T_PRD_PMPPBOMENTRY T11E on T11E.FMOID = t7e.FID AND T11E.FMOENTRYID = t7e.FENTRYID AND T11E.FMOENTRYSEQ = t7E.FSEQ AND T11E.FMATERIALIDSUB = T0E.FMATERIALID AND T11E.FMATERIALID = t0.FMATERIALID
LEFT JOIN T_PRD_PMPPBOMENTRY_A T11E_A ON T11E_A.FENTRYID = T11E.FENTRYID
WHERE
T0.FBILLNO = (CASE WHEN @FBILLNO != '' THEN @FBILLNO ELSE T0.FBILLNO END)
AND T0.FMOBILLNO = (CASE WHEN @FMOBILLNO != '' THEN @FMOBILLNO ELSE T0.FMOBILLNO END)
AND T0.FSALEORDERNO = (CASE WHEN @FSALEORDERNO != '' THEN @FSALEORDERNO ELSE T0.FSALEORDERNO 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)
AND T2.FNUMBER = (CASE WHEN @FNUMBER != '' THEN @FNUMBER ELSE T2.FNUMBER END)
AND T2_L.FNAME = (CASE WHEN @FNAME != '' THEN @FNAME ELSE T2_L.FNAME END)

View File

@@ -0,0 +1,192 @@
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)

View File

@@ -0,0 +1,10 @@
SELECT
A.FID
,A.FBILLNO
,AE.FPLANSTARTDATE --<EFBFBD>ƻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
,AE.FPLANFINISHDATE --<EFBFBD>ƻ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
,AE.FPRODUCTTYPE --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
,AE.FWORKSHOPID --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FROM
T_PRD_MO A
LEFT JOIN T_PRD_MOENTRY AE ON A.FID = AE.FID

View File

@@ -0,0 +1,13 @@
CREATE FUNCTION GetProductTypeText(@docStatu int)
RETURNS varchar(10) --<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
as
BEGIN
declare @result varchar(10)
select @result = (CASE @docStatu
WHEN 1 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ'
WHEN 2 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ'
WHEN 3 THEN '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ'
ELSE ''
END)
RETURN @result
END

View File

@@ -0,0 +1,15 @@
create FUNCTION ReturnStatuText(@docStatu varchar(10))
RETURNS varchar(10) --<EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
as
BEGIN
declare @result varchar(10)
select @result = (CASE @docStatu
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)
RETURN @result
END