SELECT
T.FAIL_APPROVAL_CODE,
T.LOT_NO,
T.STOVE_NO,
T.JUDGE_STOVE_NO,
T.MATERIAL_NO,
T.MATERIAL_NAME,
T.PRODUCCODE,
T.PRODUCNAME,
T.STEELCODE,
T.STEELNAME,
T.GRADECODE,
T.GRADENAME,
T.SPEC_CODE,
T.SPEC_NAME,
T.MODEL_CODE,
T.MODEL_DESC,
T.STD_CODE,
T.STD_NAME,
T.STD_STYLE,
T.STD_STYLE_DESC,
T.PRO_ORDER_NO,
T.PROCESS_CDOE,
T.PROCESS_DESC,
T.PLINE_CODE,
T.PLINE_NAME,
T.ACT_DIMATER,
T.ACT_HEIGHT,
T.ACT_LEN,
T.ACT_LEN_MIN,
T.ACT_LEN_MAX,
T.ACT_COUNT,
T.ACT_WEIGHT,
T.BELONG_CODE,
T.BELONG_NAME,
T.TARGET,
T.SCRAP_REASON,
T.BELONG_CODE_RESPONSE,
T.BELONG_NAME_RESPONSE,
T.CREATE_NAME,
TO_CHAR(T.CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS') CREATE_TIME,
T.FRIM_NAME,
TO_CHAR(T.FRIM_TIME, 'YYYY-MM-DD HH24:MI:SS') FRIM_TIME,
DECODE(T.FRIM_FLAG,'0','未审核','1','审核通过','2','审核不通过')FRIM_FLAG,
T.BAL_YEAR_MONTH,
T.CRAFT_NO,
T.CRAFT_PATH,
DECODE(T.IS_FAST,'0','否','1','是') IS_FAST,
T.SCRAP_DESC
FROM YDM_BC_SCRAPFRIM T
WHERE T.SCRAP_TYPE = '0'
DECLARE
V_PROCESS_CODE MAT_BC_M.PROCESS_CDOE%TYPE := NULL;
BEGIN
SELECT T.PROCESS_CODE
INTO V_PROCESS_CODE
FROM COM_BASE_PLINE T
WHERE T.PLINE_CODE = '#PLINE_CODE#';
FOR MYROW IN (SELECT *
FROM MAT_BC_M T
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#'
AND T.PLINE_CODE = '#PLINE_CODE#'
AND T.QCM_STAUS = '22'
AND T.SCRAP_FRIM_FLAG = '1') LOOP
UPDATE MAT_BC_M T
SET T.SCRAP_FRIM_FLAG = '2',
T.JUDGE_RESULT_CODE = '40740705',
T.JUDGE_RESULT = '废品',
T.JUDGE_RESULT_TIME = SYSDATE,
T.BELONG_CODE_RESPONSE = '#BELONG_CODE_RESPONSE#',
T.BELONG_NAME_RESPONSE = '#BELONG_NAME_RESPONSE#'
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.PLINE_CODE = MYROW.PLINE_CODE;
IF (V_PROCESS_CODE = 'F') THEN
UPDATE PORT_HTT_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '1',
T.BAL_YEAR_MONTH_FAIL = '#BAL_YEAR_MONTH#'
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
ELSIF (V_PROCESS_CODE = 'G') THEN
UPDATE PORT_MCH_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '1',
T.BAL_YEAR_MONTH_FAIL = '#BAL_YEAR_MONTH#'
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
ELSIF(V_PROCESS_CODE = 'E')THEN
UPDATE PORT_VRP_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '1',
T.BAL_YEAR_MONTH_FAIL = '#BAL_YEAR_MONTH#'
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
END IF;
END LOOP;
UPDATE YDM_BC_SCRAPFRIM T
SET T.FRIM_FLAG = '1',
T.FRIM_NAME = '#FRIM_NAME#',
T.FRIM_TIME = SYSDATE,
T.BAL_YEAR_MONTH = '#BAL_YEAR_MONTH#',
T.BELONG_CODE_RESPONSE = '#BELONG_CODE_RESPONSE#',
T.BELONG_NAME_RESPONSE = '#BELONG_NAME_RESPONSE#'
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#';
END;
DECLARE
BEGIN
FOR MYROW IN (SELECT *
FROM MAT_BC_M T
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#'
AND T.PLINE_CODE = '#PLINE_CODE#'
AND T.QCM_STAUS = '22'
AND T.SCRAP_FRIM_FLAG = '1') LOOP
UPDATE MAT_BC_M T
SET T.SCRAP_FRIM_FLAG = '0',
T.FAIL_APPROVAL_CODE = ''
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.PLINE_CODE = MYROW.PLINE_CODE;
END LOOP;
UPDATE YDM_BC_SCRAPFRIM T
SET T.FRIM_FLAG = '2',
T.FRIM_NAME = '#FRIM_NAME#',
T.FRIM_TIME = SYSDATE,
T.BAL_YEAR_MONTH = '#BAL_YEAR_MONTH#'
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#';
END;
DECLARE
V_PROCESS_CODE MAT_BC_M.PROCESS_CDOE%TYPE := NULL;
BEGIN
SELECT T.PROCESS_CODE
INTO V_PROCESS_CODE
FROM COM_BASE_PLINE T
WHERE T.PLINE_CODE = '#PLINE_CODE#';
FOR MYROW IN (SELECT *
FROM MAT_BC_M T
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#'
AND T.PLINE_CODE = '#PLINE_CODE#'
AND T.QCM_STAUS = '22'
AND T.SCRAP_FRIM_FLAG = '2') LOOP
UPDATE MAT_BC_M T
SET T.SCRAP_FRIM_FLAG = '1',
T.JUDGE_RESULT_CODE = '',
T.JUDGE_RESULT = '',
T.JUDGE_RESULT_TIME = '',
T.BELONG_CODE_RESPONSE = '',
T.BELONG_NAME_RESPONSE = ''
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.PLINE_CODE = MYROW.PLINE_CODE;
IF (V_PROCESS_CODE = 'F') THEN
UPDATE PORT_HTT_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '0',
T.BAL_YEAR_MONTH_FAIL = ''
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
ELSIF (V_PROCESS_CODE = 'G') THEN
UPDATE PORT_MCH_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '0',
T.BAL_YEAR_MONTH_FAIL = ''
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
ELSIF (V_PROCESS_CODE = 'E') THEN
UPDATE PORT_VRP_BATCH_SAMPLE_RESULT T
SET T.IS_FAIL_CHECK = '0',
T.BAL_YEAR_MONTH_FAIL = ''
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.MAT_STATUS IN ('10', '40');
END IF;
END LOOP;
UPDATE YDM_BC_SCRAPFRIM T
SET T.FRIM_FLAG = '0',
T.FRIM_NAME = '',
T.BELONG_CODE_RESPONSE = '',
T.BELONG_NAME_RESPONSE = ''
WHERE T.FAIL_APPROVAL_CODE = '#FAIL_APPROVAL_CODE#';
END;