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#'