SELECT T.INSTOCK_DOC,
T.LOT_NO,
T.JUDGE_STOVE_NO,
T.BATCH_NO,
T.BATCH_GROUD_NO,
T.PRODUCCODE,
T.PRODUCNAME,
T.STD_CODE,
T.STD_NAME,
T.STEELCODE,
T.STEELNAME,
T.STD_STYLE,
T.STD_STYLE_DESC,
T.SPEC_CODE,
T.SPEC_NAME,
T.MODEL_CODE,
T.MODEL_DESC,
T.ACT_DIMATER,
T.ACT_HEIGHT,
TO_CHAR(T.ACT_LEN_MIN, 'FM999990.00') AS ACT_LEN_MIN,
TO_CHAR(T.ACT_LEN_MAX, 'FM999990.00') AS ACT_LEN_MAX,
SUM(T.ACT_COUNT) AS ACT_COUNT,
TO_CHAR(SUM(T.ACT_WEIGHT), 'FM999999990.000') AS ACT_WEIGHT,
TO_CHAR(SUM(T.ACT_LEN), 'FM999990.000') ACT_LEN,
T.BELONG_CODE,
T.BELONG_NAME,
B.STORAGE_NO,
T.MEMO,
T.CREATE_NAME,
MAX(TO_CHAR(T.INSTOCK_TIME, 'YYYY-MM-DD HH24:MI:SS')) AS INSTOCK_TIME,
MAX(TO_CHAR(T.IN_TIME_F, 'YYYY-MM-DD')) AS IN_TIME_F,
TO_CHAR(TO_DATE(T.BAL_YEAR_MONTH, 'YYYY-MM'), 'YYYY-MM') AS BAL_YEAR_MONTH,
T.ORDER_NO,
T.ORDER_SEQ,
T.DELIVERY_NO,
T.JUDGE_STD_CODE,
T.JUDGE_STD_NAME,
T.PLINE_CODE,
T.PLINE_NAME,
T.GRADECODE,
T.GRADENAME,
T.MATERIAL_NO,
T.MATERIAL_NAME,
DECODE(T.PRODUCT_FLAG,
'801401',
'在制品',
'801402',
'成品',
'801403',
'商品') PRODUCT_FLAG,
T.MAT_STATUS,
T.PIPMEMO,
T.PRO_PLAN_ID,
T.GX_PLAN_NO,
DECODE(B.STORAGE_NO,NULL,'已倒运','未倒运') STATUS
FROM YDM_BC_INLIST T LEFT JOIN ( SELECT M.MAT_NO,B.STORAGE_NO
FROM MAT_BC_M M, YDM_BC_BUTTRESS B, COM_BASE_PLINE C
WHERE M.MAT_NO = B.MAT_NO
AND B.STORAGE_NO = C.OUT_REPOSITORY
AND M.PLINE_CODE = C.PLINE_CODE
UNION ALL
SELECT M.MAT_NO,B.STORAGE_NO
FROM MAT_ZC_M M, YDM_ZC_BUTTRESS B, COM_BASE_PLINE C
WHERE M.MAT_NO = B.MAT_NO
AND B.STORAGE_NO = C.OUT_REPOSITORY
AND M.PLINE_CODE = C.PLINE_CODE
) B ON T.MAT_NO = B.MAT_NO
WHERE T.INSTOCK_TYPE_CODE = '800701'
AND T.HAND_FLAG = '0'
AND T.QCM_STAUS = '00'
NVL(P.MAX_LEN, O.LENGTHMAX) AND NVL(O.SIGL_LEN, 0) <=0 THEN CEIL(T.ACT_LEN - NVL(P.MAX_LEN, O.LENGTHMAX)) + NVL(P.MAX_LEN, O.LENGTHMAX)
---小于合同范围 1m 1个范围
WHEN T.ACT_LEN 0 THEN
--- 长度大于合同最小值
CASE WHEN T.ACT_LEN >= O.LENGTHMIN THEN
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
-- 最大值超出合同最大值 取合同最大值
CASE WHEN O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN) + 1) > O.LENGTHMAX THEN
O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN) + 1)
ELSE
O.LENGTHMAX
END
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
END
ELSE --- 长度大于合同最小值
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
(O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN)-1))
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
END
END
----没单倍尺 取已经存储规则的最大值
ELSE
GROUP_MAX
END
END
ELSE
T.ACT_LEN
END
ACT_LEN_MAX,
case when PR.PRODUC_TYPE IN ('B','A') THEN ----
--- 大于合同范围 1m 1个范围
CASE WHEN T.ACT_LEN > NVL(P.MAX_LEN, O.LENGTHMAX) AND NVL(O.SIGL_LEN, 0) <=0 THEN CEIL(T.ACT_LEN - NVL(P.MAX_LEN, O.LENGTHMAX)) + NVL(P.MAX_LEN, O.LENGTHMAX) - 1
---小于合同范围 1m 1个范围
WHEN T.ACT_LEN 0 THEN
--- 长度大于合同最小值
CASE WHEN T.ACT_LEN >= O.LENGTHMIN THEN
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN)) +ENDLEN_SPECSTD
--长度在单倍尺的公差范围
ELSE O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))
END
ELSE --- 长度大于合同最小值
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
(O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN)))
END
END
----没单倍尺 取已经存储规则的最大值
ELSE
GROUP_MIN
END
END
ELSE
T.ACT_LEN
END
ACT_LEN_MIN
FROM PORT_MCH_BATCH_SAMPLE_RESULT T
LEFT JOIN PLN_ZY_JGX_M M
ON M.HEAT_PLAN_NO = T.HEAT_PLAN_NO
LEFT JOIN com_base_product PR
ON M.PRODUCCODE = PR.PRODUCCODE
LEFT JOIN PLN_ORDER_JGX_S O
ON M.PRO_PLAN_ID = O.PRO_PLAN_ID
AND M.GX_PLAN_NO = O.GX_PLAN_NO
LEFT JOIN MCH_GROUPNO G
ON G.ORDER_NO = M.ORDER_NO || '/' || M.ORDER_SEQ
AND T.ACT_LEN <
NVL(DECODE(GROUP_MAX_SIGN, '<=', GROUP_MAX + 0.001, GROUP_MAX),
T.ACT_LEN + 0.001)
AND T.ACT_LEN >
NVL(DECODE(GROUP_MIN_SIGN, '>=', GROUP_MIN - 0.001, GROUP_MIN),
T.ACT_LEN - 0.001)
AND ROWNUM = 1
LEFT JOIN (SELECT ORDER_NO,
MAX(GROUP_MAX) MAX_LEN,
MIN(GROUP_MIN) MIN_LEN
FROM MCH_GROUPNO
WHERE FLAG = '1'
GROUP BY ORDER_NO) P
ON P.ORDER_NO = M.ORDER_NO || '/' || M.ORDER_SEQ
WHERE T.HEAT_PLAN_NO =?
AND T.PHY_BATCH_NO = ?
AND T.MAT_STATUS = '00'
AND T.INSTORE_FLAG = NVL(?,T.INSTORE_FLAG)
AND T.VALIDFLAG = '1') T1
GROUP BY T1.HEAT_PLAN_NO,
T1.JUDGE_STOVE_NO,
T1.IS_SAMPLE_PIPE,
T1.PHY_BATCH_NO,
T1.GROUP_NO,
T1.OUTNUM_CUT,
T1.TR_FLAG,
T1.FLAG_STOVE_NO,
T1.ACT_LEN_MAX,
T1.ACT_LEN_MIN,
T1.INSTORE_FLAG
ORDER BY HEAT_PLAN_NO,
JUDGE_STOVE_NO,
PHY_BATCH_NO,
INSTORE_FLAG,
OUTNUM_CUT,
TR_FLAG,
GROUP_NO,
ACT_LEN_MAX
]]>
NVL(P.MAX_LEN, O.LENGTHMAX) AND NVL(O.SIGL_LEN, 0) <=0 THEN CEIL(T.ACT_LEN - NVL(P.MAX_LEN, O.LENGTHMAX)) + NVL(P.MAX_LEN, O.LENGTHMAX)
---小于合同范围 1m 1个范围
WHEN T.ACT_LEN 0 THEN
--- 长度大于合同最小值
CASE WHEN T.ACT_LEN >= O.LENGTHMIN THEN
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
-- 最大值超出合同最大值 取合同最大值
CASE WHEN O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN) + 1) > O.LENGTHMAX THEN
O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN) + 1)
ELSE
O.LENGTHMAX
END
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
END
ELSE --- 长度大于合同最小值
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
(O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN)-1))
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
END
END
----没单倍尺 取已经存储规则的最大值
ELSE
GROUP_MAX
END
END
ELSE
T.ACT_LEN
END ACT_LEN_MAX,
case when PR.PRODUC_TYPE IN ('B','A') THEN ----
--- 大于合同范围 1m 1个范围
CASE WHEN T.ACT_LEN > NVL(P.MAX_LEN, O.LENGTHMAX) THEN CEIL(T.ACT_LEN - NVL(P.MAX_LEN, O.LENGTHMAX)) + NVL(P.MAX_LEN, O.LENGTHMAX) - 1
---小于合同范围 1m 1个范围
WHEN T.ACT_LEN 0 THEN
--- 长度大于合同最小值
CASE WHEN T.ACT_LEN >= O.LENGTHMIN THEN
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN)) +ENDLEN_SPECSTD
--长度在单倍尺的公差范围
ELSE O.LENGTHMIN + O.SIGL_LEN * (FLOOR((T.ACT_LEN - O.LENGTHMIN) / O.SIGL_LEN))
END
ELSE --- 长度大于合同最小值
--长度不在 单倍尺的公差范围
CASE WHEN T.ACT_LEN - (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) > O.ENDLEN_SPECSTD THEN
(O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN))) + O.ENDLEN_SPECSTD
--长度在单倍尺的公差范围
ELSE (O.LENGTHMIN - O.SIGL_LEN * (CEIL((O.LENGTHMIN - T.ACT_LEN) / O.SIGL_LEN)))
END
END
----没单倍尺 取已经存储规则的最大值
ELSE
GROUP_MIN
END
END
ELSE
T.ACT_LEN
END ACT_LEN_MIN
FROM PORT_MCH_BATCH_SAMPLE_RESULT T
LEFT JOIN PLN_ZY_JGX_M M
ON M.HEAT_PLAN_NO = T.HEAT_PLAN_NO
LEFT JOIN com_base_product PR
ON M.PRODUCCODE = PR.PRODUCCODE
LEFT JOIN PLN_ORDER_JGX_S O
ON M.PRO_PLAN_ID = O.PRO_PLAN_ID
AND M.GX_PLAN_NO = O.GX_PLAN_NO
LEFT JOIN MCH_GROUPNO G
ON G.ORDER_NO = M.ORDER_NO || '/' || M.ORDER_SEQ
AND T.ACT_LEN <
NVL(DECODE(GROUP_MAX_SIGN, '<=', GROUP_MAX + 0.001, GROUP_MAX),
T.ACT_LEN + 0.001)
AND T.ACT_LEN >
NVL(DECODE(GROUP_MIN_SIGN, '>=', GROUP_MIN - 0.001, GROUP_MIN),
T.ACT_LEN - 0.001)
AND ROWNUM = 1
LEFT JOIN (SELECT ORDER_NO,
MAX(GROUP_MAX) MAX_LEN,
MIN(GROUP_MIN) MIN_LEN
FROM MCH_GROUPNO
WHERE FLAG = '1'
GROUP BY ORDER_NO) P
ON P.ORDER_NO = M.ORDER_NO || '/' || M.ORDER_SEQ
WHERE T.HEAT_PLAN_NO =?
AND T.PHY_BATCH_NO = ?
AND T.MAT_STATUS = '00'
AND T.VALIDFLAG = '1'
AND G.GROUP_NO IS NULL) T1
GROUP BY T1.HEAT_PLAN_NO,
T1.JUDGE_STOVE_NO,
T1.IS_SAMPLE_PIPE,
T1.PHY_BATCH_NO,
T1.GROUP_NO,
T1.OUTNUM_CUT,
T1.TR_FLAG,
T1.FLAG_STOVE_NO,
T1.ACT_LEN_MAX,
T1.ACT_LEN_MIN,
T1.INSTORE_FLAG
ORDER BY HEAT_PLAN_NO,
JUDGE_STOVE_NO,
PHY_BATCH_NO,
INSTORE_FLAG,
OUTNUM_CUT,
TR_FLAG,
GROUP_NO,
ACT_LEN_MAX
]]>
SELECT NVL(SUM(S.ACT_COUNT),'0')ACOUNT
FROM PORT_MCH_BATCH_SAMPLE_RESULT S
WHERE S.MAT_STATUS = '00'
AND S.INSTORE_FLAG = '0'
AND S.HEAT_PLAN_NO = ?
AND S.JUDGE_STOVE_NO = ?
AND S.PHY_BATCH_NO = ?
AND S.IS_SAMPLE_PIPE = ?
NVL(DECODE(GROUP_MIN_SIGN,
'>=',
T.GROUP_MIN - 0.001,
T.GROUP_MIN),
T.ACT_LEN - 0.001))
ORDER BY T.MEASURING_SEQ,T.MAT_NO ASC)
WHERE ROWNUM <= #ACT_COUNT#
]]>
NVL(DECODE(GROUP_MIN_SIGN,
'>=',
T.GROUP_MIN - 0.001,
T.GROUP_MIN),
T.ACT_LEN - 0.001))
ORDER BY T.MEASURING_SEQ, T.MAT_NO ASC)
WHERE ROWNUM <= #ACT_COUNT#) LOOP
SELECT COUNT(1)
INTO V_ICOUNT1
FROM YDM_BC_BUTTRESS_BACK
WHERE MAT_NO = MYROW.MAT_NO
AND PLINE_CODE = '#PLINE_CODE#';
IF (V_ICOUNT1 = 0) THEN
INSERT INTO YDM_BC_BUTTRESS
(MAT_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
STORAGE_NO,
LOCATION_NO,
LARY_NO,
CREATE_NAME,
CREATE_TIME,
PLINE_CODE)
VALUES
(MYROW.MAT_NO,
MYROW.JUDGE_STOVE_NO,
MYROW.PHY_BATCH_NO,
'#BATCH_GROUD_NO#',
'#STORAGE_NO#',
'#LOCATION_NO#',
'#LARY_NO#',
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#PLINE_CODE#');
ELSE
INSERT INTO YDM_BC_BUTTRESS
(MAT_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
STORAGE_NO,
LOCATION_NO,
LARY_NO,
LOC_NO,
STORAGE_ATTR,
STORAGE_ATTR_NAME,
STORAGE_TYPE_NO,
STORAGE_TYPE_NAME,
MANAGEMENT_NO,
MANAGEMENT_NAME,
MEMO,
CREATE_NAME,
CREATE_TIME,
UPDATE_NAME,
UPDATE_TIME,
DELETE_NAME,
DELETE_TIME,
DEPARTMENT_CODE,
DEPARTMENT_DESC,
PLINE_CODE)
SELECT MYROW.MAT_NO,
MYROW.JUDGE_STOVE_NO,
MYROW.PHY_BATCH_NO,
'#BATCH_GROUD_NO#',
STORAGE_NO,
LOCATION_NO,
LARY_NO,
LOC_NO,
STORAGE_ATTR,
STORAGE_ATTR_NAME,
STORAGE_TYPE_NO,
STORAGE_TYPE_NAME,
MANAGEMENT_NO,
MANAGEMENT_NAME,
MEMO,
CREATE_NAME,
CREATE_TIME,
UPDATE_NAME,
UPDATE_TIME,
DELETE_NAME,
DELETE_TIME,
DEPARTMENT_CODE,
DEPARTMENT_DESC,
PLINE_CODE
FROM YDM_BC_BUTTRESS_BACK
WHERE MAT_NO = MYROW.MAT_NO
AND PLINE_CODE = '#PLINE_CODE#';
END IF;
INSERT INTO MAT_BC_M
(MAT_NO,
PRODUCT_FLAG,
MAT_STATUS,
LOT_NO,
STOVE_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
SAMPLE_FLAG,
MATERIAL_NO,
MATERIAL_NAME,
PRODUCCODE,
PRODUCNAME,
STEELCODE,
STEELNAME,
GRADECODE,
GRADENAME,
SPEC_CODE,
SPEC_NAME,
MODEL_CODE,
MODEL_DESC,
STD_CODE,
STD_NAME,
STD_STYLE,
STD_STYLE_DESC,
PRO_ORDER_NO,
PRO_ORDER_ID,
PROCESS_CDOE,
PROCESS_DESC,
NEXT_PROCESS_CDOE,
NEXT_PROCESS_DESC,
PLINE_CODE,
PLINE_NAME,
MAT_ORIGIN_CODE,
MAT_ORIGIN_NAME,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN,
ACT_LEN_MIN,
ACT_LEN_MAX,
ACT_COUNT,
ACT_WEIGHT,
ACT_THEORY_WEIGHT,
PONDER_GROSS_WT,
BELONG_CODE,
BELONG_NAME,
MAT_GOWHERE_CODE,
MAT_GOWHERE_NAME,
INSTOCK_TIME,
CREATE_NAME,
CREATE_TIME,
BAL_YEAR_MONTH,
JUDGE_STD_DES,
QCM_STAUS,
HEAT_PLAN_NO,
GX_PLAN_NO,
CRAF_NO,
CRAFT_SEQ,
ORD_LN_DLY_PK,
ORDER_NO,
ORDER_SEQ,
ORDER_SEQ_NO,
FLAG_STOVE_NO_ZG,
TARGET,
CIC,
HEAT_PLAN_NO_OLD,
MEASURING_SEQ,
ORD_PK,
ORD_LN_PK,
IS_DEALER,
PIPMEMO,
MEMO,
length_type)
VALUES
(MYROW.MAT_NO,
'#PRODUCT_FLAG#',
'#MAT_STATUS#',
MYROW.LOT_NO,
MYROW.STOVE_NO,
MYROW.JUDGE_STOVE_NO,
MYROW.PHY_BATCH_NO,
'#BATCH_GROUD_NO#',
MYROW.IS_SAMPLE_PIPE,
'#MATERIAL_NO#',
'#MATERIAL_NAME#',
'#PRODUCCODE#',
'#PRODUCNAME#',
'#STEELCODE#',
'#STEELNAME#',
'#GRADECODE#',
'#GRADENAME#',
'#SPEC_CODE#',
'#SPEC_NAME#',
'#MODEL_CODE#',
'#MODEL_DESC#',
'#STD_CODE#',
'#STD_NAME#',
'#STD_STYLE#',
'#STD_STYLE_DESC#',
'#PRO_ORDER_NO#',
'#PRO_ORDER_ID#',
'#PROCESS_CDOE#',
'#PROCESS_DESC#',
'#NEXT_PROCESS_CDOE#',
'#NEXT_PROCESS_DESC#',
'#PLINE_CODE#',
'#PLINE_NAME#',
'#MAT_ORIGIN_CODE#',
'#MAT_ORIGIN_NAME#',
'#ACT_DIMATER#',
'#ACT_HEIGHT#',
MYROW.ACT_LEN,
'#ACT_LEN_MIN#',
'#ACT_LEN_MAX#',
MYROW.ACT_COUNT,
MYROW.ACT_WEIGHT,
MYROW.ACT_WEIGHT,
MYROW.ACT_WEIGHT,
'#BELONG_CODE#',
'#BELONG_NAME#',
'#MAT_GOWHERE_CODE#',
'#MAT_GOWHERE_NAME#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#BAL_YEAR_MONTH#',
'#JUDGE_STD_NAME#',
'#QCM_STAUS#',
'#HEAT_PLAN_NO#',
'#GX_PLAN_NO#',
'#CRAF_NO#',
'#CRAFT_SEQ#',
'#ORD_LN_DLY_PK#',
'#ORDER_NO#',
'#ORDER_SEQ#',
'#ORDER_SEQ_NO#',
'#FLAG_STOVE_NO_ZG#',
'#TARGET#',
'#CIC#',
'#HEAT_PLAN_NO_OLD#',
MYROW.MEASURING_SEQ,
'#ORD_PK#',
'#ORD_LN_PK#',
(SELECT DECODE(H.ORDER_TYP,
'120108',
'1',
'120107',
'2',
'120109',
'3',
'0')
FROM SLM_ORDER_HEAD H
WHERE H.ORD_PK = '#ORD_PK#'),
'#MEMO#',
MYROW.REMARK,
(select decode(sign(MYROW.ACT_LEN -
(select max(LENGTHMAX)
from Pln_Zy_Jgx_M
where HEAT_PLAN_NO = MYROW.HEAT_PLAN_NO)),
1,
1,
-1,
decode(sign(MYROW.ACT_LEN -
(select LENGTHMIN
from Pln_Zy_Jgx_M
where HEAT_PLAN_NO = MYROW.HEAT_PLAN_NO)),
-1,
2,
0),
0)
from dual));
V_INSTOCK_SQE := '#INSTOCK_DOC#' || LPAD(V_ICOUNT, 4, 0);
INSERT INTO YDM_BC_INLIST
(INSTOCK_SQE,
INSTOCK_DOC,
INSTOCK_TYPE_CODE,
INSTOCK_TYPE_NAME,
MAT_NO,
LOT_NO,
STOVE_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
MATERIAL_NO,
MATERIAL_NAME,
PRODUCCODE,
PRODUCNAME,
STD_CODE,
STD_NAME,
GRADECODE,
GRADENAME,
STEELCODE,
STEELNAME,
STD_STYLE,
STD_STYLE_DESC,
SPEC_CODE,
SPEC_NAME,
MODEL_CODE,
MODEL_DESC,
PRO_ORDER_NO,
PLINE_CODE,
PLINE_NAME,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN,
ACT_LEN_MIN,
ACT_LEN_MAX,
ACT_COUNT,
ACT_WEIGHT,
ACT_THEORY_WEIGHT,
BELONG_CODE,
BELONG_NAME,
STORAGE_NO,
LOCATION_NO,
LARY_NO,
INSTOCK_TIME,
CREATE_NAME,
CREATE_TIME,
PRODUCT_FLAG,
MAT_STATUS,
JUDGE_STD_NAME,
JUDGE_STD_CODE,
IN_TIME_F,
BAL_YEAR_MONTH,
MAT_ORIGIN_CODE,
MAT_ORIGIN_NAME,
QCM_STAUS,
PRO_PLAN_ID,
GX_PLAN_NO,
ORD_LN_DLY_PK,
IN_BC,
IN_BZ,
ORDER_NO,
ORDER_SEQ,
DELIVERY_NO)
SELECT V_INSTOCK_SQE,
'#INSTOCK_DOC#',
'#INSTOCK_TYPE_CODE#',
'#INSTOCK_TYPE_NAME#',
MYROW.MAT_NO,
MYROW.LOT_NO,
MYROW.STOVE_NO,
MYROW.JUDGE_STOVE_NO,
MYROW.PHY_BATCH_NO,
'#BATCH_GROUD_NO#',
'#MATERIAL_NO#',
'#MATERIAL_NAME#',
'#PRODUCCODE#',
'#PRODUCNAME#',
'#STD_CODE#',
'#STD_NAME#',
'#GRADECODE#',
'#GRADENAME#',
'#STEELCODE#',
'#STEELNAME#',
'#STD_STYLE#',
'#STD_STYLE_DESC#',
'#SPEC_CODE#',
'#SPEC_NAME#',
'#MODEL_CODE#',
'#MODEL_DESC#',
'#PRO_ORDER_NO#',
'#PLINE_CODE#',
'#PLINE_NAME#',
'#ACT_DIMATER#',
'#ACT_HEIGHT#',
MYROW.ACT_LEN,
'#ACT_LEN_MIN#',
'#ACT_LEN_MAX#',
MYROW.ACT_COUNT,
MYROW.ACT_WEIGHT,
MYROW.ACT_WEIGHT,
'#BELONG_CODE#',
'#BELONG_NAME#',
STORAGE_NO,
LOCATION_NO,
LARY_NO,
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#PRODUCT_FLAG#',
'#MAT_STATUS#',
'#JUDGE_STD_NAME#',
'#JUDGE_STD_CODE#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
'#BAL_YEAR_MONTH#',
'#MAT_ORIGIN_CODE#',
'#MAT_ORIGIN_NAME#',
'#QCM_STAUS#',
'#PRO_ORDER_ID#',
'#GX_PLAN_NO#',
'#ORD_LN_DLY_PK#',
'#IN_BC#',
'#IN_BZ#',
'#ORDER_NO#',
'#ORDER_SEQ#',
'#ORDER_SEQ_NO#'
FROM YDM_BC_BUTTRESS
WHERE MAT_NO = MYROW.MAT_NO;
UPDATE PORT_MCH_BATCH_SAMPLE_RESULT T
SET T.INSTORE_FLAG = '1'
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.VALIDFLAG = '1';
V_ICOUNT := V_ICOUNT + 1;
END LOOP;
END;
]]>
DECLARE
V_VRP_STATION_CODE MCH_COM_INFO.PLINE_CODE%TYPE := NULL;
V_RESULT_NO MCH_COM_INFO.RESULT_NO%TYPE := NULL;
BEGIN
V_VRP_STATION_CODE := '701311';
SELECT '#PLINE_CODE#' || V_VRP_STATION_CODE || TO_CHAR(SYSDATE, 'YYMMDD') ||
LPAD(NVL(MAX(SUBSTR(T.RESULT_NO, LENGTH(T.RESULT_NO) - 5)), 0) + 1,
6,
0)
INTO V_RESULT_NO
FROM MCH_COM_INFO T
WHERE TRUNC(T.CREATE_TIME) = TRUNC(SYSDATE);
INSERT INTO MCH_COM_INFO(
RESULT_NO,
HEAT_PLAN_NO,
STATION_CODE,
STATION_DESC,
PLINE_CODE,
PLINE_NAME,
ZY_BATCH_ID,
PRO_PLAN_ID,
GX_PLAN_NO,
PRDCR_NO,
MONITORDEMAND,
CRAFT_FILE_NO,
CRAFT_FILE_MAN,
CRAFT_SEQ,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
GRADECODE,
GRADENAME,
STEELCODE,
STEELNAME,
SPEC_CODE,
SPEC_NAME,
LEN,
DIMATER,
PLN_LEN,
PLN_LEN_MIN,
PLN_LEN_MAX,
HEIGHT,
LEN_MIN,
LEN_MAX,
LEN_CUT_HEAD,
LEN_CUT_END,
ACT_SPEC_CODE,
ACT_SPEC_NAME,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN,
ACT_LEN_MIN,
ACT_LEN_MAX,
ACT_MATERIAL_NO,
ACT_MATERIAL_NAME,
INWL_ID,
INWL_DESC,
PRO_NUM,
PRO_WT,
STATION_STATUS,
RRO_TIME,
RRO_TIME_NU,
COL_OPERATOR,
PRO_SHIFT,
PRO_GROUP,
CREATE_TIME,
PRO_YEAR_MONTH_DAY,
BAL_YEAR_MONTH,
INSTOCK_DOC)
VALUES(
V_RESULT_NO,
'#HEAT_PLAN_NO#',
V_VRP_STATION_CODE,
'交库',
'#PLINE_CODE#',
'#PLINE_NAME#',
'#ZY_BATCH_ID#',
'#PRO_PLAN_ID#',
'#GX_PLAN_NO#',
'#PRDCR_NO#',
'#MONITORDEMAND#',
'#CRAFT_FILE_NO#',
'#CRAFT_FILE_MAN#',
'#CRAFT_SEQ#',
'#JUDGE_STOVE_NO#',
'#BATCH_NO#',
'#BATCH_GROUD_NO#',
'#GRADECODE#',
'#GRADENAME#',
'#STEELCODE#',
'#STEELNAME#',
'#SPEC_CODE#',
'#SPEC_NAME#',
'#LEN#',
'#DIMATER#',
'#PLN_LEN#',
'#PLN_LEN_MIN#',
'#PLN_LEN_MAX#',
'#HEIGHT#',
'#LEN_MIN#',
'#LEN_MAX#',
'#LEN_CUT_HEAD#',
'#LEN_CUT_END#',
'#ACT_SPEC_CODE#',
'#ACT_SPEC_NAME#',
'#ACT_DIMATER#',
'#ACT_HEIGHT#',
'#ACT_LEN#',
'#ACT_LEN_MIN#',
'#ACT_LEN_MAX#',
'#ACT_MATERIAL_NO#',
'#ACT_MATERIAL_NAME#',
'#INWL_ID#',
'#INWL_DESC#',
'#PRO_NUM#',
'#PRO_WT#',
'#STATION_STATUS#',
TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
'#RRO_TIME_NU#',
'#COL_OPERATOR#',
'#PRO_SHIFT#',
'#PRO_GROUP#',
TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
'#PRO_YEAR_MONTH_DAY#',
'#BAL_YEAR_MONTH#',
'#INSTOCK_DOC#');
END;
DECLARE
V_VRP_STATION_CODE MCH_COM_INFO.Station_Code%TYPE := NULL;
V_RESULT_NO MCH_COM_INFO.RESULT_NO%TYPE := NULL;
BEGIN
FOR MYROW IN (SELECT PLINE_CODE,
PLINE_NAME,
LOT_NO,
PRO_PLAN_ID,
GX_PLAN_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
GRADECODE,
GRADENAME,
STEELCODE,
STEELNAME,
SPEC_CODE,
SPEC_NAME,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN_MIN,
ACT_LEN_MAX,
CREATE_NAME,
PRO_BC,
PRO_BZ,
BAL_YEAR_MONTH,
INSTOCK_DOC,
SUM(T.ACT_COUNT) ACT_COUNT,
SUM(T.ACT_WEIGHT) ACT_WEIGHT,
SUM(ACT_LEN) ACT_LEN
FROM YDM_BC_INLIST T
WHERE T.INSTOCK_DOC = ?
GROUP BY PLINE_CODE,
PLINE_NAME,
LOT_NO,
PRO_PLAN_ID,
GX_PLAN_NO,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
GRADECODE,
GRADENAME,
STEELCODE,
STEELNAME,
SPEC_CODE,
SPEC_NAME,
ACT_HEIGHT,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN_MIN,
ACT_LEN_MAX,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN_MIN,
ACT_LEN_MAX,
CREATE_NAME,
PRO_BC,
PRO_BZ,
BAL_YEAR_MONTH,
INSTOCK_DOC
) LOOP
V_VRP_STATION_CODE := '701311';
SELECT MYROW.PLINE_CODE || V_VRP_STATION_CODE || TO_CHAR(SYSDATE, 'YYMMDD') ||
LPAD(NVL(MAX(SUBSTR(T.RESULT_NO, LENGTH(T.RESULT_NO) - 5)), 0) + 1,
6,
0)
INTO V_RESULT_NO
FROM MCH_COM_INFO T
WHERE RESULT_NO LIKE MYROW.PLINE_CODE || V_VRP_STATION_CODE || TO_CHAR(SYSDATE, 'YYMMDD') || '______';
INSERT INTO MCH_COM_INFO(
RESULT_NO,
HEAT_PLAN_NO,
STATION_CODE,
STATION_DESC,
PLINE_CODE,
PLINE_NAME,
ZY_BATCH_ID,
PRO_PLAN_ID,
GX_PLAN_NO,
PRDCR_NO,
MONITORDEMAND,
CRAFT_FILE_NO,
CRAFT_FILE_MAN,
CRAFT_SEQ,
JUDGE_STOVE_NO,
BATCH_NO,
BATCH_GROUD_NO,
GRADECODE,
GRADENAME,
STEELCODE,
STEELNAME,
SPEC_CODE,
SPEC_NAME,
LEN,
DIMATER,
PLN_LEN,
PLN_LEN_MIN,
PLN_LEN_MAX,
HEIGHT,
LEN_MIN,
LEN_MAX,
LEN_CUT_HEAD,
LEN_CUT_END,
ACT_SPEC_CODE,
ACT_SPEC_NAME,
ACT_DIMATER,
ACT_HEIGHT,
ACT_LEN,
ACT_LEN_MIN,
ACT_LEN_MAX,
ACT_MATERIAL_NO,
ACT_MATERIAL_NAME,
INWL_ID,
INWL_DESC,
PRO_NUM,
PRO_WT,
STATION_STATUS,
RRO_TIME,
RRO_TIME_NU,
COL_OPERATOR,
PRO_SHIFT,
PRO_GROUP,
CREATE_TIME,
BAL_YEAR_MONTH,
INSTOCK_DOC)
VALUES(
V_RESULT_NO,
?,
V_VRP_STATION_CODE,
'交库',
MYROW.PLINE_CODE,
MYROW.PLINE_NAME,
MYROW.LOT_NO,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO,
'',
'',
'',
'',
'',
MYROW.JUDGE_STOVE_NO,
MYROW.BATCH_NO,
MYROW.BATCH_GROUD_NO,
MYROW.GRADECODE,
MYROW.GRADENAME,
MYROW.STEELCODE,
MYROW.STEELNAME,
MYROW.SPEC_CODE,
MYROW.SPEC_NAME,
'',
MYROW.ACT_DIMATER,
'',
'',
'',
MYROW.ACT_HEIGHT,
MYROW.ACT_LEN_MIN,
MYROW.ACT_LEN_MAX,
'',
'',
'',
'',
MYROW.ACT_DIMATER,
MYROW.ACT_HEIGHT,
MYROW.ACT_LEN,
MYROW.ACT_LEN_MIN,
MYROW.ACT_LEN_MAX,
'',
'',
'',
'',
MYROW.ACT_COUNT,
MYROW.ACT_WEIGHT,
'1',
SYSDATE,
'',
MYROW.CREATE_NAME,
MYROW.PRO_BC,
MYROW.PRO_BZ,
SYSDATE,
MYROW.BAL_YEAR_MONTH,
MYROW.INSTOCK_DOC);
END LOOP;
END;
0
AND ROWNUM = 1;
END;
]]>
SELECT COUNT(1) ACOUNT
FROM PORT_MCH_BATCH_SAMPLE_RESULT T
WHERE T.MAT_STATUS IN ('00', '20')
AND T.INSTORE_FLAG = '0'
AND T.VALIDFLAG = '1'
AND T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
SELECT NVL(SUM(REAL_OUTDOUBLE_NUM),0) REAL_OUTDOUBLE_NUM FROM (
SELECT NVL(SUM(T.ACT_COUNT), 0) REAL_OUTDOUBLE_NUM
FROM MAT_BC_M T
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
AND T.QCM_STAUS = '00'
AND T.PROCESS_CDOE = 'G'
UNION
SELECT NVL(SUM(T.ACT_COUNT), 0) REAL_OUTDOUBLE_NUM
FROM MAT_BC_BACKUP T
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
AND T.QCM_STAUS = '00'
AND T.PROCESS_CDOE = 'G')
SELECT NVL(SUM(T.REAL_INDOUBLE_NUM),0) REAL_INDOUBLE_NUM,NVL(SUM(T.REAL_OUTDOUBLE_NUM),0) REAL_OUTDOUBLE_NUM
FROM PLN_ZY_JGX_C T
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
select NVL(SUM(T.OFFLINE_NUM),0) OFFLINE_NUM, NVL(SUM(T.RE_NUM),0) RE_NUM,NVL(SUM(T.GROUP_NUM),0) GROUP_NUM
from MCH_OFFLINE_RESULT T
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
select NVL(SUM(T.ACT_COUNT), 0) ACT_COUNT
from PORT_MCH_BATCH_SAMPLE_RESULT t
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
AND T.MAT_STATUS = '10'
SELECT T.BESIDE_STATUS
FROM PLN_ZY_JGX_C T
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
SELECT STATION_STATUS FROM MCH_COM_INFO WHERE JUDGE_STOVE_NO='#JUDGE_STOVE_NO#' AND BATCH_NO='#BATCH_NO#' AND STATION_CODE ='701311' AND INSTOCK_DOC='#INSTOCK_DOC#'
SELECT T.*
FROM PLN_ZY_JGX_M T
WHERE T.PRO_PLAN_ID = '#PRO_PLAN_ID#'
AND T.GX_PLAN_NO = '#GX_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
'11' OR T.BESIDE_STATUS IS NULL);
IF (V_COUNT = 0) THEN
UPDATE PLN_ZY_JGX_M T
SET T.PLANSTATUS = '30'
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#';
END IF;
END;
]]>
DECLARE
BEGIN
UPDATE PLN_ZY_JGX_C T
SET T.REAL_OUTDOUBLE_NUM = '',
T.REAL_OUTDOUBLE_WT = '',
T.BESIDE_STATUS = '00'
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#';
UPDATE PLN_ZY_JGX_M T
SET T.PLANSTATUS = '20'
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#';
UPDATE MCH_COM_INFO T
SET T.STATION_STATUS = '1'
WHERE T.HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
AND T.STATION_CODE !='701305'
AND T.STATION_CODE != '701313'
AND T.STATION_CODE != '701301';
END;
SELECT COUNT(1) ACOUNT
FROM MAT_BC_M T
WHERE HEAT_PLAN_NO = '#HEAT_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.BATCH_NO = '#BATCH_NO#'
AND JUGDE_APPLY_CODE IS NULL
SELECT COUNT(1) ACOUNT
FROM QCM_ZG_JUGDE_APPLY T
WHERE T.PRO_ORDER_ID = '#PRO_PLAN_ID#'
AND T.GX_PLAN_NO = '#GX_PLAN_NO#'
AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
AND T.PLINE_CODE = '#PLINE_CODE#'
AND T.BATCH_NO = '#BATCH_NO#'
AND T.IS_FLAG = '0'
AND T.IS_ALL_SCRAP !=2
UPDATE MCH_GROUPNO T
SET (OFFLINE_NUM, OFFLINE_MAX, OFFLINE_MIN) =
(SELECT SUM(OFFLINE_NUM),
MAX(OFFLINE_MAX) OFFLINE_MAX,
MIN(OFFLINE_MIN) OFFLINE_MIN
FROM (SELECT PRO_ORDER_NO,
BATCH_GROUD_NO,
NVL(COUNT(1), 0) OFFLINE_NUM,
MAX(ACT_LEN) OFFLINE_MAX,
MIN(ACT_LEN) OFFLINE_MIN
FROM MAT_BC_M
WHERE QCM_STAUS = '00'
AND PROCESS_CDOE = 'G'
GROUP BY PRO_ORDER_NO, BATCH_GROUD_NO
UNION ALL
SELECT PRO_ORDER_NO,
BATCH_GROUD_NO,
NVL(COUNT(1), 0) OFFLINE_NUM,
MAX(ACT_LEN) OFFLINE_MAX,
MIN(ACT_LEN) OFFLINE_MIN
FROM mat_bc_backup
WHERE QCM_STAUS = '00'
AND PROCESS_CDOE = 'G'
GROUP BY PRO_ORDER_NO, BATCH_GROUD_NO)
WHERE PRO_ORDER_NO = T.ORDER_NO
AND BATCH_GROUD_NO = T.GROUP_NO)
WHERE T.ORDER_NO = '#ORDER_NO#' || '/' || '#ORDER_SEQ#'
SELECT GROUP_NO
FROM MCH_GROUPNO
WHERE ORDER_NO = ?
AND GROUP_MIN = ?
AND GROUP_MAX = ?
SELECT LPAD((TO_NUMBER(NVL(MAX(GROUP_NO), '0')) + 1), 3, 0) GROUP_NO
FROM MCH_GROUPNO
WHERE ORDER_NO =?
SELECT T.* FROM PLN_SALEORD T WHERE T.ord_ln_dly_pk=?
INSERT INTO MCH_GROUPNO T
(ORDER_NO, GROUP_MAX, GROUP_MIN, GROUP_NO, FLAG, GROUP_MAX_SIGN,GROUP_MIN_SIGN)
VALUES
(?, ?, ?, ?, '0',?,?)