V_COL_NUM) THEN
UPDATE MIL_FURNACES_RESLUT T
SET T.GROUP_NUM = V_GROUP_NUM + V_COL_NUM, T.ZP_FLAG = '1'
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
AND T.GX_PLAN_NO = V_GX_PLAN_NO
AND T.PLINE_CODE = V_PLINE_CODE;
ELSE
UPDATE MIL_FURNACES_RESLUT T
SET T.GROUP_NUM = V_OFFLINE_NUM, T.ZP_FLAG = '2', T.STATUS = '1'
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
AND T.GX_PLAN_NO = V_GX_PLAN_NO
AND T.PLINE_CODE = V_PLINE_CODE;
END IF;
SELECT T.ZP_HEIGHT / T.OFFLINE_NUM * V_COL_NUM
INTO V_ZP_HEIGHT
FROM MIL_FURNACES_RESLUT T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PRO_PLAN_ID = V_PRO_PLAN_ID
AND T.GX_PLAN_NO = V_GX_PLAN_NO
AND T.PLINE_CODE = V_PLINE_CODE;
INSERT INTO MIL_FURNACES_RESLUT_DETIA
(LOT_NO,
STOVE_NO,
JUDGE_STOVE_NO,
DIAMETER,
THICKNESS,
LENGTH,
PLINE_CODE,
GROUP_NUM,
COL_TIME,
REMARK,
COL_USER,
COL_SHIFT,
COL_GROUP,
ZP_HEIGHT,
PRODUCNAME,
STEELCODE,
STEELNAME,
GRADECODE,
GRADENAME,
SPEC_CODE,
SPEC_NAME,
MODEL_CODE,
MODEL_DESC,
STD_CODE,
STD_NAME,
STD_STYLE,
STD_STYLE_DESC,
CONTRACT_NO,
PRODUCCODE,
ACT_LEN_RANGE,
ZP_LOT_NO,
ZP_JUDGE_STOVE_NO,
TARGET,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
(V_LOT_NO,
?,
V_JUDGE_STOVE_NO,
?,
?,
?,
?,
V_COL_NUM,
SYSDATE,
?,
?,
?,
?,
V_ZP_HEIGHT,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
END;
]]>
SELECT COUNT(1) ACOUNT
FROM MIL_FURNACES_GROUP T
WHERE T.ZP_JUDGE_STOVE_NO = ?
0 THEN
V_SAW_NUM2
ELSE
MAX(T.SAW_NUM)
END
INTO V_SAW_NUM
FROM MIL_PLAN T
WHERE T.CONTRACT_NO = ?;
FOR MYROW IN (SELECT *
FROM MIL_PLAN T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE) LOOP
INSERT INTO MIL_PLAN
(LENGTHCP,
CUT_HEAD_LENGTHA,
CUT_TRAIL_LENGTHA,
ORDER_LENGTHA,
HOT_CHECK_FLAG,
FEED_SEQ,
FEED_HEAT_NO,
LOT_SEQ,
STEEL_STANDRAD,
TARGET,
BRANCH,
TON,
CUT_TARGET,
CUT_LENGTH,
CUT_WEIGHT,
--DB_NUM,
START_TIME,
END_TIME,
TOM,
TOC,
NODE_STATUS,
CUT_HEAD_LENGTHP,
CUT_TRAIL_LENGTHP,
CONTROL_THICKP,
OFFLINE_FLAG,
IS_BATCH,
OFFLINE_DATE,
CUT_TYPE,
ROLLING_STATUS,
PRODUCE_STANDRAD,
SIMPLE_PROCESS,
BACK_LINE_FLAG,
BACK_PLAN_FLAG,
FEED_TIME,
ID,
SEQ,
STOVE_NO,
JUDGE_STOVE_NO,
LOT_NO,
CONTRACT_NO,
IMP_PROCESS,
PLINE_CODE,
STATUS,
PRODUCER,
PROCESS_STATUS,
DB_LENGTH,
DB_HEIGHT,
ROLL_LENGTH,
SAW_NUM,
TARGET_LENGTH,
FINISH_USER,
TARGET_LIABRARY,
VARIETIES,
PIPE_SIZE,
BUCKLE_TYPE,
LENGTH_RANGE,
ROLL_STANDRAD,
PIPE_SECTION,
STEELCODE,
STEELNAME,
GRADECODE,
GRADENAME,
ORD_LN_DLY_PK,
PRT_FLAG,
PRO_PLAN_ID,
GX_PLAN_NO,
VARIETIES_CODE,
PIPE_SIZE_CODE,
BUCKLE_TYPE_CODE,
ROLL_STANDRAD_CODE,
STD_STYLE,
STD_STYLE_DESC,
CRAFT_SEQ,
CIC,
INDEX_SEQ,
PIC,
IF_PRODUCT,
PRDCR_NO,
IF_MONITOR)
VALUES
(MYROW.LENGTHCP,
MYROW.CUT_HEAD_LENGTHA,
MYROW.CUT_TRAIL_LENGTHA,
MYROW.ORDER_LENGTHA,
MYROW.HOT_CHECK_FLAG,
MYROW.FEED_SEQ,
MYROW.FEED_HEAT_NO,
MYROW.LOT_SEQ,
MYROW.STEEL_STANDRAD,
MYROW.TARGET,
'',
'',
MYROW.CUT_TARGET,
MYROW.CUT_LENGTH,
MYROW.CUT_WEIGHT,
--MYROW.DB_NUM,
sysdate,
sysdate,
sysdate,
'',
'40',
MYROW.CUT_HEAD_LENGTHP,
MYROW.CUT_TRAIL_LENGTHP,
MYROW.CONTROL_THICKP,
'2',
'0',
'',
MYROW.CUT_TYPE,
'0',
MYROW.PRODUCE_STANDRAD,
--?,
MYROW.SIMPLE_PROCESS,
'0',
'5',
MYROW.FEED_TIME,
MYROW.ID,
MYROW.SEQ,
MYROW.STOVE_NO,
--JUDGE_STOVE_NO,
V_ZP_JUDGE_STOVE_NO,
--LOT_NO,
V_ZP_LOT_NO,
--MYROW.CONTRACT_NO
?,
MYROW.IMP_PROCESS,
MYROW.PLINE_CODE,
'45',
MYROW.PRODUCER,
MYROW.PROCESS_STATUS,
MYROW.DB_LENGTH,
MYROW.DB_HEIGHT,
MYROW.ROLL_LENGTH,
V_SAW_NUM,
MYROW.TARGET_LENGTH,
MYROW.FINISH_USER,
MYROW.TARGET_LIABRARY,
--MYROW.VARIETIES,
?,
--MYROW.PIPE_SIZE,
?,
--MYROW.BUCKLE_TYPE,
?,
MYROW.LENGTH_RANGE,
MYROW.ROLL_STANDRAD,
MYROW.PIPE_SECTION,
MYROW.STEELCODE,
--?,
MYROW.STEELNAME,
--?,
MYROW.GRADECODE,
MYROW.GRADENAME,
MYROW.ORD_LN_DLY_PK,
MYROW.PRT_FLAG,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO,
MYROW.VARIETIES_CODE,
MYROW.PIPE_SIZE_CODE,
MYROW.BUCKLE_TYPE_CODE,
MYROW.ROLL_STANDRAD_CODE,
MYROW.STD_STYLE,
MYROW.STD_STYLE_DESC,
MYROW.CRAFT_SEQ,
MYROW.CIC,
MYROW.INDEX_SEQ,
MYROW.PIC,
MYROW.IF_PRODUCT,
MYROW.PRDCR_NO,
MYROW.IF_MONITOR);
UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
SET T.PLAN_ID = MYROW.ID
WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
AND T.LOT_NO = V_ZP_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
UPDATE MIL_REFUR_RACK T
SET T.RESULT_NO = MYROW.ID
WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
AND T.LOT_NO = V_ZP_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
INSERT INTO MIL_FEEDSAW_RESULT
(RESULT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
COL_TIME,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
(MYROW.ID,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
SYSDATE,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO);
INSERT INTO MIL_ROLLING_RESULT
(RESULT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
COL_TIME,
QUALIFIED_NUM,
ROLLINGNUM,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
(MYROW.ID,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
SYSDATE,
V_QUALIFIED_NUM,
V_QUALIFIED_NUM,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO);
END LOOP;
END;
]]>
0) THEN
V_GROUP_NUM1 := V_SAW_NUM * V_GROUP_NUM;
ELSE
SELECT T.SAW_NUM * V_GROUP_NUM, T.SAW_NUM
INTO V_GROUP_NUM1, V_SAW_NUM
FROM MIL_PLAN T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO_M
AND T.LOT_NO = V_LOT_NO_M
AND T.PLINE_CODE = V_PLINE_CODE;
END IF;
--查询主炉号的ID,去向,定尺长度 ORDER_LENGTHA
SELECT T.ID,
DECODE(T.TARGET, 'A', '01', 'B', '02', 'C', '03'),
T.ORDER_LENGTHA,
T.PRO_PLAN_ID,
T.GX_PLAN_NO
INTO V_ID, V_TARGET, V_ORDER_LENGTHA, V_PRO_PLAN_ID, V_GX_PLAN_NO
FROM MIL_PLAN T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO_M
AND T.LOT_NO = V_LOT_NO_M
AND T.PLINE_CODE = V_PLINE_CODE;
--查询当炉的结转年月
SELECT MIN(T.BAL_YEAR_MONTH)
INTO V_BAL_YEAR_MONTH
FROM PORT_MIL_BATCH_SAMPLE_RESULT T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.PLINE_CODE = V_PLINE_CODE;
--当前炉的分切数
SELECT T.SAW_NUM
INTO V_SAW_NUM_T
FROM MIL_PLAN T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.PLINE_CODE = V_PLINE_CODE;
--已写入的坯子数
SELECT COUNT(1)
INTO V_COUNT
FROM MIL_REFUR_RACK T
WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
AND T.PLINE_CODE = V_PLINE_CODE;
WHILE N < V_GROUP_NUM + 1 LOOP
BEGIN
V_COUNT := V_COUNT + 1;
--插入再加热炉跟踪表
INSERT INTO MIL_REFUR_RACK
(MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
GROUP_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
(REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
V_COUNT,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'1',
SYSDATE,
V_SEQ,
V_ID,
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
--插入定径跟踪表
INSERT INTO MIL_SIZING_RACK
( --MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
GROUP_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
( --MYROW.MAT_NO,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'1',
SYSDATE,
V_SEQ,
V_ID,
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
--插入管排锯跟踪表
INSERT INTO MIL_SAW_RACK
( --MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
GROUP_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
( --MYROW.MAT_NO,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'1',
SYSDATE,
V_SEQ,
V_ID,
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
V_SEQ := V_SEQ + 1;
M := 1;
WHILE M < V_SAW_NUM + 1 LOOP
BEGIN
--插入矫直跟踪表
INSERT INTO MIL_STRAIGH_RACK
( --MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
START_STRAIGHTENING_TIME,
END_STRAIGHTENING_TIME,
--FOLLOW_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
--PIPE_LENGTH,
COL_NO,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
( --MYROW1.MAT_NO,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'',
'',
--'1',
SYSDATE,
V_SEQ1,
V_ID,
--V_ORDER_LENGTHA,
'1',
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
--插入探伤炉跟踪表
INSERT INTO MIL_TESTING_RACK
( --MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
START_INSPECTION_TIME,
END_INSPECTION_TIME,
--FOLLOW_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
PIPE_LENGTH,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
( --MYROW1.MAT_NO,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'',
'',
--'1',
SYSDATE,
V_SEQ1,
V_ID,
V_ORDER_LENGTHA,
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
--插入表检跟踪表
INSERT INTO MIL_QA_RACK
( --MAT_NO,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
START_TIME,
END_TIME,
--FOLLOW_FLAG,
COL_TIME,
SEQ,
RESULT_NO,
PIPE_LENGTH,
STATUS,
PRO_PLAN_ID,
GX_PLAN_NO)
VALUES
( --MYROW1.MAT_NO,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
'',
'',
--'1',
SYSDATE,
V_SEQ1,
V_ID,
V_ORDER_LENGTHA,
'0',
V_PRO_PLAN_ID,
V_GX_PLAN_NO);
--插入进程表
INSERT INTO PORT_MIL_BATCH_SAMPLE_RESULT
(PLAN_ID,
LOT_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
SEQ,
MAT_NO,
ORDER_LENGTH,
CRATE_TIME,
M_MAT_NO,
M_M_MAT_NO,
PRO_PLAN_ID,
GX_PLAN_NO,
bal_year_month)
VALUES
(V_ID,
V_ZP_LOT_NO,
V_ZP_JUDGE_STOVE_NO,
V_PLINE_CODE,
V_SEQ2,
REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
V_COUNT || M,
V_ORDER_LENGTHA,
SYSDATE,
REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT ||
V_COUNT,
REGEXP_REPLACE(V_ZP_JUDGE_STOVE_NO, '-.*', '') || V_TARGET || V_COUNT,
V_PRO_PLAN_ID,
V_GX_PLAN_NO,
V_BAL_YEAR_MONTH);
V_SEQ1 := V_SEQ1 + 1;
V_SEQ2 := V_SEQ2 + 1;
M := M + 1;
END;
END LOOP;
N := N + 1;
END;
END LOOP;
--修改原炉号组炉后的状态
FOR MYROW IN (SELECT *
FROM (SELECT T.*
FROM PORT_MIL_BATCH_SAMPLE_RESULT T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE
AND T.Status = '1'
AND TRIM(T.Op_Process) = '5'
AND T.GROUP_FLAG = '0'
ORDER BY T.SEQ ASC)
WHERE ROWNUM <= V_GROUP_NUM * V_SAW_NUM_T) LOOP
UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
SET T.BACK_PROCESS = '5', T.GROUP_FLAG = '1'
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.MAT_NO = MYROW.MAT_NO;
END LOOP;
END;
]]>
MYROW.JUDGE_STOVE_NO;
DELETE FROM MIL_REFUR_RACK T
WHERE T.MAT_NO = MYROW.MAT_NO
AND T.JUDGE_STOVE_NO = MYROW.JUDGE_STOVE_NO;
END LOOP;
DELETE FROM MIL_SIZING_RACK T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
DELETE FROM MIL_SAW_RACK T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
DELETE FROM MIL_STRAIGH_RACK T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
DELETE FROM MIL_TESTING_RACK T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
DELETE FROM MIL_QA_RACK T
WHERE T.JUDGE_STOVE_NO = V_JUDGE_STOVE_NO
AND T.LOT_NO = V_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE;
END;
]]>
SELECT COUNT(1) ACOUNT FROM MIL_PLAN T WHERE T.JUDGE_STOVE_NO = ? AND (T.BACK_SLAB_FLAG = 1 OR T.BACK_PLAN_FLAG = 5)
1;
UPDATE PORT_MIL_BATCH_SAMPLE_RESULT T
SET T.INPUT_WEIGHT = V_INPUT_WEIGHT1
WHERE T.JUDGE_STOVE_NO = V_ZP_JUDGE_STOVE_NO
AND T.LOT_NO = V_ZP_LOT_NO
AND T.PLINE_CODE = V_PLINE_CODE
AND T.SEQ = 1;
END;
]]>