SELECT OUTSTOCK_PLAN_NO, OUTSTOCK_DOC, OUTSTOCK_TYPE_CODE, OUTSTOCK_TYPE_NAME, VEHICLE_NO, --(SELECT C.BASENAME FROM COM_BASE_INFO C WHERE C.BASECODE = T.PRODUCT_FLAG) PRODUCT_FLAG, --(SELECT D.BASENAME FROM COM_BASE_INFO D WHERE D.BASECODE = T.MAT_STATUS)MAT_STATUS, STOVE_NO, FLAG_STOVE_NO, JUDGE_STOVE_NO, MATERIAL_NO, MATERIAL_NAME, GRADECODE, GRADENAME, STD_CODE, STD_NAME, DIMATER, ACT_LEN, FIX_NUM, FIX_LEN, SUM(ACT_COUNT)ACT_COUNT, SUM(ACT_WEIGHT)ACT_WEIGHT, SUM(PONDER_GROSS_WT)PONDER_GROSS_WT, PLINE_CODE, PLINE_NAME, BELONG_CODE, BELONG_NAME, STORAGE_NO, (SELECT C.STORAGE_NAME FROM YDM_BS_STORAGE C WHERE C.STORAGE_NO = T.STORAGE_NO)STORAGE_NAME, (SELECT C.STORAGE_NAME FROM YDM_BS_STORAGE C WHERE C.STORAGE_NO = T.TAR_STORAGE_NO)TAR_STORAGE_NAME, DECODE(TAR_REC_FLAG,'0','未接收','1','已接收')TAR_REC_FLAG, max(TO_CHAR(OUTSTOCK_TIME, 'YYYY-MM-DD HH24:MI:SS')) OUTSTOCK_TIME, MEMO, CREATE_NAME, MAX((SELECT S.ORDER_NO||'/'||S.ORDER_SEQ FROM PLN_ORDER_ZG_S S WHERE S.PRO_PLAN_ID = T.PRO_PLAN_ID_ZG AND S.GX_PLAN_NO = T.GX_PLAN_NO_ZG))ORDER_NO, PRO_PLAN_ID_ZG, GX_PLAN_NO_ZG, DECODE(OUT_TYPE,'0','写卡倒运','1','票据倒运','2','过跨倒运','3','纠错倒运')OUT_TYPE, CUT_NUM FROM YDM_GP_OUTLIST T WHERE OUTSTOCK_TYPE_CODE = '800803' AND TAR_REC_FLAG = '0' AND VALIDFLAG = '1' SELECT GROUD_NO, MAT_ORIGIN_CODE, MAT_ORIGIN_NAME, SOURE_CODE, SOURE_NAME, MATERIAL_NO, MATERIAL_NAME, GRADECODE, GRADENAME, STD_CODE, STD_NAME, DIMATER, HEIGHT, ACT_LEN, FIX_NUM, FIX_LEN, Sum(ACT_COUNT)ACT_COUNT, sum(ACT_WEIGHT)ACT_WEIGHT, BELONG_CODE, BELONG_NAME, STORAGE_NO, LOCATION_NO, (SELECT S.LOCATION_NAME FROM YDM_BS_LOCATION S WHERE T.LOCATION_NO = S.LOCATION_NO)LOCATION_NAME, LARY_NO, max(TO_CHAR(INSTOCK_TIME, 'YYYY-MM-DD HH24:MI:SS')) INSTOCK_TIME, max(TO_CHAR(IN_TIME_F, 'YYYY-MM-DD HH24:MI:SS')) IN_TIME_F, MEMO, CREATE_NAME, max(TO_CHAR(CREATE_TIME, 'YYYY-MM-DD HH24:MI:SS')) CREATE_TIME, INSTOCK_DOC, VEHICLE_NO, PRODUCT_FLAG, MAT_STATUS, STOVE_NO, JUDGE_STOVE_NO, CAST_NO, CCMID, PLINE_CODE, PLINE_NAME, PRO_ORDER_NO, INSTOCK_TYPE_NAME, FURNACENO, SEQUENCENO, PRO_PLAN_ID, GX_PLAN_NO, CUT_NUM FROM YDM_GP_INLIST T WHERE INSTOCK_TYPE_CODE = '800703' SELECT COUNT(1) ACOUNT FROM YDM_GP_OUTLIST T WHERE T.OUTSTOCK_DOC = '#OUTSTOCK_DOC#' AND NVL(T.STOVE_NO,'/') = NVL('#STOVE_NO#','/') AND NVL(T.JUDGE_STOVE_NO,'/') = NVL('#JUDGE_STOVE_NO#','/') AND T.FIX_NUM = '#FIX_NUM#' AND T.FIX_LEN = '#FIX_LEN#' AND T.PRO_PLAN_ID_ZG = '#PRO_PLAN_ID_ZG#' AND T.GX_PLAN_NO_ZG = '#GX_PLAN_NO_ZG#' AND T.TAR_REC_FLAG = '1' SELECT 'IC' || TO_CHAR(SYSDATE, 'YYMMDD') || LPAD(NVL(MAX(SUBSTR(T.INSTOCK_DOC, 9)), 0) + 1, 5, 0) INSTOCK_DOC FROM YDM_GP_INLIST T WHERE T.INSTOCK_TYPE_CODE = '800703' AND T.INSTOCK_DOC LIKE 'IC' || TO_CHAR(SYSDATE, 'YYMMDD') ||'_____' SELECT 'IQ' || TO_CHAR(SYSDATE, 'YYMMDD') || LPAD(NVL(MAX(SUBSTR(T.INSTOCK_DOC, 9)), 0) + 1, 5, 0) INSTOCK_DOC FROM YDM_GP_INLIST T WHERE T.INSTOCK_TYPE_CODE = '800709' AND T.INSTOCK_DOC LIKE 'IQ' || TO_CHAR(SYSDATE, 'YYMMDD') ||'_____' SELECT 'CQ' || TO_CHAR(SYSDATE, 'YYMMDD') || LPAD(NVL(MAX(SUBSTR(T.OUTSTOCK_DOC, 9)), 0) + 1, 5, 0) OUTSTOCK_DOC FROM YDM_GP_OUTLIST T WHERE T.OUTSTOCK_TYPE_CODE = '800809' AND T.OUTSTOCK_DOC LIKE 'CQ' || TO_CHAR(SYSDATE, 'YYMMDD') ||'_____' 0) THEN UPDATE YDM_GP_OUTLIST S SET S.TAR_REC_FLAG = '0' WHERE S.MAT_NO = MYROW.MAT_NO AND S.OUTSTOCK_DOC = MYROW.OUTSTOCK_DOC AND S.OUTSTOCK_TYPE_CODE = '800803'; ELSE UPDATE YDM_GP_OUTLIST S SET S.TAR_REC_FLAG = '0' WHERE S.MAT_NO = MYROW.MAT_NO AND NVL(S.FURNACENO, '/') = NVL(MYROW.FURNACENO, '/') AND NVL(S.SEQUENCENO, '/') = NVL(MYROW.SEQUENCENO, '/') AND NVL(S.PRO_PLAN_ID, '/') = NVL(MYROW.PRO_PLAN_ID, '/') AND NVL(S.GX_PLAN_NO, '/') = NVL(MYROW.GX_PLAN_NO, '/') AND S.OUTSTOCK_TYPE_CODE = '800803'; END IF; DELETE YDM_GP_BUTTRESS W WHERE W.MAT_NO = MYROW.MAT_NO; DELETE YDM_GP_INLIST T WHERE T.MAT_NO = MYROW.MAT_NO AND T.INSTOCK_SQE = MYROW.INSTOCK_SQE AND T.LOCATION_NO = MYROW.LOCATION_NO AND T.LARY_NO = MYROW.LARY_NO; IF(V_STORAGE_NO_AREA = 0 AND V_TARSTORAGE_NO_AREA = 1)THEN DELETE YDM_GP_INLIST T WHERE T.MAT_NO = MYROW.MAT_NO AND T.STORAGE_NO = MYROW.STORAGE_NO AND T.LOCATION_NO = MYROW.LOCATION_NO AND T.INSTOCK_TYPE_CODE = '800709' AND T.SOURE_CODE = '120501'; DELETE YDM_GP_OUTLIST T WHERE T.MAT_NO = MYROW.MAT_NO AND T.OUTSTOCK_TYPE_CODE = '800809' AND T.MAT_GOWHERE_CODE = '120504'; UPDATE MAT_GP_M T SET T.SUPPLY_UNIT_CODE = '120501',T.SUPPLY_UNIT = '天津钢管制造有限公司',T.BELONG_CODE = '002001001',T.BELONG_NAME = '生产计划部' WHERE T.MAT_NO = MYROW.MAT_NO; ELSIF(V_STORAGE_NO_AREA = 1 AND V_TARSTORAGE_NO_AREA = 0)THEN DELETE YDM_GP_INLIST T WHERE T.MAT_NO = MYROW.MAT_NO AND T.STORAGE_NO = MYROW.STORAGE_NO AND T.LOCATION_NO = MYROW.LOCATION_NO AND T.INSTOCK_TYPE_CODE = '800709' AND T.SOURE_CODE = '120504'; DELETE YDM_GP_OUTLIST T WHERE T.MAT_NO = MYROW.MAT_NO AND T.OUTSTOCK_TYPE_CODE = '800809' AND T.MAT_GOWHERE_CODE = '120501'; UPDATE MAT_GP_M T SET T.SUPPLY_UNIT_CODE = '120504',T.SUPPLY_UNIT = '江苏天淮钢管有限公司',T.BELONG_CODE = '002023005',T.BELONG_NAME = '产品制造部' WHERE T.MAT_NO = MYROW.MAT_NO; END IF; END LOOP; END; ]]> SELECT SUM(T.ACT_COUNT)ACOUNT FROM YDM_GP_OUTLIST T WHERE T.OUTSTOCK_DOC = '#OUTSTOCK_DOC#' SELECT T.SEAM_AREA FROM YDM_BS_STORAGE T WHERE T.STORAGE_NO = ? 0) THEN SELECT T.JUDGE_STOVE_NO INTO V_JUDGE_STOVE_NO FROM MAT_GP_M T WHERE T.JUDGE_STOVE_NO_LG = '#JUDGE_STOVE_NO#' AND ROWNUM = 1; ELSE SELECT JUDGE_STOVE_NO INTO V_JUDGE_STOVE_NO FROM (SELECT 'A' || TO_CHAR(SYSDATE, 'YYMM') || LPAD((NVL(MAX(SUBSTR(T.JUDGE_STOVE_NO, 5)), 0) + 1), 4, 0) JUDGE_STOVE_NO FROM MAT_GP_M T WHERE T.JUDGE_STOVE_NO LIKE 'A' || TO_CHAR(SYSDATE, 'YYMM') || '____' UNION ALL SELECT 'A' || TO_CHAR(SYSDATE, 'YYMM') || LPAD((NVL(MAX(SUBSTR(T.JUDGE_STOVE_NO, 5)), 0) + 1), 4, 0) JUDGE_STOVE_NO FROM MAT_GP_M_HISTORY T WHERE T.JUDGE_STOVE_NO LIKE 'A' || TO_CHAR(SYSDATE, 'YYMM') || '____') GROUP BY JUDGE_STOVE_NO; END IF; ELSE V_JUDGE_STOVE_NO := '#JUDGE_STOVE_NO#'; END IF;*/ FOR MYROW IN (SELECT G.* FROM (SELECT S.STOVE_NO, S.JUDGE_STOVE_NO, S.PRINT_STOVE_NO, S.MAT_NO, S.PRODUCT_FLAG, S.MAT_STATUS, S.CAST_NO, S.CCMID, S.MATERIAL_NO, S.MATERIAL_NAME, S.GRADECODE, S.GRADENAME, S.GROUD_NO, S.PRO_ORDER_NO, S.ORDER_NO, S.ORDER_SEQ, S.ORDER_SEQ_NO, S.ORD_PK, S.ORD_LN_PK, S.ORD_LN_DLY_PK, S.PLINE_CODE, S.PLINE_NAME, S.BELONG_CODE, S.BELONG_NAME, S.SUPPLY_UNIT_CODE, S.SUPPLY_UNIT, S.PRO_PLAN_ID_ZG, S.GX_PLAN_NO_ZG, S.DIMATER, S.FIX_NUM, S.FIX_LEN, S.ACT_LEN, S.ACT_COUNT, S.ACT_WEIGHT, S.ACT_THEORY_WEIGHT, S.PRO_PLAN_ID, S.GX_PLAN_NO, S.FLAG_STOVE_NO, S.GPTYPE, S.FURNACENO, S.SEQUENCENO, S.CUT_NUM, S.STD_CODE, S.STD_NAME, S.MEMO, S.JUDGE_STOVE_NO_LG, T.STORAGE_NO, T.LOCATION_NO, T.OUTSTOCK_DOC, T.OUTSTOCK_TIME, T.PONDER_GROSS_WT FROM YDM_GP_OUTLIST T, MAT_GP_M S WHERE T.MAT_NO = S.MAT_NO AND T.OUTSTOCK_DOC = '#OUTSTOCK_DOC#' AND T.STOVE_NO = '#STOVE_NO#' AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.FIX_NUM = '#FIX_NUM#' AND T.STORAGE_NO = '#STORAGE_NO#' AND NVL(T.PRO_PLAN_ID_ZG, '/') = NVL('#PRO_PLAN_ID_ZG#', '/') AND NVL(T.GX_PLAN_NO_ZG, '/') = NVL('#GX_PLAN_NO_ZG#', '/') ORDER BY T.MAT_NO ASC) G WHERE ROWNUM <= '#ACT_COUNT#') LOOP V_OUTSTOCK_SQE := V_OUTSTOCK_DOC || LPAD(V_ICOUNT, 4, 0); INSERT INTO YDM_GP_OUTLIST (SUPPLY_UNIT_CODE, SUPPLY_UNIT, BAL_YEAR_MONTH, OUTSTOCK_TIME, CREATE_NAME, CREATE_TIME, GROUD_NO, PRINT_STOVE_NO, PRO_PLAN_ID, GX_PLAN_NO, FURNACENO, SEQUENCENO, GPTYPE, PRO_PLAN_ID_ZG, GX_PLAN_NO_ZG, MAT_GOWHERE_CODE, MAT_GOWHERE_NAME, 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, ACT_THEORY_WEIGHT, PLINE_CODE, PLINE_NAME, PRO_ORDER_NO, ORDER_NO, ORDER_SEQ, ORDER_SEQ_NO, ORD_PK, ORD_LN_PK, ORD_LN_DLY_PK, BELONG_CODE, BELONG_NAME, STORAGE_NO, LOCATION_NO) VALUES (MYROW.SUPPLY_UNIT_CODE, MYROW.SUPPLY_UNIT, '#BAL_YEAR_MONTH#', V_TIME, '#CREATE_NAME#', V_TIME, MYROW.GROUD_NO, MYROW.PRINT_STOVE_NO, MYROW.PRO_PLAN_ID, MYROW.GX_PLAN_NO, MYROW.FURNACENO, MYROW.SEQUENCENO, MYROW.GPTYPE, MYROW.PRO_PLAN_ID_ZG, MYROW.GX_PLAN_NO_ZG, '#SUPPLY_UNIT_CODE#', '#SUPPLY_UNIT#', V_OUTSTOCK_SQE, V_OUTSTOCK_DOC, '800809', '产权出库', 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.ACT_THEORY_WEIGHT, MYROW.PLINE_CODE, MYROW.PLINE_NAME, MYROW.PRO_ORDER_NO, MYROW.ORDER_NO, MYROW.ORDER_SEQ, MYROW.ORDER_SEQ_NO, MYROW.ORD_PK, MYROW.ORD_LN_PK, MYROW.ORD_LN_DLY_PK, MYROW.BELONG_CODE, MYROW.BELONG_NAME, MYROW.STORAGE_NO, MYROW.LOCATION_NO); V_INSTOCK_SQE := V_INSTOCK_DOC || LPAD(V_ICOUNT, 4, 0); INSERT INTO YDM_GP_INLIST (GROUD_NO, 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, STORAGE_NO, LOCATION_NO, INSTOCK_TIME, IN_TIME_F, BAL_YEAR_MONTH, MEMO, CREATE_NAME, CREATE_TIME, INSTOCK_SQE, INSTOCK_DOC, INSTOCK_TYPE_CODE, INSTOCK_TYPE_NAME, MAT_NO, PRODUCT_FLAG, MAT_STATUS, STOVE_NO, FLAG_STOVE_NO, JUDGE_STOVE_NO, CAST_NO, CCMID, PLINE_CODE, PLINE_NAME, PRO_ORDER_NO, FURNACENO, SEQUENCENO, PRO_PLAN_ID, GX_PLAN_NO, SOURE_CODE, SOURE_NAME, OUTSTOCK_TIME, OUTSTOCK_DOC, CUT_NUM, JUDGE_STOVE_NO_LG, SUPPLY_UNIT_CODE, SUPPLY_UNIT) VALUES (MYROW.GROUD_NO, MYROW.MATERIAL_NO, MYROW.MATERIAL_NAME, MYROW.GRADECODE, MYROW.GRADENAME, MYROW.STD_CODE, MYROW.STD_NAME, MYROW.DIMATER, MYROW.ACT_LEN, MYROW.FIX_NUM, MYROW.FIX_LEN, MYROW.ACT_COUNT, MYROW.PONDER_GROSS_WT, '#BELONG_CODE#', '#BELONG_NAME#', '#TAR_STORAGE_NO#', '#TAR_LOCATION_NO#', V_TIME, V_TIME, '#BAL_YEAR_MONTH#', MYROW.MEMO, '#CREATE_NAME#', V_TIME, V_INSTOCK_SQE, V_INSTOCK_DOC, '800709', '产权入库', MYROW.MAT_NO, MYROW.PRODUCT_FLAG, MYROW.MAT_STATUS, MYROW.STOVE_NO, MYROW.FLAG_STOVE_NO, MYROW.JUDGE_STOVE_NO, MYROW.CAST_NO, MYROW.CCMID, MYROW.PLINE_CODE, MYROW.PLINE_NAME, MYROW.PRO_ORDER_NO, MYROW.FURNACENO, MYROW.SEQUENCENO, MYROW.PRO_PLAN_ID, MYROW.GX_PLAN_NO, MYROW.SUPPLY_UNIT_CODE, MYROW.SUPPLY_UNIT, MYROW.OUTSTOCK_TIME, MYROW.OUTSTOCK_DOC, MYROW.CUT_NUM, MYROW.JUDGE_STOVE_NO_LG, '#SUPPLY_UNIT_CODE#', '#SUPPLY_UNIT#'); UPDATE MAT_GP_M T SET T.SUPPLY_UNIT_CODE = '#SUPPLY_UNIT_CODE#', T.SUPPLY_UNIT = '#SUPPLY_UNIT#', T.BELONG_CODE = '#BELONG_CODE#', T.BELONG_NAME = '#BELONG_NAME#', T.ACT_WEIGHT = MYROW.PONDER_GROSS_WT, T.SOURE_CODE = '00036', T.SOURE_NAME = '天津制造' WHERE T.MAT_NO = MYROW.MAT_NO; V_ICOUNT := V_ICOUNT + 1; END LOOP; END; ]]>