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 = ?