SELECT QLTY_CD_CFNM LABEL , QLTY_CD VALUE FROM TBB01_SEQ_QLTY SELECT DISTINCT SUBSTR(SMP_NO , 1 , 10) LABEL , SUBSTR(SMP_NO , 1 , 10) VALUE FROM TBB02_LOT_COM WHERE OVER_SMP_TP IS NULL AND ( SMP_PROG_CD = 'C' OR SMP_PROG_CD = 'D' ) ORDER BY LABEL SELECT 'N' CHK , CCM.COIL_NO , CCM.OLD_SAMPL_NO , LOT.SMP_NO , LOT.SMP_CUT_LOC , LOT.SMP_PROG_CD , LOT.SPEC_ABBSYM , CCM.DCS_THK , LOT.SPEC_STL_GRD , LOT.SMP_DETAIL FROM TBB02_LOT_COM LOT , TBH02_COIL_COMM CCM WHERE LOT.SMP_NO = CCM.SAMPL_NO AND CCM.SMP_DIR_PIC_YN = 'Y' ----------------------------------------------------------------------------------- --SAMPLING_CODE为指示信息,只有当QLTY_CD为SAMP时,代表需要取样,SAMPLING_CODE才会有值 ----------------------------------------------------------------------------------- SELECT 'N' CHK , LOT.SMP_NO --试样号(试样编号) , LOT.SMP_CUT_LOC --试样位置 , LOT.SMP_PROG_CD --试样进程代码 , LOT.SPEC_ABBSYM --标准号 , LOT.SPEC_STL_GRD --标准钢号 , ZC.SM_CFNM ORD_USE_TP --订单用途 ,( SELECT SMP_LOT_CD||SMP_LEN_LOC||SMP_WTH_LOC FROM TBB02_INS_QLTY WHERE SMP_NO = LOT.SMP_NO AND SMP_CUT_LOC = LOT.SMP_CUT_LOC AND QLTY_CD = 'SAMP' ) SAMPLING_CODE , (SELECT LCL.COIL_THK FROM TBB02_LOT_COIL LCL WHERE LCL.SMP_TIT_YN = 'Y' AND LCL.SMP_NO= LOT.SMP_NO AND ROWNUM = 1 ) SMPTHK {1} FROM TBB02_LOT_COM LOT , TBB02_INS_QLTY INS , TBZ00_COMMCD ZC WHERE SUBSTR(LOT.SMP_NO , 1 , 10) = ? AND ZC.LG_CD(+) = 'A01007' AND ZC.SM_CD(+) = LOT.ORD_USE_TP AND ( LOT.SMP_PROG_CD = 'C' OR LOT.SMP_PROG_CD = 'D' ) AND LOT.SMP_NO = INS.SMP_NO AND LOT.SMP_CUT_LOC = INS.SMP_CUT_LOC AND LOT.QLTY_MAN_INS_TP IS NULL AND LOT.OVER_SMP_TP IS NULL GROUP BY LOT.SMP_NO , LOT.SMP_CUT_LOC , LOT.SMP_PROG_CD , LOT.SPEC_ABBSYM , ZC.SM_CFNM , LOT.SPEC_STL_GRD ORDER BY LOT.SMP_NO DESC ----------------------------------------------------------------------------------- --SAMPLING_CODE为指示信息,只有当QLTY_CD为SAMP时,代表需要取样,SAMPLING_CODE才会有值 ----------------------------------------------------------------------------------- SELECT 'N' CHK , LOT.SMP_NO --试样号(试样编号) , LOT.SMP_CUT_LOC --试样位置 , LOT.SMP_PROG_CD --试样进程代码 , LOT.SPEC_ABBSYM --标准号 , LOT.SPEC_STL_GRD --标准钢号 , ZC.SM_CFNM ORD_USE_TP --订单用途 ,( SELECT SMP_LOT_CD||SMP_LEN_LOC||SMP_WTH_LOC FROM TBB02_INS_QLTY WHERE SMP_NO= LOT.SMP_NO AND SMP_CUT_LOC= LOT.SMP_CUT_LOC AND QLTY_CD='SAMP' ) SAMPLING_CODE , (SELECT LCL.COIL_THK FROM TBB02_LOT_COIL LCL WHERE LCL.SMP_TIT_YN = 'Y' AND LCL.SMP_NO= LOT.SMP_NO AND ROWNUM = 1 ) SMPTHK {1} FROM TBB02_LOT_COM LOT , TBB02_INS_QLTY INS , TBZ00_COMMCD ZC WHERE SUBSTR(LOT.SMP_NO , 1 , 10) = ? AND LOT.SMP_PROG_CD = ? AND ZC.LG_CD(+) = 'A01007' AND ZC.SM_CD(+) = LOT.ORD_USE_TP AND LOT.SMP_NO = INS.SMP_NO AND LOT.SMP_CUT_LOC = INS.SMP_CUT_LOC AND LOT.QLTY_MAN_INS_TP IS NULL GROUP BY LOT.SMP_NO , LOT.SMP_CUT_LOC , LOT.SMP_PROG_CD , LOT.SPEC_ABBSYM , ZC.SM_CFNM , LOT.SPEC_STL_GRD ORDER BY LOT.SMP_NO DESC ----------------------------------------------------------------------------------- --SAMPLING_CODE为指示信息,只有当QLTY_CD为SAMP时,代表需要取样,SAMPLING_CODE才会有值 ----------------------------------------------------------------------------------- SELECT 'N' CHK , LOT.SMP_NO --试样号(试样编号) , LOT.SMP_CUT_LOC --试样位置 , LOT.SMP_PROG_CD --试样进程代码 , LOT.SPEC_ABBSYM --标准号 , LOT.SPEC_STL_GRD --标准钢号 , ZC.SM_CFNM ORD_USE_TP --订单用途 ,( SELECT SMP_LOT_CD||SMP_LEN_LOC||SMP_WTH_LOC FROM TBB02_INS_QLTY WHERE SMP_NO= LOT.SMP_NO AND SMP_CUT_LOC= LOT.SMP_CUT_LOC AND QLTY_CD='SAMP' ) SAMPLING_CODE , (SELECT LCL.COIL_THK FROM TBB02_LOT_COIL LCL WHERE LCL.SMP_TIT_YN = 'Y' AND LCL.SMP_NO= LOT.SMP_NO AND ROWNUM = 1 ) SMPTHK {1} FROM TBB02_LOT_COM LOT , TBB02_INS_QLTY INS , TBZ00_COMMCD ZC WHERE LOT.SMP_PROG_CD = ? AND ZC.LG_CD(+) = 'A01007' AND ZC.SM_CD(+) = LOT.ORD_USE_TP AND LOT.SMP_NO = INS.SMP_NO AND LOT.SMP_CUT_LOC = INS.SMP_CUT_LOC AND LOT.QLTY_MAN_INS_TP IS NULL GROUP BY LOT.SMP_NO , LOT.SMP_CUT_LOC , LOT.SMP_PROG_CD , LOT.SPEC_ABBSYM , ZC.SM_CFNM , LOT.SPEC_STL_GRD ORDER BY LOT.SMP_NO DESC , max(decode('{0}' , INS.QLTY_CD , SUBSTR(INS.CONV_SMP_NO , 11))) CD{1} ------------------------------ --若取样位置为W ------------------------------ SELECT AA.* FROM ( SELECT IQY.SMP_NO SMPNO , '' QLTY_SEQ , IQY.QLTY_CD QLTYCD , IQY.QLTY_CD , IQY.QLTY_MIN , IQY.QLTY_MAX , IQY.QLTY_UNIT --------------SMP_CUT_LOC为1时--------------- , max(decode(WQY.SMP_CUT_LOC , '1' , QLTY_VAL_WK)) QLTY_VAL_WK1 , max(decode(WQY.SMP_CUT_LOC , '1' , QLTY_UNIT_WK)) QLTY_UNIT_WK1 --------------SMP_CUT_LOC为2时--------------- , max(decode(WQY.SMP_CUT_LOC , '2' , QLTY_VAL_WK)) QLTY_VAL_WK2 , max(decode(WQY.SMP_CUT_LOC , '2' , QLTY_UNIT_WK)) QLTY_UNIT_WK2 {1} ------------------------------------------------------------------------------------------------------------ --不必考虑TBB02_INS_QLTY中某样片号的位置,因为对于某一个样片号,只可能存在一个位置(即“B”,"T","W"三者对一个样片号只会对应一个) --同理,也不必考虑IQY和WQY两表连接时位置问题 ------------------------------------------------------------------------------------------------------------ FROM TBB02_INS_QLTY IQY , TBB02_WORK_QLTY WQY WHERE IQY.SMP_NO = WQY.SMP_NO AND IQY.QLTY_CD = WQY.QLTY_CD AND IQY.QLTY_CD != 'SAMP' AND IQY.SMP_NO = ? AND IQY.CONV_SMP_NO_FLAG IS NULL GROUP BY IQY.SMP_NO , IQY.QLTY_CD , IQY.QLTY_CD , IQY.QLTY_MIN , IQY.QLTY_MAX , IQY.QLTY_UNIT UNION ALL SELECT REQ.SMP_NO , REQ.QLTY_SEQ , REQ.QLTY_CD QLTYCD , REQ.QLTY_CD , NULL , NULL , NULL , max(decode(REQ.SMP_CUT_LOC , '1' , REQ.QLTY_VAL_WK)) QLTY_VAL_WK1 , max(decode(REQ.SMP_CUT_LOC , '1' , REQ.QLTY_UNIT_WK)) QLTY_UNIT_WK1 , max(decode(REQ.SMP_CUT_LOC , '2' , REQ.QLTY_VAL_WK)) QLTY_VAL_WK2 , max(decode(REQ.SMP_CUT_LOC , '2' , REQ.QLTY_UNIT_WK)) QLTY_UNIT_WK2 {2} FROM TBB02_REWORK_QLTY REQ , TBB02_INS_QLTY IQY WHERE REQ.SMP_NO = ? AND REQ.SMP_NO = IQY.SMP_NO AND REQ.QLTY_CD = IQY.QLTY_CD AND REQ.QLTY_CD != 'SAMP' AND IQY.CONV_SMP_NO_FLAG IS NULL GROUP BY REQ.SMP_NO , REQ.QLTY_SEQ , REQ.QLTY_CD , REQ.QLTY_CD ) AA ORDER BY AA.QLTY_CD , AA.QLTY_SEQ ASC ------------------------------ --若取样位置非W ------------------------------ SELECT * FROM ( SELECT IQY.SMP_NO SMPNO , '' QLTY_SEQ , IQY.QLTY_CD QLTYCD , IQY.QLTY_CD , IQY.QLTY_MIN , IQY.QLTY_MAX , IQY.QLTY_UNIT , QLTY_VAL_WK QLTY_VAL_WK1 , QLTY_UNIT_WK QLTY_UNIT_WK1 {1} ------------------------------------------------------------------------------------------------------------ --不必考虑TBB02_INS_QLTY中某样片号的位置,因为对于某一个样片号,只可能存在一个位置(即“B”,"T","W"三者对一个样片号只会对应一个) --同理,也不必考虑IQY和WQY两表连接时位置问题 ------------------------------------------------------------------------------------------------------------ FROM TBB02_INS_QLTY IQY , TBB02_WORK_QLTY WQY WHERE IQY.SMP_NO = WQY.SMP_NO AND IQY.QLTY_CD = WQY.QLTY_CD AND IQY.QLTY_CD != 'SAMP' AND IQY.SMP_NO = ? AND IQY.CONV_SMP_NO_FLAG IS NULL GROUP BY IQY.SMP_NO ,IQY.QLTY_CD ,IQY.QLTY_CD ,IQY.QLTY_MIN ,IQY.QLTY_MAX ,IQY.QLTY_UNIT ,QLTY_VAL_WK ,QLTY_UNIT_WK UNION ALL SELECT REQ.SMP_NO , REQ.QLTY_SEQ , REQ.QLTY_CD QLTYCD , REQ.QLTY_CD , NULL , NULL , NULL , QLTY_VAL_WK QLTY_VAL_WK1 , QLTY_UNIT_WK QLTY_UNIT_WK1 {2} FROM TBB02_REWORK_QLTY REQ , TBB02_INS_QLTY IQY WHERE REQ.SMP_NO = ? AND REQ.SMP_NO = IQY.SMP_NO AND REQ.QLTY_CD = IQY.QLTY_CD AND REQ.QLTY_CD != 'SAMP' AND IQY.CONV_SMP_NO_FLAG IS NULL GROUP BY REQ.SMP_NO , REQ.QLTY_SEQ , REQ.QLTY_CD , REQ.QLTY_CD , QLTY_VAL_WK , QLTY_UNIT_WK ) AA ORDER BY AA.QLTY_CD , AA.QLTY_SEQ ASC ,( SELECT DISTINCT substr(SMP_NO , 11) FROM TBB02_INS_QLTY X WHERE X.QLTY_CD = IQY.QLTY_CD AND SMP_NO||SMP_CUT_LOC = '{0}' AND CONV_SMP_NO_FLAG = 'Y' ) SMP{1} SELECT DISTINCT SMP_NO||SMP_CUT_LOC SMP FROM TBB02_INS_QLTY A WHERE QLTY_CD||CONV_SMP_NO||CONV_SMP_CUT_LOC = ( SELECT QLTY_CD||CONV_SMP_NO||CONV_SMP_CUT_LOC FROM TBB02_INS_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND CONV_SMP_NO_FLAG IS NULL AND QLTY_CD = A.QLTY_CD AND A.SMP_NO != SMP_NO AND QLTY_CD != 'SAMP' ) SELECT SMP_NO FROM TBB02_INS_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? AND SMP_NO = ? SELECT 1 FROM TBB02_INS_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND SMP_NO = ? SELECT 1 FROM TBB02_WORK_QLTY WHERE SMP_NO = ? -- AND SMP_CUT_LOC = ? AND QLTY_VAL_WK|| QLTY_UNIT_WK IS NULL SELECT 1 FROM TBB02_REWORK_QLTY WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_VAL_WK|| QLTY_UNIT_WK IS NULL UPDATE TBB02_INS_QLTY SET CONV_SMP_NO_FLAG = ? --有变动的 , CONV_SMP_NO = ? , CONV_SMP_UPDATE_TP = 'Y' --只要被修改,CONV_SMP_UPDATE_TP的值就是Y WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? UPDATE TBB02_WORK_QLTY SET QLTY_VAL_WK = ? , QLTY_UNIT_WK = ? , QLTY_WK_TP = 'M' --若实绩是从2级传上来,则为R,若是在MES修改的,则值为M WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? UPDATE TBB02_REWORK_QLTY SET QLTY_VAL_WK = ? , QLTY_UNIT_WK = ? , QLTY_WK_TP = 'M' --若实绩是从2级传上来,则为R,若是在MES修改的,则值为M WHERE SMP_NO = ? AND SMP_CUT_LOC = ? AND QLTY_CD = ? AND QLTY_SEQ = ? UPDATE TBB02_LOT_COM SET SMP_WORK_DTIME = to_char(sysdate , 'YYYYMMDDHH24MISS') , SMP_PROG_CD = 'D' --进程状态变为判定待机状态 WHERE SMP_NO = ? AND SMP_CUT_LOC = ? SELECT 'N' CHK ,B.OLD_SAMPL_NO --钢卷号 ,A.SMP_NO --试样号 ,A.SMP_CUT_LOC --位置 ,A.SPEC_ABBSYM --标准号 ,A.SPEC_STL_GRD ,B.INSTR_COIL_THK --钢卷厚度 ,A.SMP_WORK_DTIME --检验时间 ,A.QLTY_MAN_INS_TP --是否为手工判定 ,decode(A.OVER_SMP_TP , NULL , NULL , 'Y') OVER_SMP_TP --是否为复样 ,A.SMP_DETAIL FROM TBB02_LOT_COM A , TBH02_COIL_COMM B , ( SELECT DISTINCT SMP_NO FROM TBB02_WORK_QLTY MINUS SELECT DISTINCT SMP_NO FROM TBB02_WORK_QLTY WHERE QLTY_VAL_WK||QLTY_UNIT_WK IS NULL )TNL WHERE SMP_PROG_CD = 'D' AND A.SMP_NO = B.SAMPL_NO AND A.SMP_NO = TNL.SMP_NO --需要都存在实绩 AND B.SMP_DIR_PIC_YN = 'Y' --被选择的钢卷号 AND A.QLTY_DCS_TP IS NULL --非‘Y’,表未进入可判定状态 -- AND B.MATLQLTY_DEC_GRD IS NULL ORDER BY B.OLD_SAMPL_NO UPDATE TBB02_LOT_COM SET QLTY_DCS_TP = 'Y' --表示样片检验完成,可做判定,判定时是根据其值是否为Y来确定是否做判定的 WHERE SMP_NO = ? AND SMP_CUT_LOC = ? UPDATE TBH02_COIL_COMM SET MATLQLTY_DEC_EMP_ID = ? WHERE OLD_SAMPL_NO = ? UPDATE TBB02_LOT_COM T SET T.SMP_DETAIL = ? WHERE T.SMP_NO = ? {call ZL_HOST_DCS02.DCS_COIL_QLTY(?,?,?,?)} {call ZL_HOST_DCS02.DCS_MANS_RECODE(?,?,?,?)} SELECT CC.COIL_NO , CC.ORD_NO , CC.ORD_SEQ , CC.ORD_FL , CC.ACT_WGT , CC.CUR_PROG_CD , CC.BEF_PROG_CD FROM TBH02_COIL_COMM CC , ( SELECT LCL.COIL_NO FROM TBB02_LOT_COIL LCL , TBB02_LOT_COM LCM WHERE LCL.SMP_NO = LCM.SMP_NO AND LCL.SMP_CUT_LOC = LCM.SMP_CUT_LOC AND LCM.SMP_NO = ? AND LCM.SMP_CUT_LOC = ? ) LL WHERE CC.COIL_NO = LL.COIL_NO SELECT CUR_PROG_CD , BEF_PROG_CD FROM TBH02_COIL_COMM WHERE COIL_NO = ? SELECT COIL_NO FROM TBB02_LOT_COIL WHERE SMP_NO = ?