SELECT CAST_NO,
MATERIAL_NO,
MATERIAL_NAME,
SUM(ACT_THEORY_WEIGHT) ACT_THEORY_WEIGHT,
GRADECODE,
GRADENAME,
BELONG_CODE,
BELONG_NAME,
BAL_YEAR_MONTH
FROM (SELECT T.CAST_NO,
T.MATERIAL_NO,
T.MATERIAL_NAME,
SUM(T.ACT_THEORY_WEIGHT) ACT_THEORY_WEIGHT,
T.GRADECODE,
T.GRADENAME,
T.BELONG_CODE,
T.BELONG_NAME,
T.BAL_YEAR_MONTH
FROM STL_LG_CASTING_SCRAP T
WHERE 1 = 1 #BAL_YEAR_MONTH# #CAST_NO#
GROUP BY T.CAST_NO,
T.MATERIAL_NO,
T.MATERIAL_NAME,
T.GRADECODE,
T.GRADENAME,
T.BELONG_CODE,
T.BELONG_NAME,
T.BAL_YEAR_MONTH
UNION ALL
SELECT T.CAST_NO,
T.MATERIAL_NO,
T.MATERIAL_NAME,
SUM(T.ACT_THEORY_WEIGHT) ACT_THEORY_WEIGHT,
T.GRADECODE,
T.GRADENAME,
T.BELONG_CODE,
T.BELONG_NAME,
T.BAL_YEAR_MONTH
FROM MAT_GP_M T, YDM_GP_BUTTRESS S
WHERE T.MAT_NO = S.MAT_NO
AND (T.QCM_STAUS = '22' OR
T.QCM_STAUS = '00' AND T.JUDGE_RESULT_CODE = '40740704')
#BAL_YEAR_MONTH# #CAST_NO#
GROUP BY T.CAST_NO,
T.MATERIAL_NO,
T.MATERIAL_NAME,
T.GRADECODE,
T.GRADENAME,
T.BELONG_CODE,
T.BELONG_NAME,
T.BAL_YEAR_MONTH)
GROUP BY CAST_NO,
MATERIAL_NO,
MATERIAL_NAME,
GRADECODE,
GRADENAME,
BELONG_CODE,
BELONG_NAME,
BAL_YEAR_MONTH
SELECT * FROM STL_LG_CASTING_SCRAP_HISTORY T WHERE 1 = 1 #BAL_YEAR_MONTH# #CAST_NO#
SELECT 'HF' || TO_CHAR(SYSDATE, 'YYYYMMDD') ||
LPAD(NVL(MAX(SUBSTR(T.BACK_WASTE_NO, 11,4)), 0) + 1, 4, 0) BACK_WASTE_NO
FROM STL_LG_CASTING_SCRAP_HISTORY T
WHERE TRUNC(T.CREATE_TIME) = TRUNC(SYSDATE)
INSERT INTO STL_LG_CASTING_SCRAP_HISTORY(
BACK_WASTE_NO,
STOVE_NO,
CAST_NO,
MATERIAL_NO,
MATERIAL_NAME,
GRADECODE,
GRADENAME,
ACT_THEORY_WEIGHT,
BELONG_CODE,
BELONG_NAME,
EF_PLINE_CODE,
EF_PLINE_NAME,
CREATE_NAME,
CREATE_TIME,
BAL_YEAR_MONTH)
VALUES(
'#BACK_WASTE_NO#',
'#STOVE_NO#',
'#CAST_NO#',
'#MATERIAL_NO#',
'#MATERIAL_NAME#',
'#GRADECODE#',
'#GRADENAME#',
'#ACT_THEORY_WEIGHT#',
'#BELONG_CODE#',
'#BELONG_NAME#',
'#EF_PLINE_CODE#',
'#EF_PLINE_NAME#',
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
'#BAL_YEAR_MONTH#')
DECLARE
BEGIN
UPDATE STL_LG_CASTING_SCRAP T
SET T.IS_SCRAP = '1'
WHERE T.CAST_NO = '#CAST_NO#';
FOR MYROW IN (SELECT T.MAT_NO
FROM MAT_GP_M T
WHERE (T.QCM_STAUS = '22' OR T.QCM_STAUS = '00' AND T.JUDGE_RESULT_CODE = '40740704')
AND T.CAST_NO = '#CAST_NO#'
ORDER BY T.MAT_NO DESC) LOOP
DELETE FROM MAT_GP_M T WHERE T.MAT_NO = MYROW.MAT_NO;
DELETE FROM YDM_GP_BUTTRESS S WHERE S.MAT_NO = MYROW.MAT_NO;
END LOOP;
END;