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