SELECT JUDGE_STOVE_NO, STOVE_NO, SUM(ORIGINAL_COUNT)ORIGINAL_COUNT, SUM(ORIGINAL_AMOUNT)ORIGINAL_AMOUNT, SUM(MONTH_1COUNT)MONTH_1COUNT, SUM(MONTH_1)MONTH_1, SUM(MONTH_2COUNT)MONTH_2COUNT, SUM(MONTH_2)MONTH_2, SUM((ORIGINAL_COUNT + MONTH_1COUNT - MONTH_2COUNT)) AS END_COUNT, SUM((ORIGINAL_AMOUNT + MONTH_1 - MONTH_2)) AS END_AMOUNT, MATERIAL_NAME, DECODE(IS_DEALER,'0','自用','1','双经销','2','来料加工','3','定销订购')IS_DEALER, DECODE(BACK_FLAG,'0','正常坯','1','回炉坯','2','套尺坯','3','掉队坯')BACK_FLAG FROM (SELECT JUDGE_STOVE_NO, STOVE_NO, SUM(ACT_COUNT) ORIGINAL_COUNT, SUM(ACT_WEIGHT) ORIGINAL_AMOUNT, 0 MONTH_1COUNT, 0 MONTH_1, 0 MONTH_2COUNT, 0 MONTH_2, MATERIAL_NAME, NVL(IS_DEALER,0)IS_DEALER, NVL(BACK_FLAG,0)BACK_FLAG FROM YDM_GP_INITIAL T WHERE T.BAL_YEAR_MONTH = ? #CONDTIONS# GROUP BY T.JUDGE_STOVE_NO,T.STOVE_NO,T.MATERIAL_NAME,T.IS_DEALER,T.BACK_FLAG UNION ALL SELECT JUDGE_STOVE_NO, STOVE_NO, 0 ORIGINAL_COUNT, 0 ORIGINAL_AMOUNT, SUM(ACT_COUNT) MONTH_1COUNT, SUM(ACT_WEIGHT) MONTH_1, 0 MONTH_2COUNT, 0 MONTH_2, MATERIAL_NAME, NVL(IS_DEALER,0)IS_DEALER, NVL(BACK_FLAG,0)BACK_FLAG FROM YDM_GP_INLIST T WHERE INSTOCK_TYPE_CODE IN('800709','800702','800711','800710','800706','800704') AND T.BAL_YEAR_MONTH = ? #CONDTIONS# GROUP BY T.JUDGE_STOVE_NO,T.STOVE_NO,T.MATERIAL_NAME,T.IS_DEALER,T.BACK_FLAG UNION ALL SELECT JUDGE_STOVE_NO, STOVE_NO, 0 ORIGINAL_COUNT, 0 ORIGINAL_AMOUNT, 0 MONTH_1COUNT, 0 MONTH_1, SUM(ACT_COUNT) MONTH_2COUNT, SUM(ACT_WEIGHT) MONTH_2, MATERIAL_NAME, NVL(IS_DEALER,0)IS_DEALER, NVL(BACK_FLAG,0)BACK_FLAG FROM YDM_GP_OUTLIST T WHERE OUTSTOCK_TYPE_CODE IN('800809','800802','800811','800808','800806') AND T.BAL_YEAR_MONTH = ? #CONDTIONS# GROUP BY T.JUDGE_STOVE_NO,T.STOVE_NO,T.MATERIAL_NAME,IS_DEALER,BACK_FLAG ) K GROUP BY JUDGE_STOVE_NO,STOVE_NO,MATERIAL_NAME,IS_DEALER,BACK_FLAG SELECT COUNT(1) FROM YDM_GP_INITIAL T WHERE T.BAL_YEAR_MONTH = ? AND T.SUPPLY_UNIT_CODE = ? SELECT * FROM (SELECT * FROM MAT_GP_M T WHERE NVL(T.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' UNION ALL SELECT * FROM MAT_GP_M_HISTORY T1 WHERE NVL(T1.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T1.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' ) WHERE ROWNUM = 1 SELECT MAX(T1.MATERIAL_NO) MATERIAL_NO, MAX(T1.MATERIAL_NAME) MATERIAL_NAME, MAX(T1.GRADECODE) GRADECODE, MAX(T1.GRADENAME) GRADENAME, MAX(T1.DIMATER) DIMATER, MAX(T1.FIX_LEN) FIX_LEN, MAX(T1.PLINE_CODE) PLINE_CODE, MAX(T1.PLINE_NAME) PLINE_NAME, MAX(T1.EF_PLINE_CODE) EF_PLINE_CODE, MAX(T1.EF_PLINE_NAME) EF_PLINE_NAME, MAX(T1.MAT_ORIGIN_CODE) MAT_ORIGIN_CODE, MAX(T1.MAT_ORIGIN_NAME) MAT_ORIGIN_NAME, TO_CHAR(MAX(T1.INSTOCK_TIME), 'YYYY-MM-DD HH24:MI:SS') INSTOCK_TIME, MAX(T1.GPTYPE) GPTYPE, MAX(T1.JUGDE_APPLY_CODE) JUGDE_APPLY_CODE, MAX(T1.PRODUCT_FLAG) PRODUCT_FLAG, MAX(T1.MAT_STATUS) MAT_STATUS, MAX(T1.SOURE_CODE) SOURE_CODE, MAX(T1.SOURE_NAME) SOURE_NAME, MAX(T1.PRO_PLAN_ID) PRO_PLAN_ID, MAX(T1.GX_PLAN_NO) GX_PLAN_NO, MAX(T1.IS_DEALER) IS_DEALER, SUM(T1.ACT_COUNT) ACT_COUNT, SUM(T1.ACT_WEIGHT) ACT_WEIGHT, T1.STORAGE_NO, T1.STORAGE_NAME, T1.BACK_FLAG FROM (SELECT MAX(T.MATERIAL_NO) MATERIAL_NO, MAX(T.MATERIAL_NAME) MATERIAL_NAME, MAX(T.GRADECODE) GRADECODE, MAX(T.GRADENAME) GRADENAME, MAX(T.DIMATER) DIMATER, MAX(T.FIX_LEN) FIX_LEN, MAX(T.PLINE_CODE) PLINE_CODE, MAX(T.PLINE_NAME) PLINE_NAME, MAX(T.EF_PLINE_CODE) EF_PLINE_CODE, MAX(T.EF_PLINE_NAME) EF_PLINE_NAME, MAX(T.MAT_ORIGIN_CODE) MAT_ORIGIN_CODE, MAX(T.MAT_ORIGIN_NAME) MAT_ORIGIN_NAME, MAX(T.INSTOCK_TIME) INSTOCK_TIME, MAX(T.GPTYPE) GPTYPE, MAX(T.JUGDE_APPLY_CODE) JUGDE_APPLY_CODE, MAX(T.PRODUCT_FLAG) PRODUCT_FLAG, MAX(T.MAT_STATUS) MAT_STATUS, MAX(T.SOURE_CODE) SOURE_CODE, MAX(T.SOURE_NAME) SOURE_NAME, MAX(T.PRO_PLAN_ID) PRO_PLAN_ID, MAX(T.GX_PLAN_NO) GX_PLAN_NO, MAX(T.IS_DEALER) IS_DEALER, S.STORAGE_NO, T.BACK_FLAG, (SELECT T1.STORAGE_NAME FROM YDM_BS_STORAGE T1 WHERE T1.STORAGE_NO = S.STORAGE_NO) STORAGE_NAME, SUM(T.ACT_COUNT) ACT_COUNT, SUM(T.ACT_WEIGHT) ACT_WEIGHT FROM MAT_GP_M T LEFT JOIN YDM_GP_BUTTRESS S ON T.MAT_NO = S.MAT_NO WHERE NVL(T.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.MATERIAL_NAME = '#MATERIAL_NAME#' AND T.QCM_STAUS = '00' AND T.BELONG_CODE = '#BELONG_CODE#' AND T.BACK_FLAG = '#BACK_FLAG#' AND NVL(T.IS_DEALER, '4') = NVL('#IS_DEALER#', '4') AND (T.JUDGE_RESULT_CODE = '40740701' OR T.INSTANCY_FLAG = '1') AND T.IS_SETFOOT = '0' GROUP BY S.STORAGE_NO, T.BACK_FLAG UNION ALL SELECT MAX(T.MATERIAL_NO) MATERIAL_NO, MAX(T.MATERIAL_NAME) MATERIAL_NAME, MAX(T.GRADECODE) GRADECODE, MAX(T.GRADENAME) GRADENAME, MAX(T.DIMATER) DIMATER, MAX(T.FIX_LEN) FIX_LEN, MAX(T.PLINE_CODE) PLINE_CODE, MAX(T.PLINE_NAME) PLINE_NAME, '' EF_PLINE_CODE, '' EF_PLINE_NAME, '' MAT_ORIGIN_CODE, '' MAT_ORIGIN_NAME, MAX(T.INSTOCK_TIME) INSTOCK_TIME, MAX(T.GPTYPE) GPTYPE, '' JUGDE_APPLY_CODE, MAX(T.PRODUCT_FLAG) PRODUCT_FLAG, MAX(T.MAT_STATUS) MAT_STATUS, '' SOURE_CODE, '' SOURE_NAME, MAX(T.PRO_PLAN_ID) PRO_PLAN_ID, MAX(T.GX_PLAN_NO) GX_PLAN_NO, MAX(T.IS_DEALER) IS_DEALER, T.STORAGE_NO, T.BACK_FLAG, (SELECT T1.STORAGE_NAME FROM YDM_BS_STORAGE T1 WHERE T1.STORAGE_NO = T.STORAGE_NO) STORAGE_NAME, SUM(T.ACT_COUNT) ACT_COUNT, SUM(T.ACT_WEIGHT) ACT_WEIGHT FROM YDM_GP_OUTLIST T WHERE NVL(T.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T.MATERIAL_NAME = '#MATERIAL_NAME#' AND T.BAL_YEAR_MONTH = '#BAL_YEAR_MONTH#' AND T.BACK_FLAG = '#BACK_FLAG#' AND NVL(T.IS_DEALER, '4') = NVL('#IS_DEALER#', '4') AND T.OUTSTOCK_TYPE_CODE IN ('800809', '800802') GROUP BY T.STORAGE_NO, T.BACK_FLAG UNION ALL SELECT MAX(T2.MATERIAL_NO) MATERIAL_NO, MAX(T2.MATERIAL_NAME) MATERIAL_NAME, MAX(T2.GRADECODE) GRADECODE, MAX(T2.GRADENAME) GRADENAME, MAX(T2.DIMATER) DIMATER, MAX(T2.FIX_LEN) FIX_LEN, MAX(T2.PLINE_CODE) PLINE_CODE, MAX(T2.PLINE_NAME) PLINE_NAME, '' EF_PLINE_CODE, '' EF_PLINE_NAME, '' MAT_ORIGIN_CODE, '' MAT_ORIGIN_NAME, MAX(T2.INSTOCK_TIME) INSTOCK_TIME, '' GPTYPE, '' JUGDE_APPLY_CODE, MAX(T2.PRODUCT_FLAG) PRODUCT_FLAG, MAX(T2.MAT_STATUS) MAT_STATUS, '' SOURE_CODE, '' SOURE_NAME, MAX(T2.PRO_PLAN_ID) PRO_PLAN_ID, MAX(T2.GX_PLAN_NO) GX_PLAN_NO, MAX(T2.IS_DEALER) IS_DEALER, T2.STORAGE_NO, T2.BACK_FLAG, (SELECT T1.STORAGE_NAME FROM YDM_BS_STORAGE T1 WHERE T1.STORAGE_NO = T2.STORAGE_NO) STORAGE_NAME, SUM('-' || T2.ACT_COUNT) ACT_COUNT, SUM('-' || T2.ACT_WEIGHT) ACT_WEIGHT FROM YDM_GP_INLIST T2 WHERE NVL(T2.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T2.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T2.MATERIAL_NAME = '#MATERIAL_NAME#' AND T2.BAL_YEAR_MONTH = '#BAL_YEAR_MONTH#' AND T2.BACK_FLAG = '#BACK_FLAG#' AND NVL(T2.IS_DEALER, '4') = NVL('#IS_DEALER#', '4') AND T2.INSTOCK_TYPE_CODE IN ('800709', '800702') GROUP BY T2.STORAGE_NO, T2.BACK_FLAG) T1 GROUP BY T1.STORAGE_NO, T1.STORAGE_NAME, T1.BACK_FLAG SELECT * FROM YDM_GP_OUTLIST T2 WHERE NVL(T2.STOVE_NO, '/') = NVL('#STOVE_NO#', '/') AND T2.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#' AND T2.OUTSTOCK_TYPE_CODE IN('800808','800809') INSERT INTO YDM_GP_INITIAL( JUDGE_STOVE_NO, PRODUCT_FLAG, MAT_STATUS, STOVE_NO, MAT_ORIGIN_CODE, MAT_ORIGIN_NAME, SOURE_CODE, SOURE_NAME, MATERIAL_NO, MATERIAL_NAME, GRADECODE, GRADENAME, DIMATER, FIX_LEN, ACT_COUNT, ACT_WEIGHT, PLINE_CODE, PLINE_NAME, BELONG_CODE, BELONG_NAME, BAL_YEAR_MONTH, INSTOCK_TIME, CREATE_NAME, CREATE_TIME, GPTYPE, JUGDE_APPLY_CODE, EF_PLINE_CODE, EF_PLINE_NAME, STORAGE_NO, STORAGE_NAME, SUPPLY_UNIT_CODE, SUPPLY_UNIT, IS_DEALER, BACK_FLAG) VALUES( '#JUDGE_STOVE_NO#', '#PRODUCT_FLAG#', '#MAT_STATUS#', '#STOVE_NO#', '#MAT_ORIGIN_CODE#', '#MAT_ORIGIN_NAME#', '#SOURE_CODE#', '#SOURE_NAME#', '#MATERIAL_NO#', '#MATERIAL_NAME#', '#GRADECODE#', '#GRADENAME#', '#DIMATER#', '#FIX_LEN#', '#ACT_COUNT#', '#ACT_WEIGHT#', '#PLINE_CODE#', '#PLINE_NAME#', '#BELONG_CODE#', '#BELONG_NAME#', '#BAL_YEAR_MONTH#', TO_DATE('#INSTOCK_TIME#','YYYY-MM-DD HH24:MI:SS'), '#CREATE_NAME#', SYSDATE, '#GPTYPE#', '#JUGDE_APPLY_CODE#', '#EF_PLINE_CODE#', '#EF_PLINE_NAME#', '#STORAGE_NO#', '#STORAGE_NAME#', '#SUPPLY_UNIT_CODE#', '#SUPPLY_UNIT#','#IS_DEALER#','#BACK_FLAG#') UPDATE QCM_GP_JUDGE_APPLY T SET T.IS_CARRY_VOER = '1' WHERE T.BAL_YEAR_MONTH = '#BAL_YEAR_MONTH#' AND (T.VALIDFLAG = '20' OR (T.VALIDFLAG = '00' AND T.INSTANCY_FLAG = '1')) AND T.JUDGE_RESULT_CODE = '40740701' AND T.IS_FLAG = '0' AND T.SUPPLY_UNIT_CODE = '#SUPPLY_UNIT_CODE#'