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; ]]>