SELECT QLTY_CD_CFNM LABEL , QLTY_CD VALUE FROM TBB01_SEQ_QLTY SELECT DISTINCT substr(A.SMP_NO , 1 , 10) LABEL , substr(A.SMP_NO , 1 , 10) VALUE FROM TBB02_LOT_COIL A , TBB02_LOT_COM B , TBH02_COIL_COMM C WHERE A.COIL_NO = C.COIL_NO AND A.SMP_NO = B.SMP_NO AND A.SMP_CUT_LOC = B.SMP_CUT_LOC AND C.MATLQLTY_DEC_GRD = '2' AND C.TOT_DEC_GRD IS NULL SELECT DISTINCT substr(A.SMP_NO , 11) LABEL , substr(A.SMP_NO , 11) VALUE FROM TBB02_LOT_COIL A , TBB02_LOT_COM B , TBH02_COIL_COMM C WHERE A.COIL_NO = C.COIL_NO AND A.SMP_NO = B.SMP_NO AND A.SMP_CUT_LOC = B.SMP_CUT_LOC AND C.MATLQLTY_DEC_GRD = '2' AND C.TOT_DEC_GRD IS NULL AND substr(A.SMP_NO , 1 , 10) = ? SELECT 'N' CHK , A.COIL_NO --钢卷号 , A.SMP_TIT_YN --是否取样 , A.SMP_NO --试样号 , A.SMP_CUT_LOC --取样位置 , A.ORD_NO||A.ORD_SEQ ORD ---订单号 , ( SELECT SMP_LOT_CD||SMP_LEN_LOC||SMP_WTH_LOC FROM TBB02_INS_QLTY WHERE SMP_NO = B.SMP_NO AND SMP_CUT_LOC = B.SMP_CUT_LOC AND QLTY_CD = 'SAMP' ) SAMPLINGCODE --取样代码 , B.EXAMORG_CD --检验机关 , B.SPEC_ABBSYM --标准号 , B.SPEC_STL_GRD --标准钢号 , B.ORD_USE_TP --订单用途 , A.COIL_THK --钢卷厚度 , A.QLTY_MAN_DEC_GRD --材质结果 , B.QLTY_MAN_INS_TP --是否为手工判定 , C.MATLQLTY_DEC_GRD FROM TBB02_LOT_COIL A , TBB02_LOT_COM B , TBH02_COIL_COMM C WHERE A.COIL_NO = C.COIL_NO AND A.SMP_NO = B.SMP_NO AND A.SMP_CUT_LOC = B.SMP_CUT_LOC AND C.TOT_DEC_GRD IS NULL ---------------------------------------------------------------------------- --取样位置非W的情况下 ---------------------------------------------------------------------------- SELECT 'N' CHK , X.* , Y.QLTY_DCS_RST , Y.COIL_NO COIL_NO1 , decode(Y.QLTY_CD , null , 'Y') EX FROM (SELECT A.SMP_NO SMP_NO1 , A.SMP_CUT_LOC SMP_CUT_LOC1 , A.QLTY_CD , to_number('') QLTY_SEQ --实验次数 , A.QLTY_CD QLTY_NM , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_UNIT , B.QLTY_VAL_WK QLTY_VAL_WK1 --实绩值 , B.QLTY_UNIT_WK QLTY_UNIT_WK1 --类型 FROM TBB02_INS_QLTY A , TBB02_WORK_QLTY B WHERE (A.SMP_NO = B.SMP_NO AND A.SMP_CUT_LOC = B.SMP_CUT_LOC AND A.QLTY_CD = B.QLTY_CD) AND A.SMP_NO = ? AND A.SMP_CUT_LOC = ? ) X LEFT JOIN TBB02_DCS_QLTY Y --可能还未判定,所以这里需要使用左连接 ON X.QLTY_CD = Y.QLTY_CD AND Y.COIL_NO = ? WHERE X.QLTY_CD != 'SAMP' UNION SELECT 'N' CHK , X.* , Y.QLTY_DCS_RST , Y.COIL_NO COIL_NO1 , decode(Y.QLTY_CD , null , 'Y') EX FROM (SELECT A.SMP_NO SMP_NO1 , A.SMP_CUT_LOC SMP_CUT_LOC1 , A.QLTY_CD , B.QLTY_SEQ --实验次数 , A.QLTY_CD QLTY_NM , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_UNIT , B.QLTY_VAL_WK QLTY_VAL_WK1 --实绩值 , B.QLTY_UNIT_WK QLTY_UNIT_WK1 --类型 FROM TBB02_INS_QLTY A , TBB02_REWORK_QLTY B WHERE (A.SMP_NO = B.SMP_NO AND A.SMP_CUT_LOC = B.SMP_CUT_LOC AND A.QLTY_CD = B.QLTY_CD) AND A.SMP_NO = ? AND A.SMP_CUT_LOC = ? ) X LEFT JOIN TBB02_REDCS_QLTY Y --可能还未判定,所以这里需要使用左连接 ON X.QLTY_CD = Y.QLTY_CD AND X.QLTY_SEQ = Y.QLTY_SEQ AND Y.COIL_NO = ? WHERE X.QLTY_CD != 'SAMP' ------------------------------------------------------------------------- --取样位置为W时 ------------------------------------------------------------------------- SELECT 'N' CHK , X.* , Y.QLTY_DCS_RST , Y.COIL_NO COIL_NO1 , decode(Y.QLTY_CD , null , 'Y') EX FROM (SELECT A.SMP_NO SMP_NO1 , A.SMP_CUT_LOC SMP_CUT_LOC1 , A.QLTY_CD , to_number('') QLTY_SEQ --实验次数 , A.QLTY_CD QLTY_NM , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_TYPE , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W1' , QLTY_VAL_WK)) QLTY_VAL_WK1 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W1' , QLTY_UNIT_WK)) QLTY_UNIT_WK1 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W2' , QLTY_VAL_WK)) QLTY_VAL_WK2 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W2' , QLTY_UNIT_WK)) QLTY_UNIT_WK2 FROM TBB02_INS_QLTY A , TBB02_WORK_QLTY B WHERE (A.SMP_NO = B.SMP_NO AND A.QLTY_CD = B.QLTY_CD) AND A.SMP_NO = ? GROUP BY A.SMP_NO , A.SMP_CUT_LOC , A.QLTY_CD , A.QLTY_CD , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_TYPE ) X LEFT JOIN TBB02_DCS_QLTY Y ON X.QLTY_CD = Y.QLTY_CD AND Y.COIL_NO = ? WHERE X.QLTY_CD != 'SAMP' UNION SELECT 'N' CHK , X.* , Y.QLTY_DCS_RST , Y.COIL_NO COIL_NO1 , decode(Y.QLTY_CD , null , 'Y') EX FROM (SELECT A.SMP_NO SMP_NO1 , A.SMP_CUT_LOC SMP_CUT_LOC1 , A.QLTY_CD , B.QLTY_SEQ --实验次数 , A.QLTY_CD QLTY_NM , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_TYPE , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W1' , QLTY_VAL_WK)) QLTY_VAL_WK1 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W1' , QLTY_UNIT_WK)) QLTY_UNIT_WK1 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W2' , QLTY_VAL_WK)) QLTY_VAL_WK2 , max(decode(A.SMP_CUT_LOC||B.SMP_CUT_LOC , 'W2' , QLTY_UNIT_WK)) QLTY_UNIT_WK2 FROM TBB02_INS_QLTY A , TBB02_REWORK_QLTY B WHERE (A.SMP_NO = B.SMP_NO AND A.QLTY_CD = B.QLTY_CD) AND A.SMP_NO = ? GROUP BY A.SMP_NO , A.SMP_CUT_LOC , A.QLTY_CD , B.QLTY_SEQ , A.QLTY_CD , A.QLTY_MIN , A.QLTY_MAX , A.QLTY_TYPE ) X LEFT JOIN TBB02_REDCS_QLTY Y ON X.QLTY_CD = Y.QLTY_CD AND X.QLTY_SEQ = Y.QLTY_SEQ AND Y.COIL_NO = ? WHERE X.QLTY_CD != 'SAMP' UPDATE TBB02_LOT_COIL SET QLTY_MAN_DEC_GRD = ? WHERE COIL_NO = ? UPDATE TBB02_LOT_COM SET SMP_PROG_CD = 'D' , MOD_ID = ? , MOD_DTIME = TO_CHAR(SYSDATE , 'YYYYMMDDHH24MIHH') WHERE SMP_NO = ? AND SMP_CUT_LOC = ? UPDATE TBB02_LOT_COM SET QLTY_MAN_INS_TP = ? --手工判定 , MOD_ID = ? --修改人 , MOD_DTIME = TO_CHAR(SYSDATE , 'YYYYMMDDHH24MIHH') --修改时间 WHERE SMP_NO = ? AND SMP_CUT_LOC = ? UPDATE TBB02_WORK_QLTY SET QLTY_VAL_WK = ? ,QLTY_UNIT_WK = ? ,QLTY_WK_TP = 'M' --'M'表示被修改了 WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? UPDATE TBB02_REWORK_QLTY SET QLTY_VAL_WK = ? ,QLTY_UNIT_WK = ? WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? AND QLTY_SEQ = ? UPDATE TBB02_REDCS_QLTY SET QLTY_DCS_RST = ? WHERE COIL_NO = ? AND QLTY_CD = ? AND QLTY_SEQ = ? UPDATE TBB02_DCS_QLTY SET QLTY_DCS_RST = ? WHERE COIL_NO = ? AND QLTY_CD = ? DELETE FROM TBB02_REWORK_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? AND QLTY_SEQ = ? DELETE FROM TBB02_REDCS_QLTY WHERE QLTY_DCS_RST = ? AND COIL_NO = ? AND QLTY_CD = ? AND QLTY_SEQ = ? INSERT INTO TBB02_REWORK_QLTY( QLTY_CD , QLTY_SEQ , QLTY_VAL_WK , QLTY_UNIT_WK , SMP_NO , SMP_CUT_LOC ) VALUES(?,?,?,?,?,?) INSERT INTO TBB02_REDCS_QLTY( COIL_NO , QLTY_CD , QLTY_SEQ , QLTY_DCS_RST )VALUES(?,?,?,?) INSERT INTO TBB02_DCS_QLTY(COIL_NO , QLTY_CD , QLTY_DCS_RST) VALUES(?,?,?) {call NIB020161(?,?,?,?)}