DECLARE
V_OUTSTOCK_DOC YDM_GP_OUTLIST.OUTSTOCK_DOC%TYPE := NULL;
V_INSTOCK_DOC YDM_GP_INLIST.INSTOCK_DOC%TYPE := NULL;
V_OUTSTOCK_SQE YDM_GP_OUTLIST.OUTSTOCK_SQE%TYPE := NULL;
V_INSTOCK_SQE YDM_GP_INLIST.INSTOCK_SQE%TYPE := NULL;
V_OCOUNT NUMBER := 1;
V_ICOUNT NUMBER := 1;
V_MAT_NO_COUNT NUMBER := 1;
V_MAT_NO MAT_GP_M.MAT_NO%TYPE := NULL;
V_BATHYEAR MAT_GP_M.BAL_YEAR_MONTH%TYPE := '#BAL_YEAR_MONTH#';
BEGIN
--生成出库单号
SELECT 'OP' || TO_CHAR(SYSDATE, 'YYMMDD') ||
LPAD(NVL(MAX(SUBSTR(OUTSTOCK_DOC, 9)), 0) + 1, 5, 0)
INTO V_OUTSTOCK_DOC
FROM YDM_GP_OUTLIST T
WHERE T.OUTSTOCK_TYPE_CODE = '800808'
AND T.OUTSTOCK_DOC LIKE 'OP'||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
--出库流水号
SELECT TO_NUMBER(LPAD((NVL(MAX(SUBSTR(T.OUTSTOCK_SQE, 14)), 0) + 1), 4, 0))
INTO V_OCOUNT
FROM YDM_GP_OUTLIST T
WHERE T.OUTSTOCK_DOC = V_OUTSTOCK_DOC;
--生成入库单号
SELECT 'IP' || TO_CHAR(SYSDATE, 'YYMMDD') ||
LPAD(NVL(MAX(SUBSTR(INSTOCK_DOC, 9)), 0) + 1, 5, 0)
INTO V_INSTOCK_DOC
FROM YDM_GP_INLIST T
WHERE T.INSTOCK_TYPE_CODE = '800706'
AND T.INSTOCK_DOC LIKE 'IP'||TO_CHAR(SYSDATE, 'YYMMDD')||'_____';
--入库流水号
SELECT TO_NUMBER(LPAD((NVL(MAX(SUBSTR(T.INSTOCK_SQE, 14)), 0) + 1), 4, 0))
INTO V_ICOUNT
FROM YDM_GP_INLIST T
WHERE T.INSTOCK_DOC = V_INSTOCK_DOC;
--生成新炉号材料号序号
SELECT LPAD(NVL(MAX(SUBSTR(T2.MAT_NO, LENGTH(T2.MAT_NO) - 2)), 0) + 1, 3, 0) INTO V_MAT_NO_COUNT
FROM (SELECT MAX(T.MAT_NO)MAT_NO
FROM MAT_GP_M T
WHERE T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
UNION ALL
SELECT MAX(T1.MAT_NO)MAT_NO
FROM YDM_GP_INLIST T1
WHERE T1.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
UNION ALL
SELECT MAX(T3.MAT_NO)MAT_NO
FROM MAT_GP_TRACK T3
WHERE T3.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#') T2;
FOR MYROW IN (SELECT * FROM MAT_GP_M T WHERE T.JUDGE_ID = '#JUDGE_ID#') LOOP
V_OUTSTOCK_SQE := V_OUTSTOCK_DOC || LPAD(V_OCOUNT, 4, 0);
INSERT INTO YDM_GP_OUTLIST
(OUTSTOCK_SQE,
OUTSTOCK_DOC,
OUTSTOCK_TYPE_CODE,
OUTSTOCK_TYPE_NAME,
MAT_NO,
PRODUCT_FLAG,
MAT_STATUS,
STOVE_NO,
FLAG_STOVE_NO,
JUDGE_STOVE_NO,
MATERIAL_NO,
MATERIAL_NAME,
GRADECODE,
GRADENAME,
DIMATER,
ACT_LEN,
FIX_NUM,
FIX_LEN,
ACT_COUNT,
ACT_WEIGHT,
PLINE_CODE,
PLINE_NAME,
BELONG_CODE,
BELONG_NAME,
BAL_YEAR_MONTH,
OUTSTOCK_TIME,
CREATE_NAME,
CREATE_TIME,
GROUD_NO,
PRO_PLAN_ID,
GX_PLAN_NO,
FURNACENO,
SEQUENCENO,
GPTYPE,
CIC,
PIC,
SIC,
DIC,
PRODUCCODE,
PRODUCNAME,
PRO_PLAN_ID_ZG,
GX_PLAN_NO_ZG,
IS_DEALER,
BACK_FLAG,SUPPLY_UNIT_CODE,SUPPLY_UNIT)
VALUES
(V_OUTSTOCK_SQE,
V_OUTSTOCK_DOC,
'800808',
'改判出库',
MYROW.MAT_NO,
MYROW.PRODUCT_FLAG,
MYROW.MAT_STATUS,
MYROW.STOVE_NO,
MYROW.FLAG_STOVE_NO,
MYROW.JUDGE_STOVE_NO,
MYROW.MATERIAL_NO,
MYROW.MATERIAL_NAME,
MYROW.GRADECODE,
MYROW.GRADENAME,
MYROW.DIMATER,
MYROW.ACT_LEN,
MYROW.FIX_NUM,
MYROW.FIX_LEN,
MYROW.ACT_COUNT,
MYROW.ACT_WEIGHT,
MYROW.PLINE_CODE,
MYROW.PLINE_NAME,
MYROW.BELONG_CODE,
MYROW.BELONG_NAME,
V_BATHYEAR,
TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
MYROW.GROUD_NO,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO,
MYROW.FURNACENO,
MYROW.SEQUENCENO,
MYROW.GPTYPE,
MYROW.CIC,
MYROW.PIC,
MYROW.SIC,
MYROW.DIC,
MYROW.PRODUCCODE,
MYROW.PRODUCNAME,
MYROW.PRO_PLAN_ID_ZG,
MYROW.GX_PLAN_NO_ZG,
MYROW.IS_DEALER,
MYROW.BACK_FLAG,
MYROW.SUPPLY_UNIT_CODE,
MYROW.SUPPLY_UNIT);
V_INSTOCK_SQE := V_INSTOCK_DOC || LPAD(V_ICOUNT, 4, 0);
V_MAT_NO := '#JUDGE_STOVE_NO_GP#'||LPAD(V_MAT_NO_COUNT,3,0);
INSERT INTO YDM_GP_INLIST
(INSTOCK_SQE,
INSTOCK_DOC,
INSTOCK_TYPE_CODE,
INSTOCK_TYPE_NAME,
MAT_NO,
PRODUCT_FLAG,
MAT_STATUS,
STOVE_NO,
JUDGE_STOVE_NO,
PLINE_CODE,
PLINE_NAME,
MATERIAL_NO,
MATERIAL_NAME,
GRADECODE,
GRADENAME,
STD_CODE,
STD_NAME,
DIMATER,
ACT_LEN,
FIX_NUM,
FIX_LEN,
ACT_COUNT,
ACT_WEIGHT,
BELONG_CODE,
BELONG_NAME,
INSTOCK_TIME,
IN_TIME_F,
BAL_YEAR_MONTH,
CREATE_NAME,
CREATE_TIME,
GROUD_NO,
PRO_PLAN_ID,
GX_PLAN_NO,
IS_DEALER,BACK_FLAG,SUPPLY_UNIT_CODE,SUPPLY_UNIT)
VALUES
(V_INSTOCK_SQE,
V_INSTOCK_DOC,
'800706',
'改判入库',
V_MAT_NO,
MYROW.PRODUCT_FLAG,
MYROW.MAT_STATUS,
MYROW.STOVE_NO,
'#JUDGE_STOVE_NO_GP#',
MYROW.PLINE_CODE,
MYROW.PLINE_NAME,
'#MATERIAL_NO#',
'#MATERIAL_NAME#',
'#GRADECODE#',
'#GRADENAME#',
MYROW.STD_CODE,
MYROW.STD_NAME,
'#DIMATER#',
MYROW.ACT_LEN,
MYROW.FIX_NUM,
MYROW.FIX_LEN,
MYROW.ACT_COUNT,
MYROW.ACT_WEIGHT,
MYROW.BELONG_CODE,
MYROW.BELONG_NAME,
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
V_BATHYEAR,
'#CREATE_NAME#',
TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
MYROW.GROUD_NO,
MYROW.PRO_PLAN_ID,
MYROW.GX_PLAN_NO,
MYROW.IS_DEALER,
MYROW.BACK_FLAG,
MYROW.SUPPLY_UNIT_CODE,
MYROW.SUPPLY_UNIT);
UPDATE MAT_GP_M T
SET T.MATERIAL_NO = '#MATERIAL_NO#',
T.MATERIAL_NAME = '#MATERIAL_NAME#',
T.GRADECODE = '#GRADECODE#',
T.GRADENAME = '#GRADENAME#',
T.DIMATER = '#DIMATER#',
T.MAT_NO = V_MAT_NO,
T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#',
T.JUDGE_ID = '',
T.LOCK_FLAG = '0'
WHERE T.MAT_NO = MYROW.MAT_NO;
UPDATE YDM_GP_BUTTRESS T
SET T.MAT_NO = V_MAT_NO,
T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO_GP#'
WHERE T.MAT_NO = MYROW.MAT_NO;
V_MAT_NO_COUNT := V_MAT_NO_COUNT + 1;
V_OCOUNT := V_OCOUNT + 1;
V_ICOUNT := V_ICOUNT + 1;
END LOOP;
UPDATE QCM_GP_JUDGE_CHANGE T
SET T.AGREE_FLAG = '2',
T.AGREE_NAME = '#AGREE_NAME#',
T.AGREE_TIME = TO_DATE('#CREATE_TIME#','YYYY-MM-DD HH24:MI:SS'),
T.AGREE_MEMO = '#AGREE_MEMO#'
WHERE T.JUDGE_ID = '#JUDGE_ID#';
END;
DECLARE
BEGIN
UPDATE QCM_GP_JUDGE_CHANGE T
SET T.AGREE_FLAG = '4',
T.AGREE_NAME = '#CREATE_NAME#',
T.AGREE_TIME = TO_DATE('#CREATE_TIME#', 'YYYY-MM-DD HH24:MI:SS'),
T.AGREE_MEMO = '#AGREE_MEMO#'
WHERE T.JUDGE_ID = '#JUDGE_ID#';
UPDATE MAT_GP_M T
SET T.LOCK_FLAG = '0', T.JUDGE_ID = ''
WHERE T.JUDGE_ID = '#JUDGE_ID#';
END;
SELECT * FROM QCM_JHY_ELEMENTS T WHERE T.STOVE_NO = ? ORDER BY T.SAMPLE_NO DESC