| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538 |
- CREATE OR REPLACE PACKAGE UIF023100_TEST IS
- -- Author : SUNJIAWANG
- -- Created : 2009-2-13 17:09:40
- -- Purpose : HCR_EDIT&SEND_TO_L2
- --update time : 2009-03-07 08:30:40
- --begin---
- --check
- PROCEDURE INIT_ROLL_MANA_NO(P_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE,
- P_POSITION VARCHAR);
- PROCEDURE CHECK_ERROR(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE,
- P_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE,
- P_POSITION VARCHAR2);
- PROCEDURE CHECK_MILL_FL(P_CHARGE_MANA_NO IN TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE);
- PROCEDURE CHECK_CHARGE_IDX(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE);
- FUNCTION GET_COIL_NO RETURN TBF02_SPEC_MILL.COIL_NO%TYPE;
- PROCEDURE ADUST_ROLL_MANA_NO;
- PROCEDURE INSERT_SPEC_ROLL(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE);
- PROCEDURE HCR_INSERT(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE);
- PROCEDURE HCR_INSERT_MILL_IDX;
- PROCEDURE HCR_INSERT_SPEC_MILL;
- PROCEDURE HCR_U_SPEC_SLAB_MILL_FL;
- PROCEDURE HCR_U_SPEC_CHARGE_MILL_FL(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE);
- PROCEDURE HCR_INSERT_SPEC_MILL_EDT;
- PROCEDURE HCR_INSERT_SPECMILL_D;
- PROCEDURE HCR_EDIT(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE,
- P_ROLL_MANA_NO VARCHAR2,
- P_POSITION VARCHAR2,
- P_REG_ID VARCHAR2,
- P_TYPE OUT VARCHAR2,
- P_ST OUT VARCHAR2,
- P_EN OUT VARCHAR2,
- P_RTN_MSG OUT VARCHAR2);
- PROCEDURE CHECK_RZGYBZ(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE);
- PROCEDURE CALLL_E_INIT_OUT_PARAM(P_TYPE OUT VARCHAR2,
- P_ST OUT VARCHAR2,
- P_EN OUT VARCHAR2);
- CURSOR CUR_HCR(V_CHARGE_MANA_NO TBF01_SPEC_SLAB.CHARGE_MANA_NO%TYPE) IS
- SELECT CHARGE_SLAB_SEQ,
- A.SLAB_EDT_SEQ -- 板坯编制号
- ,
- REPLACE(SUBSTR(SLAB_MANA_NO, 1, 1), '3', 'J') ||
- SUBSTR(SLAB_MANA_NO, 2) SLAB_MANA_NO -- 板坯号
- ,
- '' --A.COIL_NO -- 钢卷号
- ,
- '' --A.ROLL_EDT_SEQ -- 轧辊编制号
- ,
- '' --A.ROLL_MANA_NO -- 轧辊管理号
- ,
- '' --A.ROLL_NO -- 轧辊号
- ,
- '' --A.ROLL_SLAB_SEQ -- 轧辊内顺序
- ,
- '' LOT_NO -- LOT号
- ,
- 0 LOT_COIL_CNT -- LOT内钢卷个数
- ,
- 0 LOT_COIL_SEQ -- LOT内钢卷编号
- ,
-
- /* A.PRODNM_CD -- 产品代码*/
- ---------------------------------------------------------------------------------------------
- N.PRDNM_CD PRODNM_CD -- 产品代码
- --MODIFY BY SJW 090818
- --DESC :扎制计划应该传送扎制模式 而不是产品代码(梅贵平要求)
- --------------------------------------------------------------------------------------------
- ,
- B.STL_GRD SPEC_STL_GRD,
- A.STL_GRD -- 钢号
- ,
- D.FAC_STL_GRP -- 钢号组
- ,
- A.SLAB_THK -- 板坯厚度
- ,
- A.SLAB_WTH -- 板坯宽度
- ,
- A.SLAB_LEN -- 板坯长度
- ,
- A.SLAB_WGT -- 板坯重量
- ,
- '0' SLAB_TAPER -- 调宽有无代码
- ,
- A.SLAB_WTH SLAB_WTH_HEAD -- 板坯HEAD 宽度
- ,
- A.SLAB_WTH SLAB_WTH_TAIL -- 板坯TAIL 宽度
- ,
- '' WTH_CHG_STS -- 宽度变更开始位置
- ,
- '' WTH_CHG_END -- 宽度变更部分长度
- ,
- C.THK_AIM -- 厚度目标
- ,
- (SELECT T.THK_GRP_CD
- FROM TBF02_ROLL_THK_GRP T -- 厚度组代码
- WHERE T.PLT = 'H'
- AND A.ORD_THK >= T.MINI
- AND A.ORD_THK < T.MAXI) THK_GRP_CD,
- C.HOT_THK_AIM -- 热厚度AIM
- ,
- C.HOT_THK_MIN -- 热厚度MIN
- ,
- C.HOT_THK_MAX -- 热厚度MAX
- ,
- C.WTH_AIM -- 宽度AlM
- ,
- C.WTH_MIN -- 宽度MIN
- ,
- C.WTH_MAX -- 宽度MAX
- ,
- (SELECT T.WTH_GRP_CD
- FROM TBF02_ROLL_WTH_GRP T --宽度组代码
- WHERE T.PLT = 'H'
- AND A.ORD_WTH >= T.MINI
- AND A.ORD_WTH < T.MAXI) WTH_GRP_CD,
- H.MILL_LEN -- 轧钢总长度
- ,
- H.MILL_WGT --A.MILL_WGT -- 轧钢总重量
- ,
- A.HCR_CLF -- 热送代号
- ,
- A.ORD_NO -- 合同号
- ,
- A.ORD_SEQ -- 订单号
- ,
- E.ORD_USEAGE_CD -- 订单用途代码
- ,
- A.SPEC_ABBSYM -- 标准号
- ,
- E.ORDCUST_CD --A.ORD_CUST_CD -- 客户代码
- ,
- E.CUST_CD -- 客户代码
- ,
- E.DEST_CD -- 目的地代码
- ,
- A.DELV_REQ_DATE -- 交货期
- ,
- E.UST_CD -- UST区分
- ,
- A.SLAB_RT -- 去向
- ,
- A.ORD_THK -- 订单厚度
- ,
- A.ORD_WTH -- 订单宽度
- ,
- A.ORD_WGT -- 订单重量
- ,
- A.ORD_WGT_MIN -- 订单单重下限
- ,
- A.ORD_WGT_MAX -- 订单单重上限
- ,
- E.ORD_INDIA --A.ORD_INDIA 订单内径
- ,
- E.ORD_OUTDIA -- ORD_OUTDIA 订单外径
- ,
- E.PACK_METHOD -- 包装方法
- ,
- A.CAST_MANA_NO -- 浇次号
- ,
- M.CCM_PRC_LINE --A.CCM_PRC_LINE -- 连铸机号
- ,
- '' PATH_MILL_CD -- 轧制工艺流程
- ,
- A.SPM_PROC_YN -- 平整分卷指定判断
- ,
- A.SLAB_CUT_CNT -- 钢卷分割数
- ,
- '' RHF_TGT_TEMP -- 目标加热温度
- ,
- B.EXTRACT_TGT_TEMP -- 目标出炉温度
- ,
- B.EXTRACT_MIN_TEMP -- 最小出炉温度
- ,
- B.EXTRACT_MAX_TEMP -- 最大出炉温度
- ,
- B.CHARGING_TGT_TEMP -- 出炉均热度(目标)
- ,
- B.CHARGING_MAX_TEMP -- 出炉均热度(上限)
- ,
- B.INFUR_MIN_HOUR -- 在炉时间(下限)
- ,
- B.INFUR_MAX_HOUR -- 在炉时间(上限)
- ,
- B.EQ_HT_MIN_HOUR -- 均热时间(下限)
- ,
- B.EQ_HT_MAX_HOUR -- 均热时间(上限)
- ,
- (SELECT NVL(F.FUR_TME, 0)
- FROM TBF02_FUR_TIME F
- WHERE F.PLT = 'H'
- AND F.FUR_LINE = 1
- AND F.STL_GRD = A.STL_GRD
- AND F.SLAB_THK_MIN <= A.SLAB_THK
- AND F.SLAB_THK_MAX > A.SLAB_THK
- AND F.HCR_CLF = 'H') FUR_TME -- FUR_TME 炉内驻留时间
- ,
- '' MILL_TME --轧制时间
- ,
- '' FUR_IN_PRE_DTIME -- 计划加热炉装炉日期
- ,
- '' MILL_PRE_TME -- 计划轧制时间
- ,
- 0 SPEC_SLAB_EDT_SEQ -- 出钢板坯编制号
- ,
- A.STATUS_CD -- 状态区分
- ,
- '' FL --标识
- FROM TBF01_SPEC_SLAB A,
- TBH01_OPRN_STD B,
- TBB01_ORD_PROD C,
- TBD00_STLGRD D,
- TBE02_ORD_PRC E,
- TBF01_CHARGE_IDX M,
-
- /* (SELECT B.ORD_NO, B.ORD_SEQ, B.SPEC_ABBSYM, B.SPEC_STL_GRD, A.PRDNM_CD
- FROM TBA01_ORD_COMM A, TBA01_ORD_LINE B
- WHERE B.ORD_NO = A.ORD_NO) N,*/
- ----------------------------------------------------------------------------------------
- (SELECT B.ORD_NO,
- B.ORD_SEQ,
- B.SPEC_ABBSYM,
- B.SPEC_STL_GRD,
- A.PRDNM_CD
- FROM TBB01_ORD_HEAD A, TBA01_ORD_LINE B
- WHERE B.ORD_NO = A.ORD_NO
- AND B.ORD_SEQ =A.ORD_SEQ) N,
- --MODIFY BY SJW 090818
- --DESC :扎制计划应该传送扎制模式 而不是产品代码(梅贵平要求)
- ----------------------------------------------------------------------------------------
- (SELECT SLAB_EDT_SEQ,
- SUM(ORD_WGT) MILL_WGT,
- SUM(ORD_LEN) MILL_LEN
- FROM TBF01_SPEC_SLAB_D
- GROUP BY SLAB_EDT_SEQ) H
- WHERE A.ORD_NO = C.ORD_NO
- AND A.ORD_SEQ = C.ORD_SEQ
- AND A.ORD_NO = E.ORD_NO
- AND A.ORD_SEQ = E.ORD_SEQ
- AND A.ORD_NO = N.ORD_NO
- AND A.ORD_SEQ = N.ORD_SEQ
- AND A.STL_GRD = D.FAC_STL_GRD
- AND N.PRDNM_CD = B.PRDNM_CD
- AND N.SPEC_STL_GRD = B.STL_GRD
- AND N.SPEC_ABBSYM = B.SPEC_ABBSYM
- AND A.CHARGE_EDT_SEQ = M.CHARGE_EDT_SEQ
- AND A.SLAB_EDT_SEQ = H.SLAB_EDT_SEQ
- AND A.STATUS_CD IN ('A', 'B')
- AND A.CHARGE_MANA_NO = V_CHARGE_MANA_NO
- AND A.HCR_CLF = 'H'
- ORDER BY A.CHARGE_SLAB_SEQ;
- REC_HCR CUR_HCR%ROWTYPE;
- END UIF023100_TEST;
- /
- CREATE OR REPLACE PACKAGE BODY UIF023100_TEST IS
- /************************************************************************/
- /* PACKAGE UIF023100_TEST Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION CCR顺序调整 CCR指示到L2 */
- /************************************************************************/
- /* UPD_TIME | WHO | PROGRAM | CONTTENT
- /* 09-05-25 SUNJIAWANG CHECK_RZGYBZ ADD CHECK_RZGYBZ
- /* 09-06-29 SUNJIAWANG CURSOR 将扎制厚度目标更改为订单厚度传送到L2
- /* 09-07-07 SUNJIAWANG -->MILL_FL = 'N'
- /* 09-07-07 SUNJIAWANG HCR_INSERT_SPECMILL_D 增加查询 STATUS_CD = 'B'
- /* 09-08-06 SUNJIAWANG CHECK_ROLL_STATUS 增加procedure CHECK_ROLL_STATUS
- /* 09-08-18 SUNJIAWANG CUR_HCR 扎制计划应该传送扎制模式 而不是产品代码(梅贵平要求)
- /************************************************************************/
- --GOLAB PARMAETER
- V_ROLL_MANA_NO VARCHAR(5) := ''; -- new roll_mana_no
- V_ROLL_EDT_SEQ TBF02_SPEC_ROLL.ROLL_EDT_SEQ %TYPE := 0; -- new roll_edt_seq
- V_SEQ_NO TBF02_MILL_IDX.SEQ_NO%TYPE := 0; -- new seq_no
- V_SLAB_EDT_SEQ TBF02_MILL_IDX.SLAB_EDT_SEQ%TYPE := 0;
- V_ROLL_SLAB_SEQ TBF02_SPEC_MILL.ROLL_SLAB_SEQ%TYPE := 1;
- V_CURYEAR VARCHAR2(1) := ''; -- current year
- /************************************************************************/
- /* procedure CHECK_MILL_FL Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION check the mill_fl of the HCR if mill_fl = 'Y' then
- HCR not allowed to edited */
- /************************************************************************/
- /* parentProcedure: CHECK_ERROR
- /************************************************************************/
- PROCEDURE CHECK_MILL_FL(P_CHARGE_MANA_NO IN TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE) IS
- V_MILL_FL TBF01_SPEC_CHARGE.MILL_FL %TYPE := 'N'; --默认编制‘N’
- VE EXCEPTION;
- BEGIN
- SELECT T.MILL_FL
- INTO V_MILL_FL
- FROM TBF01_SPEC_CHARGE T
- WHERE T.CHARGE_MANA_NO = P_CHARGE_MANA_NO;
- IF (V_MILL_FL = 'Y') THEN
- RAISE VE;
- END IF;
- EXCEPTION
- WHEN VE THEN
- COMM.REC_ERR.P_PRG_ID := 'CHECK_MILL_FL';
- COMM.REC_ERR.P_OPERATE := 'I';
- COMM.REC_ERR.P_ERR_PARAM1 := 'MILL_FL';
- COMM.REC_ERR.P_TABLE := 'TBF01_SPEC_CHARGE';
- COMM.REC_ERR.P_ERR_MSG := '该炉次已经被编制,不允许重复编制';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure INIT_ROLL_MANA_NO Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION init the new roll_mana_no |
- 如果没有编制任何轧辊,新产生的轧辊管理号默认为'A0001',以此增加,当增加到
- 'A999'的时候,则新增加的轧辊管理号为‘B0001’如此类推至‘Z9999’ 为最大极限
- 之轧辊号 */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE INIT_ROLL_MANA_NO(P_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE,
- P_POSITION VARCHAR) IS
- LV_CNT_ROLL INTEGER := 0;
- LV_MAX_ROLL_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE := '';
- VE EXCEPTION;
- POS_VE EXCEPTION;
- BEGIN
- SELECT NVL(MAX(ROLL_MANA_NO), 'A0001')
- INTO LV_MAX_ROLL_NO
- FROM TBF02_SPEC_ROLL;
- SELECT COUNT(ROLL_MANA_NO) INTO LV_CNT_ROLL FROM TBF02_SPEC_ROLL;
- IF LV_CNT_ROLL = 0 THEN
- V_ROLL_MANA_NO := 'A0001';
- --modify by sjw 090323
- ELSIF P_ROLL_MANA_NO IS NULL THEN
- V_ROLL_MANA_NO := COMM.ADUST_ORDER(LV_MAX_ROLL_NO);
- ELSIF P_POSITION IS NOT NULL THEN
- V_ROLL_MANA_NO := COMM.ADUST_ORDER(P_ROLL_MANA_NO, P_POSITION);
- ELSE
- RAISE POS_VE;
- END IF;
- EXCEPTION
- WHEN VE THEN
- COMM.REC_ERR.P_ERR_MSG := 'ROLL_MANA_NO IS NULL';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- WHEN POS_VE THEN
- COMM.REC_ERR.P_ERR_MSG := 'POSITION IS NULL';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure CHECK_CHARGE_IDX Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 检查HCR炉次的编制顺序 |后出来的炉次不能编制在先出来的
- 炉次前 ,以连铸结束时间为准 */
- /************************************************************************/
- /* parentProcedure: CHECK_ERROR
- /************************************************************************/
- PROCEDURE CHECK_CHARGE_IDX(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE) IS
- V_PRE_CCM_END_DTIME TBF01_SPEC_CHARGE.PRE_CCM_END_DTIME%TYPE := '';
-
- VE EXCEPTION;
- V_CNT NUMBER := -1;
- BEGIN
-
- SELECT A.PRE_CCM_END_DTIME
- INTO V_PRE_CCM_END_DTIME
- FROM TBF01_SPEC_CHARGE A
- WHERE A.CHARGE_MANA_NO = P_CHARGE_MANA_NO;
-
- --LOGIC
- --先出来的炉次应该编制在后出来的炉次前
- SELECT COUNT(DISTINCT(C.CHARGE_MANA_NO))
- INTO V_CNT
- FROM TBF02_SPEC_MILL A, TBF01_SPEC_CHARGE B, TBF01_SPEC_SLAB C
- WHERE A.SLAB_EDT_SEQ = C.MILL_SLAB_EDT_SEQ
- AND B.CHARGE_EDT_SEQ = C.CHARGE_EDT_SEQ
- AND B.MILL_FL = 'Y'
- AND C.MILL_FL = 'Y'
- AND A.STATUS_CD IN ('A', 'B')
- AND ((A.ROLL_MANA_NO >= V_ROLL_MANA_NO AND
- B.PRE_CCM_END_DTIME < V_PRE_CCM_END_DTIME) OR
- (A.ROLL_MANA_NO < V_ROLL_MANA_NO AND
- B.PRE_CCM_END_DTIME > V_PRE_CCM_END_DTIME));
- IF V_CNT > 0 THEN
- RAISE VE;
- END IF;
- --exception
- EXCEPTION
- WHEN VE THEN
- COMM.REC_ERR.P_PRG_ID := 'UIF023100_TEST.CHECK_CHARGE_IDX';
- COMM.REC_ERR.P_OPERATE := 'I';
- COMM.REC_ERR.P_ERR_PARAM1 := 'V_PRE_CCM_END_DTIME';
- COMM.REC_ERR.P_TABLE := 'TBF01_SPEC_CHARGE';
- COMM.REC_ERR.P_ERR_MSG := '先出来的炉次应该编制在后出来的炉次前';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure CHECK_ROLL_STATUS Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION HCR 不能够编制在轧制进行的物料之前 */
- /************************************************************************/
- /* parentProcedure: CHECK_ERROR
- /************************************************************************/
- PROCEDURE CHECK_ROLL_STATUS(P_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE,
- P_POSITION VARCHAR2) IS
-
- LV_P_BEF_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE := ''; --转换为移动对象前的轧辊管理号
- LV_MAX_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE := '';
- LV_CNT_STATUS INTEGER := 0;
- LV_CNT_COIL_STAT INTEGER := 0;
-
- VE EXCEPTION;
-
- BEGIN
- SELECT MAX(ROLL_MANA_NO)
- INTO LV_MAX_ROLL_MANA_NO
- FROM TBF02_SPEC_MILL A
- WHERE A.STATUS_CD IN ('A', 'B');
-
- IF (P_POSITION = 'B') THEN
- LV_P_BEF_ROLL_MANA_NO := P_ROLL_MANA_NO;
- ELSIF (P_ROLL_MANA_NO < LV_MAX_ROLL_MANA_NO AND P_POSITION = 'A') THEN
- SELECT A.ROLL_MANA_NO
- INTO LV_P_BEF_ROLL_MANA_NO
- FROM (SELECT ROLL_MANA_NO
- FROM TBF02_SPEC_ROLL
- WHERE ROLL_MANA_NO > P_ROLL_MANA_NO
- ORDER BY ROLL_MANA_NO ASC) A
- WHERE ROWNUM = 1;
- END IF;
-
- SELECT SUM(DECODE(A.STATUS_CD, 'B', 1, 0)),
- SUM(DECODE(B.COIL_STAT, '0', 1, 0))
- INTO LV_CNT_STATUS, LV_CNT_COIL_STAT
- FROM TBF02_SPEC_MILL A, TBH02_COIL_COMM B
- WHERE B.SLAB_NO = A.SLAB_NO(+)
- AND B.COIL_NO = A.COIL_NO(+)
- AND A.ROLL_MANA_NO = LV_P_BEF_ROLL_MANA_NO
- AND A.STATUS_CD IN ('A', 'B');
-
- IF (LV_CNT_STATUS > 0 OR LV_CNT_COIL_STAT > 0) THEN
- RAISE VE;
- END IF;
- EXCEPTION
- WHEN VE THEN
- COMM.REC_ERR.P_PRG_ID := 'UIF023100_TEST.CHECK_ROLL_STATUS';
- COMM.REC_ERR.P_OPERATE := 'CHECK';
- COMM.REC_ERR.P_ERR_PARAM1 := 'LV_P_BEF_ROLL_MANA_NO';
- COMM.REC_ERR.P_TABLE := 'TBF02_SPEC_MILL';
- COMM.REC_ERR.P_ERR_MSG := '不能够编制在轧制进行或上料的物料之前';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure CHECK_ERROR Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION check the object error
- 检查HCR有没有被编制,被编制的炉次不能够再次被编制
- 检查炉次的顺序 ,后出来的炉次不能够编制在先出来的炉次之前
- 检查编制对象是不是有热轧工艺标准 */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE CHECK_ERROR(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE,
- P_ROLL_MANA_NO TBF02_SPEC_ROLL.ROLL_MANA_NO%TYPE,
- P_POSITION VARCHAR2) IS
- BEGIN
-
- CHECK_ROLL_STATUS(P_ROLL_MANA_NO, P_POSITION);
- CHECK_MILL_FL(P_CHARGE_MANA_NO);
- CHECK_CHARGE_IDX(P_CHARGE_MANA_NO);
- CHECK_RZGYBZ(P_CHARGE_MANA_NO);
-
- END;
- /************************************************************************/
- /* procedure ADUST_ROLL_MANA_NO Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 调整炉次顺序
- 插入插辊后的轧辊号都要增加1 */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE ADUST_ROLL_MANA_NO IS
- VE EXCEPTION;
- BEGIN
-
- UPDATE TBF02_SPEC_ROLL
- SET ROLL_MANA_NO = COMM.SEQ_INCREASE(ROLL_MANA_NO)
- WHERE ROLL_MANA_NO >= V_ROLL_MANA_NO;
-
- UPDATE TBF02_MILL_IDX T
- SET ROLL_MANA_NO = COMM.SEQ_INCREASE(ROLL_MANA_NO)
- WHERE ROLL_MANA_NO >= V_ROLL_MANA_NO;
-
- UPDATE TBF02_SPEC_MILL T
- SET ROLL_MANA_NO = COMM.SEQ_INCREASE(ROLL_MANA_NO)
- WHERE ROLL_MANA_NO >= V_ROLL_MANA_NO;
- EXCEPTION
- WHEN VE THEN
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
-
- END;
- /************************************************************************/
- /* procedure INSERT_SPEC_ROLL Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 编制对象插入TBFO2_SPEC_ROLL */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE INSERT_SPEC_ROLL(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE) IS
- SLAB_CNT INTEGER := 0;
- SUM_SLAB_WGT INTEGER := 0;
- SUM_MILL_LEN INTEGER := 0;
- V_MAX_ROLL_EDT_SEQ TBF02_SPEC_ROLL.ROLL_EDT_SEQ %TYPE;
-
- BEGIN
- /*记录要插入到轧辊中的板坯数量*/
- /* slab_cnt := slabCnt(p_charge_edt_seq); */
- --INIT
- SELECT COUNT(SLAB_EDT_SEQ), SUM(A.SLAB_WGT), SUM(A.ORD_LEN)
- INTO SLAB_CNT, SUM_SLAB_WGT, SUM_MILL_LEN
- FROM TBF01_SPEC_SLAB A
- WHERE A.STATUS_CD IN ('A', 'B')
- AND A.CHARGE_MANA_NO = P_CHARGE_MANA_NO
- AND A.HCR_CLF = 'H';
-
- SELECT NVL(MAX(ROLL_EDT_SEQ), 0)
- INTO V_MAX_ROLL_EDT_SEQ
- FROM TBF02_SPEC_ROLL;
- V_ROLL_EDT_SEQ := V_MAX_ROLL_EDT_SEQ + 1;
- --LOGIC
- INSERT INTO TBF02_SPEC_ROLL T
- (T.ROLL_EDT_SEQ,
- T.ROLL_MANA_NO,
- T.ROLL_SLAB_CNT,
- T.ROLL_SLAB_WGT,
- T.MILL_LEN,
- T.STATUS_CD,
- T.HCR_CLF,
- T.REG_DTIME,
- T.REG_ID)
-
- VALUES
- (V_MAX_ROLL_EDT_SEQ + 1,
- V_ROLL_MANA_NO,
- SLAB_CNT,
- SUM_SLAB_WGT,
- SUM_MILL_LEN,
- 'A',
- 'H',
- TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),
- COMM.REC_USER.P_REG_ID);
- END;
- /************************************************************************/
- /* procedure HCR_INSERT Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 编制对象插入 */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE HCR_INSERT(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO%TYPE) IS
- V_MAX_SEQ_NO TBF02_MILL_IDX.SEQ_NO%TYPE := 0;
- V_MAX_SLAB_EDT_SEQ TBF02_MILL_IDX.SLAB_EDT_SEQ%TYPE := 0;
- BEGIN
- --INIT
- SELECT NVL(MAX(SEQ_NO), 0) INTO V_MAX_SEQ_NO FROM TBF02_MILL_IDX;
- V_SEQ_NO := V_MAX_SEQ_NO + 1;
-
- SELECT NVL(MAX(SLAB_EDT_SEQ), 0)
- INTO V_MAX_SLAB_EDT_SEQ
- FROM TBF02_MILL_IDX;
- V_SLAB_EDT_SEQ := V_MAX_SLAB_EDT_SEQ + 1;
- --LOGIC
- --UPDATE SPEC_CHARGE_MILL_FL
- OPEN CUR_HCR(P_CHARGE_MANA_NO);
- LOOP
- FETCH CUR_HCR
- INTO REC_HCR;
- EXIT WHEN CUR_HCR %NOTFOUND;
-
- HCR_INSERT_MILL_IDX;
- HCR_INSERT_SPEC_MILL;
-
- --UPDATE SPEC_SLAB_MILL_FL AND MILL_SLAB_EDT_SEQ
- HCR_U_SPEC_SLAB_MILL_FL;
- --PARAMS++
- V_SEQ_NO := V_SEQ_NO + 1;
- V_SLAB_EDT_SEQ := V_SLAB_EDT_SEQ + 1;
- END LOOP;
-
- IF (CUR_HCR %ROWCOUNT = 0) THEN
- RAISE COMM.VE_NULL;
- END IF;
- CLOSE CUR_HCR;
-
- -- HCR_INSERT_SPECMILL_D;
- HCR_INSERT_SPEC_MILL_EDT;
-
- EXCEPTION
- WHEN COMM.VE_NULL THEN
- COMM.REC_ERR.P_PRG_ID := 'UIF023100_TEST.HCR_INSET';
- COMM.REC_ERR.P_TABLE := 'TBF02_SPEC_MILL & TBF02_MILL_IDX';
- COMM.REC_ERR.P_OPERATE := 'I';
- COMM.REC_ERR.P_ERR_MSG := '编制对象数据错误,没有记录!';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
-
- END;
- PROCEDURE HCR_INSERT_MILL_IDX IS
- BEGIN
- INSERT INTO TBF02_MILL_IDX T
- (T.SEQ_NO,
- T.SLAB_EDT_SEQ,
- T.SLAB_NO,
- T.ROLL_EDT_SEQ,
- T.ROLL_MANA_NO,
- T.STATUS_CD,
- T.L2_SEND,
- T.REG_DTIME)
- VALUES
- (V_SEQ_NO,
- V_SLAB_EDT_SEQ,
- REC_HCR.SLAB_MANA_NO,
- V_ROLL_EDT_SEQ,
- V_ROLL_MANA_NO,
- 'A',
- 'Y',
- TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'));
- END;
- PROCEDURE HCR_INSERT_SPEC_MILL IS
- V_MAX_ROLL_SLAB_SEQ TBF02_SPEC_MILL.ROLL_SLAB_SEQ%TYPE := 0;
- V_CUR_COIL_NO TBF02_SPEC_MILL.COIL_NO%TYPE := '';
- BEGIN
- --INIT
-
- SELECT NVL(MAX(ROLL_SLAB_SEQ), 0)
- INTO V_MAX_ROLL_SLAB_SEQ
- FROM TBF02_SPEC_MILL
- WHERE ROLL_MANA_NO = V_ROLL_MANA_NO;
- V_CUR_COIL_NO := GET_COIL_NO;
- V_ROLL_SLAB_SEQ := V_MAX_ROLL_SLAB_SEQ + 1;
- INSERT INTO TBF02_SPEC_MILL
- VALUES
- (V_SLAB_EDT_SEQ,
- REC_HCR.SLAB_MANA_NO,
- V_CUR_COIL_NO,
- V_ROLL_EDT_SEQ,
- V_ROLL_MANA_NO,
- V_ROLL_MANA_NO,
- V_ROLL_SLAB_SEQ,
- REC_HCR.LOT_NO,
- REC_HCR.LOT_COIL_CNT,
- REC_HCR.LOT_COIL_SEQ,
- REC_HCR.PRODNM_CD,
- REC_HCR.SPEC_STL_GRD,
- REC_HCR.STL_GRD,
- REC_HCR.FAC_STL_GRP --STL_GRP_CD
- ,
- REC_HCR.SLAB_THK,
- REC_HCR.SLAB_WTH,
- REC_HCR.SLAB_LEN,
- REC_HCR.SLAB_WGT,
- REC_HCR.SLAB_TAPER,
- REC_HCR.SLAB_WTH_HEAD,
- REC_HCR.SLAB_WTH_TAIL,
- REC_HCR.WTH_CHG_STS,
- REC_HCR.WTH_CHG_END,
- REC_HCR.THK_AIM,
- REC_HCR.THK_GRP_CD,
- REC_HCR.HOT_THK_AIM,
- REC_HCR.HOT_THK_MIN,
- REC_HCR.HOT_THK_MAX,
- REC_HCR.WTH_AIM,
- REC_HCR.WTH_MIN,
- REC_HCR.WTH_MAX,
- REC_HCR.WTH_GRP_CD,
- REC_HCR.MILL_LEN,
- REC_HCR.MILL_WGT,
- REC_HCR.HCR_CLF,
- REC_HCR.ORD_NO,
- REC_HCR.ORD_SEQ,
- REC_HCR.ORD_USEAGE_CD,
- REC_HCR.SPEC_ABBSYM,
- REC_HCR.ORDCUST_CD --ORD_CUST_CD
- ,
- REC_HCR.CUST_CD,
- REC_HCR.DEST_CD,
- REC_HCR.DELV_REQ_DATE,
- REC_HCR.UST_CD,
- REC_HCR.SLAB_RT --ROUTE
- ,
- REC_HCR.ORD_THK,
- REC_HCR.ORD_WTH,
- REC_HCR.ORD_WGT,
- REC_HCR.ORD_WGT_MIN,
- REC_HCR.ORD_WGT_MAX,
- REC_HCR.ORD_INDIA,
- REC_HCR.ORD_OUTDIA,
- REC_HCR.PACK_METHOD,
- REC_HCR.CAST_MANA_NO,
- REC_HCR.CCM_PRC_LINE,
- REC_HCR.PATH_MILL_CD,
- REC_HCR.SPM_PROC_YN,
- REC_HCR.SLAB_CUT_CNT,
- REC_HCR.RHF_TGT_TEMP,
- REC_HCR.EXTRACT_TGT_TEMP -- 目标出炉温度
- ,
- REC_HCR.EXTRACT_MIN_TEMP -- 最小出炉温度
- ,
- REC_HCR.EXTRACT_MAX_TEMP -- 最大出炉温度
- ,
- REC_HCR.CHARGING_TGT_TEMP -- 出炉均热度(目标)
- ,
- REC_HCR.CHARGING_MAX_TEMP -- 出炉均热度(上限)
- ,
- REC_HCR.INFUR_MIN_HOUR -- 在炉时间(下限)
- ,
- REC_HCR.INFUR_MAX_HOUR -- 在炉时间(上限)
- ,
- REC_HCR.EQ_HT_MIN_HOUR -- 均热时间(下限)
- ,
- REC_HCR.EQ_HT_MAX_HOUR -- 均热时间(上限)
- ,
- '' --rec_hcr.FUR_TME
- ,
- '' --rec_hcr.MILL_TME
- ,
- '' --rec_hcr.FUR_IN_PRE_DTIME
- ,
- '' --rec_hcr.MILL_PRE_TME
- ,
- '0' -- rec_hcr.SPEC_SLAB_EDT_SEQ
- ,
- 'A' -- rec_hcr.STATUS_CD
- ,
- '' -- FL
- ,
- TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),
- COMM.REC_USER.P_REG_ID,
- TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS'),
- COMM.REC_USER.P_REG_ID);
- END;
- /************************************************************************/
- /* procedure HCR_U_SPEC_SLAB_MILL_FL Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 修改HCR编制的状态 */
- /************************************************************************/
- /* parentProcedure: HCR_EDIT
- /************************************************************************/
- PROCEDURE HCR_U_SPEC_SLAB_MILL_FL IS
- BEGIN
- UPDATE TBF01_SPEC_SLAB T
- SET T.MILL_SLAB_EDT_SEQ = V_SLAB_EDT_SEQ, T.MILL_FL = 'Y'
- WHERE T.SLAB_EDT_SEQ = REC_HCR.SLAB_EDT_SEQ;
- END;
- /************************************************************************/
- /* procedure HCR_U_SPEC_CHARGE_MILL_FL Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 修改HCR编制的状态 */
- /************************************************************************/
- /* parentProcedure: HCR_INSERT
- /************************************************************************/
- PROCEDURE HCR_U_SPEC_CHARGE_MILL_FL(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE) IS
- BEGIN
- /*编制完成后,更新炉次参数表的编制状态*/
- UPDATE TBF01_SPEC_CHARGE T
- SET T.MILL_FL = 'Y'
- WHERE T.CHARGE_MANA_NO = P_CHARGE_MANA_NO;
- END;
- PROCEDURE HCR_INSERT_SPEC_MILL_EDT IS
-
- CUR_MILL_EDT COMM.REF_CURSOR;
- TYPE REC_MILL_EDT_TYPE IS RECORD(
- SLAB_EDT_SEQ TBF02_SPEC_MILL_DET.SLAB_EDT_SEQ%TYPE, -- 板坯编制号
- SLAB_NO TBF02_SPEC_MILL_DET.SLAB_NO%TYPE, -- 板坯号
- FERR_MODE TBF02_SPEC_MILL_DET.FERR_MODE%TYPE, -- 铁素体轧制模式
- FERR_CON_STA_TGT_TEMP TBF02_SPEC_MILL_DET.FERR_CON_STA_TGT_TEMP%TYPE, -- 开始铁素体轧制时温度
- FERR_CON_END_TGT_TEMP TBF02_SPEC_MILL_DET.FERR_CON_END_TGT_TEMP%TYPE, -- 结束铁素体轧制时温度
- EXTRACT_TGT_TEMP TBF02_SPEC_MILL_DET.EXTRACT_TGT_TEMP %TYPE, -- 板坯目标出炉温度
- RM1_EXIT_TGT_TEMP TBF02_SPEC_MILL_DET.RM2_EXIT_TGT_TEMP%TYPE, -- R2出口目标温度【额定R2温度】
- RM1_EXIT_MIN_TEMP TBF02_SPEC_MILL_DET.RM2_EXIT_MIN_TEMP%TYPE, -- 额定R2温度公差(-)
- RM1_EXIT_MAX_TEMP TBF02_SPEC_MILL_DET.RM2_EXIT_MAX_TEMP%TYPE, -- 额定R2温度公差(+)
- STRIP_AIM_THK TBF02_SPEC_MILL_DET.STRIP_AIM_THK%TYPE, -- 额定轧制厚度
- STRIP_MAX_THK TBF02_SPEC_MILL_DET.STRIP_MAX_THK%TYPE, -- 额定轧制厚度公差(+)
- STRIP_MIN_THK TBF02_SPEC_MILL_DET.STRIP_MIN_THK%TYPE, -- 额定轧制厚度公差(-)
- STRIP_CHG_TGT_THK TBF02_SPEC_MILL_DET.STRIP_CHG_TGT_THK%TYPE, --
- STRIP_CHG_MAX_THK TBF02_SPEC_MILL_DET.STRIP_CHG_MAX_THK%TYPE, --
- STRIP_CHG_MIN_THK TBF02_SPEC_MILL_DET.STRIP_CHG_MIN_THK%TYPE, --
- STRIP_AIM_WTH TBF02_SPEC_MILL_DET.STRIP_AIM_WTH%TYPE, -- 额定轧制宽度
- STRIP_MAX_WTH TBF02_SPEC_MILL_DET.STRIP_MAX_WTH%TYPE, -- 额定轧制宽度公差(+)
- STRIP_MIN_WTH TBF02_SPEC_MILL_DET.STRIP_MIN_WTH%TYPE, -- 额定轧制宽度公差(-)
- STRIP_TGT_TEMP TBF02_SPEC_MILL_DET.STRIP_TGT_TEMP%TYPE, -- 额定精轧出口温度
- STRIP_MIN_TEMP TBF02_SPEC_MILL_DET.STRIP_MIN_TEMP%TYPE, -- 额定精轧出口温度公差(+)
- STRIP_MAX_TEMP TBF02_SPEC_MILL_DET.STRIP_MAX_TEMP%TYPE, -- 额定精轧出口温度公差(-)
- CROWN_AIM_C39 TBF02_SPEC_MILL_DET.CROWN_AIM_C40%TYPE, -- 额定钢卷凸度 C40
- CROWN_MAX_C39 TBF02_SPEC_MILL_DET.CROWN_MAX_C40%TYPE, -- 额定钢卷凸度最小值(+)
- CROWN_MIN_C39 TBF02_SPEC_MILL_DET.CROWN_MIN_C40%TYPE, -- 额定钢卷凸度最大值(-)
- FM_SYM_STRIP_FLATNESS_DEV TBF02_SPEC_MILL_DET.FM_SYM_STRIP_FLATNESS_DEV%TYPE, -- 对称平直度偏差
- FM_ASY_STRIP_FLATNESS_DEV TBF02_SPEC_MILL_DET.FM_ASY_STRIP_FLATNESS_DEV%TYPE, -- 非对称平直度偏差
- STRIP_WEDGE_MIN TBF02_SPEC_MILL_DET.STRIP_WEDGE_MIN%TYPE, -- 钢板契型最小值
- STRIP_WEDGE_MAX TBF02_SPEC_MILL_DET.STRIP_WEDGE_MAX%TYPE, -- 钢板契型最大值
- COOLING_MODE TBF02_SPEC_MILL_DET.COOLING_MODE%TYPE, -- 冷却方式代码
- DUAL_PAHSE TBF02_SPEC_MILL_DET.DUAL_PAHSE%TYPE, -- "两阶段轧制标记铁素体 和 奥素体 轧制转换 标记"
- DUAL_TEMP TBF02_SPEC_MILL_DET.DUAL_TEMP%TYPE, -- 两阶段轧制时保持温度
- DUAL_TIME TBF02_SPEC_MILL_DET.DUAL_TIME%TYPE, -- 两阶段轧制时间
- UNCOIL_HEAD_LEN TBF02_SPEC_MILL_DET.UNCOIL_HEAD_LEN%TYPE, -- 头部开始计算 不冷却钢卷长度
- UNCOIL_TAIL_LEN TBF02_SPEC_MILL_DET.UNCOIL_TAIL_LEN%TYPE, -- 尾部开始计算 不冷却钢卷长度
- UNCOOL_AREA_LEN TBF02_SPEC_MILL_DET.UNCOOL_AREA_LEN%TYPE, -- 头部不冷却部分的长度
- COOLING_RATE_TOP TBF02_SPEC_MILL_DET.COOLING_RATE_TOP%TYPE, -- 头部冷却速率
- COOLING_RATE_BOT TBF02_SPEC_MILL_DET.COOLING_RATE_BOT%TYPE, -- 尾部冷却速率
- COOL_EXIT_TGT_TEMP TBF02_SPEC_MILL_DET.COOL_EXIT_TGT_TEMP%TYPE, -- 额定卷取温度
- COOL_EXIT_MAX_TEMP TBF02_SPEC_MILL_DET.COOL_EXIT_MAX_TEMP%TYPE, -- 额定卷取温度公差(+)
- COOL_EXIT_MIN_TEMP TBF02_SPEC_MILL_DET.COOL_EXIT_MIN_TEMP%TYPE, -- 额定卷取温度公差(-)
- SAMPLE_NO TBF02_SPEC_MILL_DET.SAMPLE_NO%TYPE, -- 取样代码
- INSPECT_YN TBF02_SPEC_MILL_DET.INSPECT_YN%TYPE, -- 对质量的观察指令
- BINDING_AMT_CIRC TBF02_SPEC_MILL_DET.BINDING_AMT_CIRC%TYPE, -- 横向打捆条数
- BINDING_AMT_RADI TBF02_SPEC_MILL_DET.BINDING_AMT_RADI%TYPE, -- 纵向打捆条数
- SMP_YS TBF02_SPEC_MILL_DET.SMP_YS%TYPE, -- 抗拉强度(TS)
- SMP_YP TBF02_SPEC_MILL_DET.SMP_YP%TYPE, -- 弯曲强度(YP)
- ALLOY_COMP_THK_DEV TBF02_SPEC_MILL_DET.ALLOY_COMP_THK_DEV%TYPE, -- 合金补正CODE
- DILAT_CURVE TBF02_SPEC_MILL_DET.DILAT_CURVE%TYPE, -- 膨胀曲线号
- DIAMOND_FLAG TBF02_SPEC_MILL_DET.DIAMOND_FLAG%TYPE, -- 花纹板 区分
- STS_FLAG TBF02_SPEC_MILL_DET.STS_FLAG%TYPE, -- 不锈钢 区分
- ORD_NO TBF02_SPEC_MILL_DET.ORD_NO%TYPE, -- 生产合同号
- COIL_LAYER TBF02_SPEC_MILL_DET.COIL_LAYER%TYPE, -- 钢卷堆放层次区分
- HAEA_TAIL_CD TBF02_SPEC_MILL_DET.HAEA_TAIL_CD%TYPE, -- 切头切尾指示
- PDI_COMM TBF02_SPEC_MILL_DET.PDI_COMM%TYPE, -- 热轧特殊指示
- CHEM_CLF TBF02_SPEC_MILL_DET.CHEM_CLF%TYPE, -- 成分值区分
- CHEM_AL TBF02_SPEC_MILL_DET.CHEM_AL%TYPE, -- Aluminium Al Content
- CHEM_AS TBF02_SPEC_MILL_DET.CHEM_AS%TYPE, -- Arsenic As Content
- CHEM_B TBF02_SPEC_MILL_DET.CHEM_B %TYPE, -- Boron B Content
- CHEM_BE TBF02_SPEC_MILL_DET.CHEM_BE%TYPE, -- Analysis of Beryllium
- CHEM_BI TBF02_SPEC_MILL_DET.CHEM_BI%TYPE, -- Bismuth Bi Content
- CHEM_C TBF02_SPEC_MILL_DET.CHEM_C %TYPE, -- Carbon C Content
- CHEM_CA TBF02_SPEC_MILL_DET.CHEM_CA%TYPE, -- Calcium Ca Content
- CHEM_CE TBF02_SPEC_MILL_DET.CHEM_CE%TYPE, -- Analysis of Cerium
- CHEM_CO TBF02_SPEC_MILL_DET.CHEM_CO%TYPE, -- Cobalt Co Content
- CHEM_CR TBF02_SPEC_MILL_DET.CHEM_CR%TYPE, -- Chromium Cr Content
- CHEM_CU TBF02_SPEC_MILL_DET.CHEM_CU%TYPE, -- Copper Cu Content
- CHEM_H TBF02_SPEC_MILL_DET.CHEM_H %TYPE, -- Hydrogen H Content
- CHEM_LA TBF02_SPEC_MILL_DET.CHEM_LA%TYPE, -- Analysis of Lanthanum
- CHEM_MG TBF02_SPEC_MILL_DET.CHEM_MG%TYPE, -- Magnesium Mg Content
- CHEM_MN TBF02_SPEC_MILL_DET.CHEM_MN%TYPE, -- Manganese Mn Content
- CHEM_MO TBF02_SPEC_MILL_DET.CHEM_MO%TYPE, -- Molybdenum Mo Content
- CHEM_N TBF02_SPEC_MILL_DET.CHEM_N %TYPE, -- Nitrogen N Content
- CHEM_NB TBF02_SPEC_MILL_DET.CHEM_NB%TYPE, -- Niobium Nb Content
- CHEM_NI TBF02_SPEC_MILL_DET.CHEM_NI%TYPE, -- Nickel Ni Content
- CHEM_O TBF02_SPEC_MILL_DET.CHEM_O %TYPE, -- Oxygen O Content
- CHEM_P TBF02_SPEC_MILL_DET.CHEM_P %TYPE, -- Phosphorus P Content
- CHEM_S TBF02_SPEC_MILL_DET.CHEM_S %TYPE, -- Sulphur S Content
- CHEM_SB TBF02_SPEC_MILL_DET.CHEM_SB%TYPE, -- Antimony Sb Content
- CHEM_SE TBF02_SPEC_MILL_DET.CHEM_SE%TYPE, -- Analysis of Selenium
- CHEM_SI TBF02_SPEC_MILL_DET.CHEM_SI%TYPE, -- Silicon Si Content
- CHEM_TI TBF02_SPEC_MILL_DET.CHEM_TI%TYPE, -- Titanium Ti Content
- CHEM_SN TBF02_SPEC_MILL_DET.CHEM_SN%TYPE, -- Tin Sn Content
- CHEM_TA TBF02_SPEC_MILL_DET.CHEM_TA%TYPE, -- Tantalum Ta Content
- CHEM_TE TBF02_SPEC_MILL_DET.CHEM_TE%TYPE, -- Analysis of Tellurium
- CHEM_PB TBF02_SPEC_MILL_DET.CHEM_PB%TYPE, -- Lead Pb Content
- CHEM_PD TBF02_SPEC_MILL_DET.CHEM_PD%TYPE, -- Analysis of Palladium
- CHEM_V TBF02_SPEC_MILL_DET.CHEM_V %TYPE, -- Vanadium V Content
- CHEM_W TBF02_SPEC_MILL_DET.CHEM_W %TYPE, -- Tungsten W Content
- CHEM_ZN TBF02_SPEC_MILL_DET.CHEM_ZN%TYPE, -- Zinc Zn Content
- CHEM_ZR TBF02_SPEC_MILL_DET.CHEM_ZR%TYPE, -- Zirconium Zr Content
- RESERVE_FIELD1 TBF02_SPEC_MILL_DET.RESERVE_FIELD1%TYPE, -- 预备 1
- RESERVE_FIELD2 TBF02_SPEC_MILL_DET.RESERVE_FIELD2%TYPE, -- 预备 2
- RESERVE_FIELD3 TBF02_SPEC_MILL_DET.RESERVE_FIELD3%TYPE, -- 预备 3
- RESERVE_FIELD4 TBF02_SPEC_MILL_DET.RESERVE_FIELD4%TYPE, -- 预备 4
- RESERVE_FIELD5 TBF02_SPEC_MILL_DET.RESERVE_FIELD5%TYPE -- 预备 5
- );
- REC_MILL_EDT REC_MILL_EDT_TYPE;
- -- CUR_MILL_EDT IS REF CURSOR;
- BEGIN
- OPEN CUR_MILL_EDT FOR
- SELECT F.SLAB_EDT_SEQ -- SLAB_EDT_SEQ 板坯编制号
- ,
- F.SLAB_NO -- SLAB_NO 板坯号
- ,
- B.FERR_MODE -- FERR_MODE 铁素体轧制模式
- ,
- B.FERR_CON_STA_TGT_TEMP -- FERR_CON_STA_TGT_TEMP 开始铁素体轧制时温度
- ,
- B.FERR_CON_END_TGT_TEMP -- FERR_CON_END_TGT_TEMP 结束铁素体轧制时温度
- ,
- B.EXTRACT_TGT_TEMP -- EXTRACT_TGT_TEMP 板坯目标出炉温度
- ,
- '' RM2_EXIT_TGT_TEMP -- RM2_EXIT_TGT_TEMP R2出口目标温度【额定R2温度】
- ,
- '' RM2_EXIT_MIN_TEMP -- RM2_EXIT_MIN_TEMP 额定R2温度公差(-)
- ,
- '' RM2_EXIT_MAX_TEMP -- RM2_EXIT_MAX_TEMP 额定R2温度公差(+)
- ,
- -- TO_CHAR(C.HOT_THK_AIM) STRIP_AIM_THK --额定轧制厚度
- TO_CHAR(D.ORD_THK) STRIP_AIM_THK --额定轧制厚度 --UPDATE 090629
- ,
- TO_CHAR(C.HOT_THK_MAX - C.HOT_THK_AIM) STRIP_MAX_THK --额定轧制厚度公差(+)
- ,
- TO_CHAR(C.HOT_THK_AIM - C.HOT_THK_MIN) STRIP_MIN_THK --额定轧制厚度公差(-)
- ,
- '' -- STRIP_CHG_TGT_THK
- ,
- '' -- STRIP_CHG_MAX_THK
- ,
- '' -- STRIP_CHG_MIN_THK
- ,
- TO_CHAR(C.WTH_AIM) STRIP_AIM_WTH --额定轧制宽度
- ,
- TO_CHAR(C.WTH_MAX - C.WTH_AIM) STRIP_MAX_WTH --额定轧制宽度公差(+)
- ,
- TO_CHAR(C.WTH_AIM - C.WTH_MIN) STRIP_MIN_WTH --额定轧制宽度公差(-)
-
- ,
- CASE
- WHEN (X.THK_MAX_LABEL = 'D' AND
- F.THK_AIM >= X.THK_MAX) THEN
- B.STRIP_TGT_TEMP2
- WHEN (X.THK_MAX_LABEL = 'C' AND F.THK_AIM > X.THK_MAX) THEN
- B.STRIP_TGT_TEMP2
- ELSE
- B.STRIP_TGT_TEMP1
- END STRIP_TGT_TEMP -- COOL_EXIT_TGT_TEMP 额定卷取温度
- ,
- B.STRIP_MIN_TEMP -- STRIP_MIN_TEMP 额定精轧出口温度公差(+)
- ,
- B.STRIP_MAX_TEMP -- STRIP_MAX_TEMP 额定精轧出口温度公差(-)
- ,
- B.FM_ENT_TGT_CROWN_40 -- CROWN_AIM_C40 额定钢卷凸度 C40
- ,
- B.FM_ENT_MAX_CROWN_40 -- CROWN_MAX_C40 额定钢卷凸度最大值(+)
- ,
- B.FM_ENT_MIN_CROWN_40 -- CROWN_MIN_C40 额定钢卷凸度最小值(-)
- ,
- B.SYM_FLATNESS_DEV -- FM_SYM_STRIP_FLATNESS_DEV 对称平直度偏差
- ,
- B.ASY_FLATNESS_DEV -- FM_ASY_STRIP_FLATNESS_DEV 非对称平直度偏差
- ,
- B.STRIP_WED_MIN -- STRIP_WEDGE_MIN 钢板契型最小值
- ,
- B.STRIP_WED_MAX -- STRIP_WEDGE_MAX 钢板契型最大值
- ,
- NVL(B.COOL_MODE, '0') COOLING_MODE --冷却方式代码
- ,
- NVL(B.DUAL_PHASE_CLF, '0') -- DUAL_PAHSE 两阶段轧制标记 铁素体 和 奥素体 轧制转换 标记
- ,
- B.DUAL_PHASE_TEMP -- DUAL_TEMP 两阶段轧制时保持温度
- ,
- B.DUAL_PHASE_TIME -- DUAL_TIME 两阶段轧制时间
- ,
- B.NON_COOL_LEN_HEAD -- UNCOIL_HEAD_LEN 头部开始计算 不冷却钢卷长度
- ,
- B.NON_COOL_LEN_TAIL -- UNCOIL_TAIL_LEN 尾部开始计算 不冷却钢卷长度
- ,
- B.NON_COOL_LEN_NOR -- UNCOOL_AREA_LEN 头部不冷却部分的长度
- ,
- NVL(B.COOL_TOP_RATE, '50') COOLING_RATE_TOP --头部冷却速率
- ,
- NVL(B.COOL_BOT_RATE, '50') COOLING_RATE_BOT --尾部冷却速率
- ,
- CASE
- WHEN (X.THK_MAX_LABEL = 'D' AND
- F.THK_AIM >= X.THK_MAX) THEN
- B.COILING_TGT_TEMP2
- WHEN (X.THK_MAX_LABEL = 'C' AND F.THK_AIM > X.THK_MAX) THEN
- B.COILING_TGT_TEMP2
- ELSE
- B.COILING_TGT_TEMP1
- END COILING_TGT_TEMP -- COOL_EXIT_TGT_TEMP 额定卷取温度
- ,
- B.COILING_MAX_TEMP -- COOL_EXIT_MAX_TEMP 额定卷取温度公差(+)
- ,
- B.COILING_MIN_TEMP -- COOL_EXIT_MIN_TEMP 额定卷取温度公差(-)
- ,
- '' -- SAMPLE_NO 取样代码
- ,
- '' -- INSPECT_YN 对质量的观察指令
- ,
- NVL(B.BINDING_WGT_CIR, '1') BINDING_AMT_CIRC --横向打捆条数
- ,
- NVL(B.BINDING_WGT_RAD, '1') BINDING_AMT_RADI --纵向打捆条数
- ,
- (SELECT CASE
- WHEN NVL(E.QLTY_MIN, 0) = 0 AND
- NVL(E.QLTY_MAX, 0) = 0 THEN
- 0
- WHEN NVL(E.QLTY_MIN, 0) <> 0 AND
- NVL(E.QLTY_MAX, 0) = 0 THEN
- E.QLTY_MIN
- WHEN NVL(E.QLTY_MIN, 0) = 0 AND
- NVL(E.QLTY_MAX, 0) <> 0 THEN
- E.QLTY_MAX
- ELSE
- (E.QLTY_MIN + E.QLTY_MAX) / 2
- END
- FROM TBB01_ORD_QLTY E
- WHERE E.ORD_NO = F.ORD_NO
- AND E.ORD_SEQ = F.ORD_SEQ
- AND E.DSN_KIND || QLTY_CD =
- (SELECT MAX(B.DSN_KIND) || MIN(B.QLTY_CD)
- FROM TBB01_ORD_QLTY B
- WHERE B.ORD_NO = F.ORD_NO
- AND B.ORD_SEQ = F.ORD_SEQ
- AND B.QLTY_CD LIKE 'EL%'
- AND B.DSN_KIND =
- (SELECT MAX(B.DSN_KIND)
- FROM TBB01_ORD_QLTY B
- WHERE B.ORD_NO = F.ORD_NO
- AND B.ORD_SEQ = F.ORD_SEQ
- AND B.QLTY_CD LIKE 'EL%')))
- -- SMP_YS 抗拉强度(TS)
- ,
- (SELECT CASE
- WHEN NVL(D.QLTY_MIN, 0) = 0 AND
- NVL(D.QLTY_MAX, 0) = 0 THEN
- 0
- WHEN NVL(D.QLTY_MIN, 0) <> 0 AND
- NVL(D.QLTY_MAX, 0) = 0 THEN
- D.QLTY_MIN
- WHEN NVL(D.QLTY_MIN, 0) = 0 AND
- NVL(D.QLTY_MAX, 0) <> 0 THEN
- D.QLTY_MAX
- ELSE
- (D.QLTY_MIN + D.QLTY_MAX) / 2
- END
- FROM TBB01_ORD_QLTY D
- WHERE D.QLTY_CD = 'TT07'
- AND D.ORD_NO = F.ORD_NO
- AND D.ORD_SEQ = F.ORD_SEQ
- AND D.DSN_KIND =
- (SELECT MAX(A.DSN_KIND)
- FROM TBB01_ORD_QLTY A
- WHERE A.ORD_NO = F.ORD_NO
- AND A.ORD_SEQ = F.ORD_SEQ
- AND A.QLTY_CD = 'TT07'))
- -- SMP_YP 弯曲强度(YP)
- ,
- B.ALLOY_COMP -- ALLOY_COMP_THK_DEV 合金补正CODE
- ,
- B.DILAT_CURVE -- DILAT_CURVE 膨胀曲线号
- ,
- '0' -- DIAMOND_FLAG 花纹板 区分
- ,
- '' -- STS_FLAG 不锈钢 区分
- ,
- F.ORD_NO || F.ORD_SEQ -- ORD_NO 生产合同号
- ,
- '1' -- COIL_LAYER 钢卷堆放层次区分
- ,
- '1' -- HAEA_TAIL_CD 切头切尾指示
- ,
- '' -- PDI_COMM 热轧特殊指示
- ,
- '1' -- CHEM_CLF 成分值区分
- ,
- G.CHEM_AL -- CHEM_Al Aluminium Al Content
- ,
- G.CHEM_AS -- CHEM_As Arsenic As Content
- ,
- G.CHEM_B -- CHEM_B Boron B Content
- ,
- G.CHEM_BE -- CHEM_Be Analysis of Beryllium
- ,
- G.CHEM_BI -- CHEM_Bi Bismuth Bi Content
- ,
- G.CHEM_C -- CHEM_C Carbon C Content
- ,
- G.CHEM_CA -- CHEM_Ca Calcium Ca Content
- ,
- G.CHEM_CE -- CHEM_Ce Analysis of Cerium
- ,
- G.CHEM_CO -- CHEM_Co Cobalt Co Content
- ,
- G.CHEM_CR -- CHEM_Cr Chromium Cr Content
- ,
- G.CHEM_CU -- CHEM_Cu Copper Cu Content
- ,
- G.CHEM_H -- CHEM_H Hydrogen H Content
- ,
- G.CHEM_LA -- CHEM_La Analysis of Lanthanum
- ,
- G.CHEM_MG -- CHEM_Mg Magnesium Mg Content
- ,
- G.CHEM_MN -- CHEM_Mn Manganese Mn Content
- ,
- G.CHEM_MO -- CHEM_Mo Molybdenum Mo Content
- ,
- G.CHEM_N -- CHEM_N Nitrogen N Content
- ,
- G.CHEM_NB -- CHEM_Nb Niobium Nb Content
- ,
- G.CHEM_NI -- CHEM_Ni Nickel Ni Content
- ,
- G.CHEM_O -- CHEM_O Oxygen O Content
- ,
- G.CHEM_P -- CHEM_P Phosphorus P Content
- ,
- G.CHEM_S -- CHEM_S Sulphur S Content
- ,
- G.CHEM_SB -- CHEM_Sb Antimony Sb Content
- ,
- G.CHEM_SE -- CHEM_Se Analysis of Selenium
- ,
- G.CHEM_SI -- CHEM_Si Silicon Si Content
- ,
- G.CHEM_TI -- CHEM_Ti Titanium Ti Content
- ,
- G.CHEM_SN -- CHEM_Sn Tin Sn Content
- ,
- G.CHEM_TA -- CHEM_Ta Tantalum Ta Content
- ,
- G.CHEM_TE -- CHEM_Te Analysis of Tellurium
- ,
- G.CHEM_PB -- CHEM_Pb Lead Pb Content
- ,
- G.CHEM_PD -- CHEM_Pd Analysis of Palladium
- ,
- G.CHEM_V -- CHEM_V Vanadium V Content
- ,
- G.CHEM_W -- CHEM_W Tungsten W Content
- ,
- G.CHEM_ZN -- CHEM_Zn Zinc Zn Content
- ,
- G.CHEM_ZR -- CHEM_Zr Zirconium Zr Content
- ,
- '' -- RESERVE_FIELD1 预备 1
- ,
- '' -- RESERVE_FIELD2 预备 2
- ,
- '' -- RESERVE_FIELD3 预备 3
- ,
- '' -- RESERVE_FIELD4 预备 4
- ,
- '' -- RESERVE_FIELD5 预备 5
- FROM TBF02_SPEC_MILL F,
- TBH01_OPRN_STD B,
- TBB01_ORD_PROD C,
- TBB01_ORD_HEAD D,
- TBH01_THK_STD X,
- (SELECT FAC_STL_GRD,
- MAX(DECODE(CHEM_CD, 'Al', CHEM_AIM)) CHEM_AL,
- MAX(DECODE(CHEM_CD, 'As', CHEM_AIM)) CHEM_AS,
- MAX(DECODE(CHEM_CD, 'B', CHEM_AIM)) CHEM_B,
- MAX(DECODE(CHEM_CD, 'Be', CHEM_AIM)) CHEM_BE,
- MAX(DECODE(CHEM_CD, 'Bi', CHEM_AIM)) CHEM_BI,
- MAX(DECODE(CHEM_CD, 'C', CHEM_AIM)) CHEM_C,
- MAX(DECODE(CHEM_CD, 'Ca', CHEM_AIM)) CHEM_CA,
- MAX(DECODE(CHEM_CD, 'Ce', CHEM_AIM)) CHEM_CE,
- MAX(DECODE(CHEM_CD, 'Co', CHEM_AIM)) CHEM_CO,
- MAX(DECODE(CHEM_CD, 'Cr', CHEM_AIM)) CHEM_CR,
- MAX(DECODE(CHEM_CD, 'Cu', CHEM_AIM)) CHEM_CU,
- MAX(DECODE(CHEM_CD, 'H', CHEM_AIM)) CHEM_H,
- MAX(DECODE(CHEM_CD, 'La', CHEM_AIM)) CHEM_LA,
- MAX(DECODE(CHEM_CD, 'Mg', CHEM_AIM)) CHEM_MG,
- MAX(DECODE(CHEM_CD, 'Mn', CHEM_AIM)) CHEM_MN,
- MAX(DECODE(CHEM_CD, 'Mo', CHEM_AIM)) CHEM_MO,
- MAX(DECODE(CHEM_CD, 'N', CHEM_AIM)) CHEM_N,
- MAX(DECODE(CHEM_CD, 'Nb', CHEM_AIM)) CHEM_NB,
- MAX(DECODE(CHEM_CD, 'Ni', CHEM_AIM)) CHEM_NI,
- MAX(DECODE(CHEM_CD, 'O', CHEM_AIM)) CHEM_O,
- MAX(DECODE(CHEM_CD, 'P', CHEM_AIM)) CHEM_P,
- MAX(DECODE(CHEM_CD, 'S', CHEM_AIM)) CHEM_S,
- MAX(DECODE(CHEM_CD, 'Sb', CHEM_AIM)) CHEM_SB,
- MAX(DECODE(CHEM_CD, 'Se', CHEM_AIM)) CHEM_SE,
- MAX(DECODE(CHEM_CD, 'Si', CHEM_AIM)) CHEM_SI,
- MAX(DECODE(CHEM_CD, 'Ti', CHEM_AIM)) CHEM_TI,
- MAX(DECODE(CHEM_CD, 'Sn', CHEM_AIM)) CHEM_SN,
- MAX(DECODE(CHEM_CD, 'Ta', CHEM_AIM)) CHEM_TA,
- MAX(DECODE(CHEM_CD, 'Te', CHEM_AIM)) CHEM_TE,
- MAX(DECODE(CHEM_CD, 'Pb', CHEM_AIM)) CHEM_PB,
- MAX(DECODE(CHEM_CD, 'Pd', CHEM_AIM)) CHEM_PD,
- MAX(DECODE(CHEM_CD, 'V', CHEM_AIM)) CHEM_V,
- MAX(DECODE(CHEM_CD, 'W', CHEM_AIM)) CHEM_W,
- MAX(DECODE(CHEM_CD, 'Zn', CHEM_AIM)) CHEM_ZN,
- MAX(DECODE(CHEM_CD, 'Zr', CHEM_AIM)) CHEM_ZR
- FROM TBB01_FAC_INGR
- GROUP BY FAC_STL_GRD) G
- WHERE F.ROLL_MANA_NO = V_ROLL_MANA_NO
- AND F.ORD_NO = D.ORD_NO(+)
- AND F.ORD_SEQ = D.ORD_SEQ(+)
- AND F.ORD_NO = C.ORD_NO(+)
- AND F.ORD_SEQ = C.ORD_SEQ(+)
- AND D.PRDNM_CD = B.PRDNM_CD(+)
- AND D.SPEC_ABBSYM = B.SPEC_ABBSYM(+)
- AND D.SPEC_STL_GRD = B.STL_GRD(+)
- AND X.THK_TGT(+) = B.THK_TGT
- AND F.STL_GRD = G.FAC_STL_GRD;
-
- LOOP
- FETCH CUR_MILL_EDT
- INTO REC_MILL_EDT;
- EXIT WHEN CUR_MILL_EDT%NOTFOUND;
- INSERT INTO TBF02_SPEC_MILL_DET
- VALUES
- (REC_MILL_EDT.SLAB_EDT_SEQ,
- REC_MILL_EDT.SLAB_NO,
- REC_MILL_EDT.FERR_MODE,
- REC_MILL_EDT.FERR_CON_STA_TGT_TEMP,
- REC_MILL_EDT.FERR_CON_END_TGT_TEMP,
- REC_MILL_EDT.EXTRACT_TGT_TEMP,
- REC_MILL_EDT.RM1_EXIT_TGT_TEMP,
- REC_MILL_EDT.RM1_EXIT_MIN_TEMP,
- REC_MILL_EDT.RM1_EXIT_MAX_TEMP,
- REC_MILL_EDT.STRIP_AIM_THK,
- REC_MILL_EDT.STRIP_MAX_THK,
- REC_MILL_EDT.STRIP_MIN_THK,
- REC_MILL_EDT.STRIP_CHG_TGT_THK,
- REC_MILL_EDT.STRIP_CHG_MAX_THK,
- REC_MILL_EDT.STRIP_CHG_MIN_THK,
- REC_MILL_EDT.STRIP_AIM_WTH,
- REC_MILL_EDT.STRIP_MAX_WTH,
- REC_MILL_EDT.STRIP_MIN_WTH,
- REC_MILL_EDT.STRIP_TGT_TEMP,
- REC_MILL_EDT.STRIP_MIN_TEMP,
- REC_MILL_EDT.STRIP_MAX_TEMP,
- REC_MILL_EDT.CROWN_AIM_C39,
- REC_MILL_EDT.CROWN_MAX_C39,
- REC_MILL_EDT.CROWN_MIN_C39,
- REC_MILL_EDT.FM_SYM_STRIP_FLATNESS_DEV,
- REC_MILL_EDT.FM_ASY_STRIP_FLATNESS_DEV,
- REC_MILL_EDT.STRIP_WEDGE_MIN,
- REC_MILL_EDT.STRIP_WEDGE_MAX,
- REC_MILL_EDT.COOLING_MODE,
- REC_MILL_EDT.DUAL_PAHSE,
- REC_MILL_EDT.DUAL_TEMP,
- REC_MILL_EDT.DUAL_TIME,
- REC_MILL_EDT.UNCOIL_HEAD_LEN,
- REC_MILL_EDT.UNCOIL_TAIL_LEN,
- REC_MILL_EDT.UNCOOL_AREA_LEN,
- REC_MILL_EDT.COOLING_RATE_TOP,
- REC_MILL_EDT.COOLING_RATE_BOT,
- REC_MILL_EDT.COOL_EXIT_TGT_TEMP,
- REC_MILL_EDT.COOL_EXIT_MAX_TEMP,
- REC_MILL_EDT.COOL_EXIT_MIN_TEMP,
- REC_MILL_EDT.SAMPLE_NO,
- REC_MILL_EDT.INSPECT_YN,
- REC_MILL_EDT.BINDING_AMT_CIRC,
- REC_MILL_EDT.BINDING_AMT_RADI,
- REC_MILL_EDT.SMP_YS,
- REC_MILL_EDT.SMP_YP,
- REC_MILL_EDT.ALLOY_COMP_THK_DEV,
- REC_MILL_EDT.DILAT_CURVE,
- REC_MILL_EDT.DIAMOND_FLAG,
- REC_MILL_EDT.STS_FLAG,
- REC_MILL_EDT.ORD_NO,
- REC_MILL_EDT.COIL_LAYER,
- REC_MILL_EDT.HAEA_TAIL_CD,
- REC_MILL_EDT.PDI_COMM,
- REC_MILL_EDT.CHEM_CLF,
- REC_MILL_EDT.CHEM_AL,
- REC_MILL_EDT.CHEM_AS,
- REC_MILL_EDT.CHEM_B,
- REC_MILL_EDT.CHEM_BE,
- REC_MILL_EDT.CHEM_BI,
- REC_MILL_EDT.CHEM_C,
- REC_MILL_EDT.CHEM_CA,
- REC_MILL_EDT.CHEM_CE,
- REC_MILL_EDT.CHEM_CO,
- REC_MILL_EDT.CHEM_CR,
- REC_MILL_EDT.CHEM_CU,
- REC_MILL_EDT.CHEM_H,
- REC_MILL_EDT.CHEM_LA,
- REC_MILL_EDT.CHEM_MG,
- REC_MILL_EDT.CHEM_MN,
- REC_MILL_EDT.CHEM_MO,
- REC_MILL_EDT.CHEM_N,
- REC_MILL_EDT.CHEM_NB,
- REC_MILL_EDT.CHEM_NI,
- REC_MILL_EDT.CHEM_O,
- REC_MILL_EDT.CHEM_P,
- REC_MILL_EDT.CHEM_S,
- REC_MILL_EDT.CHEM_SB,
- REC_MILL_EDT.CHEM_SE,
- REC_MILL_EDT.CHEM_SI,
- REC_MILL_EDT.CHEM_TI,
- REC_MILL_EDT.CHEM_SN,
- REC_MILL_EDT.CHEM_TA,
- REC_MILL_EDT.CHEM_TE,
- REC_MILL_EDT.CHEM_PB,
- REC_MILL_EDT.CHEM_PD,
- REC_MILL_EDT.CHEM_V,
- REC_MILL_EDT.CHEM_W,
- REC_MILL_EDT.CHEM_ZN,
- REC_MILL_EDT.CHEM_ZR,
- REC_MILL_EDT.RESERVE_FIELD1,
- REC_MILL_EDT.RESERVE_FIELD2,
- REC_MILL_EDT.RESERVE_FIELD3,
- REC_MILL_EDT.RESERVE_FIELD4,
- REC_MILL_EDT.RESERVE_FIELD5);
- END LOOP;
- COMM.IS_CUR_NULL(CUR_MILL_EDT);
-
- /* IF(CUR_MILL_EDT %ROWCOUNT = 0) THEN
- RAISE COMM.VE_NULL;
- END IF;
-
- CLOSE CUR_MILL_EDT;*/
-
- EXCEPTION
- WHEN COMM.VE_NULL THEN
- COMM.REC_ERR.P_PRG_ID := 'UIF023100_TEST.HCR_INSET_SPEC_MILL_EDT';
- COMM.REC_ERR.P_TABLE := 'TBF02_SPEC_MILL_EDT';
- COMM.REC_ERR.P_OPERATE := 'I';
- COMM.REC_ERR.P_ERR_PARAM1 := 'STL_GRD';
- COMM.REC_ERR.P_ERR_MSG := '请检查牌号和热轧工艺标准';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- PROCEDURE HCR_INSERT_SPECMILL_D IS
- CUR_SPEC_MILL_D COMM.REF_CURSOR;
- TYPE REC_SPEC_MILL_D_TYPE IS RECORD(
- P_SLAB_EDT_SEQ TBF02_SPEC_MILL_D.SLAB_EDT_SEQ%TYPE,
- P_SLAB_CUT_SEQ TBF02_SPEC_MILL_D.COIL_CUT_SEQ%TYPE,
- P_ORD_THK TBF02_SPEC_MILL_D.ORD_THK%TYPE,
- P_ORD_WTH TBF02_SPEC_MILL_D.ORD_WTH%TYPE,
- P_ORD_LEN TBF02_SPEC_MILL_D.ORD_LEN%TYPE,
- P_ORD_WGT TBF02_SPEC_MILL_D.ORD_WGT%TYPE,
- P_ORD_UNIT_WGT_MIN TBE02_ORD_PRC.ORD_UNIT_WGT_MIN%TYPE,
- P_ORD_UNIT_WGT_MAX TBE02_ORD_PRC.ORD_UNIT_WGT_MAX%TYPE,
- P_ORD_INDIA TBF02_SPEC_MILL_D.ORD_INDIA%TYPE,
- P_ORD_OUTDIA TBF02_SPEC_MILL_D.ORD_OUTDIA%TYPE,
- P_ORD_NO TBF02_SPEC_MILL_D.ORD_NO%TYPE,
- P_ORD_SEQ TBF02_SPEC_MILL_D.ORD_SEQ%TYPE,
- P_ORD_FL TBF02_SPEC_MILL_D.ORD_FL%TYPE);
- REC_SPECMILLD REC_SPEC_MILL_D_TYPE;
- BEGIN
- OPEN CUR_SPEC_MILL_D FOR
- SELECT B.SLAB_EDT_SEQ,
- A.SLAB_CUT_SEQ,
- A.ORD_THK,
- A.ORD_WTH,
- A.ORD_LEN,
- A.ORD_WGT,
- D.ORD_UNIT_WGT_MIN,
- D.ORD_UNIT_WGT_MAX,
- A.COIL_INDIA,
- A.COIL_OUTDIA,
- A.ORD_NO,
- A.ORD_SEQ,
- A.ORD_FL
- FROM TBF01_SPEC_SLAB_D A,
- TBF01_SPEC_SLAB C,
- TBE02_ORD_PRC D,
- (SELECT X.SLAB_EDT_SEQ
- FROM TBF02_SPEC_MILL X
- WHERE X.SLAB_EDT_SEQ NOT IN
- (SELECT SLAB_EDT_SEQ FROM TBF02_SPEC_MILL_D)) B
- WHERE A.ORD_NO = D.ORD_NO
- AND A.ORD_SEQ = D.ORD_SEQ
- AND C.SLAB_EDT_SEQ = A.SLAB_EDT_SEQ
- AND B.SLAB_EDT_SEQ = C.MILL_SLAB_EDT_SEQ
- AND C.STATUS_CD = 'B' --ADD BY SJW 090707
- AND C.MILL_FL = 'Y'
- ORDER BY B.SLAB_EDT_SEQ ASC;
- LOOP
- FETCH CUR_SPEC_MILL_D
- INTO REC_SPECMILLD;
- EXIT WHEN CUR_SPEC_MILL_D %NOTFOUND;
- INSERT INTO TBF02_SPEC_MILL_D
- (SLAB_EDT_SEQ,
- COIL_CUT_SEQ,
- ORD_THK,
- ORD_WTH,
- ORD_LEN,
- ORD_WGT,
- ORD_WGT_MIN,
- ORD_WGT_MAX,
- ORD_INDIA,
- ORD_OUTDIA,
- ORD_NO,
- ORD_SEQ,
- ORD_FL,
- STATUS_CD)
- VALUES
- (REC_SPECMILLD.P_SLAB_EDT_SEQ,
- REC_SPECMILLD.P_SLAB_CUT_SEQ,
- REC_SPECMILLD.P_ORD_THK,
- REC_SPECMILLD.P_ORD_WTH,
- REC_SPECMILLD.P_ORD_LEN,
- REC_SPECMILLD.P_ORD_WGT,
- REC_SPECMILLD.P_ORD_UNIT_WGT_MIN,
- REC_SPECMILLD.P_ORD_UNIT_WGT_MAX,
- REC_SPECMILLD.P_ORD_INDIA,
- REC_SPECMILLD.P_ORD_OUTDIA,
- REC_SPECMILLD.P_ORD_NO,
- REC_SPECMILLD.P_ORD_SEQ,
- REC_SPECMILLD.P_ORD_FL,
- 'A');
- END LOOP;
-
- COMM.IS_CUR_NULL(CUR_SPEC_MILL_D);
-
- END;
- /************************************************************************/
- /* procedure CALLL_E_INIT_OUT_PARAM Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION L2指示后返回要传送到进程处理的接口 */
- /************************************************************************/
- /* ParentProgram
- /************************************************************************/
- PROCEDURE CALLL_E_INIT_OUT_PARAM(P_TYPE OUT VARCHAR2,
- P_ST OUT VARCHAR2,
- P_EN OUT VARCHAR2) IS
- BEGIN
- SELECT MAX(ROLL_MANA_NO) INTO P_EN FROM TBF02_SPEC_ROLL;
- P_TYPE := 'R';
- P_ST := V_ROLL_MANA_NO;
- END;
- PROCEDURE HCR_EDIT(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE,
- P_ROLL_MANA_NO VARCHAR2,
- P_POSITION VARCHAR2,
- P_REG_ID VARCHAR2,
- P_TYPE OUT VARCHAR2,
- P_ST OUT VARCHAR2,
- P_EN OUT VARCHAR2,
- P_RTN_MSG OUT VARCHAR2) IS
- BEGIN
- COMM.INIT_RTN_MSG;
- INIT_ROLL_MANA_NO(P_ROLL_MANA_NO, P_POSITION);
- CHECK_ERROR(P_CHARGE_MANA_NO, P_ROLL_MANA_NO, P_POSITION);
- COMM.INIT_USER(P_REG_ID);
- ADUST_ROLL_MANA_NO;
- INSERT_SPEC_ROLL(P_CHARGE_MANA_NO);
- HCR_U_SPEC_CHARGE_MILL_FL(P_CHARGE_MANA_NO);
- HCR_INSERT(P_CHARGE_MANA_NO);
- CALLL_E_INIT_OUT_PARAM(P_TYPE, P_ST, P_EN);
- EXCEPTION
- WHEN COMM.PE THEN
- P_RTN_MSG := COMM.REC_ERR.P_RTN_MSG;
- WHEN OTHERS THEN
- COMM.CALL_OTHER_EXCEPTION_DO(P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure CHECK_RZGYBZ Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 检查热轧工艺标准 */
- /************************************************************************/
- /* EXCEPTION VE when:缺乏热轧工艺标准:炉次成分实绩
- /************************************************************************/
- PROCEDURE CHECK_RZGYBZ(P_CHARGE_MANA_NO TBF01_SPEC_CHARGE.CHARGE_MANA_NO %TYPE) IS
- VE EXCEPTION;
- LV_CUR_NULL_CNT INTEGER := 0; --游标行记录
- V_ERR_BZ_INFO VARCHAR2(1000) := '';
- V_ERR_MSG VARCHAR2(1000) := '';
-
- CURSOR CUR_ERR_BZ IS
- SELECT DISTINCT D.PRDNM_CD,
- D.SPEC_ABBSYM,
- D.SPEC_STL_GRD,
- E.FAC_STL_GRD,
- F.STL_GRD
- FROM TBF01_SPEC_SLAB F,
- TBH01_OPRN_STD B,
- TBB01_ORD_PROD C,
- (SELECT B.ORD_NO,
- B.ORD_SEQ,
- B.SPEC_ABBSYM,
- B.SPEC_STL_GRD,
- A.PRDNM_CD
- FROM TBA01_ORD_COMM A, TBA01_ORD_LINE B
- WHERE B.ORD_NO = A.ORD_NO) D,
- TBB01_FAC_INGR E
- WHERE F.ORD_NO = C.ORD_NO(+)
- AND F.ORD_SEQ = C.ORD_SEQ(+)
- AND F.ORD_NO = D.ORD_NO(+)
- AND F.ORD_SEQ = D.ORD_SEQ(+)
- AND D.PRDNM_CD = B.PRDNM_CD(+)
- AND D.SPEC_ABBSYM = B.SPEC_ABBSYM(+)
- AND D.SPEC_STL_GRD = B.STL_GRD(+)
- AND F.STL_GRD = E.FAC_STL_GRD(+)
- AND F.CHARGE_MANA_NO = P_CHARGE_MANA_NO
- AND (B.STL_GRD IS NULL OR B.SPEC_ABBSYM IS NULL OR
- E.FAC_STL_GRD IS NULL);
- REC_ERR_BZ CUR_ERR_BZ%ROWTYPE;
-
- BEGIN
- OPEN CUR_ERR_BZ;
- IF CUR_ERR_BZ %ISOPEN THEN
- LOOP
- FETCH CUR_ERR_BZ
- INTO REC_ERR_BZ;
- EXIT WHEN CUR_ERR_BZ %NOTFOUND;
- IF REC_ERR_BZ.FAC_STL_GRD IS NULL THEN
- V_ERR_BZ_INFO := REC_ERR_BZ.STL_GRD;
- V_ERR_MSG := ' 缺少厂内牌号 :' || V_ERR_BZ_INFO;
- COMM.REC_ERR. P_ERR_PARAM1 := 'FAC_STL_GRD';
- ELSE
- V_ERR_BZ_INFO := ' PRDNM_CD: ' || REC_ERR_BZ.PRDNM_CD ||
- ' SPEC_ABBSYM: ' ||
- REC_ERR_BZ.SPEC_ABBSYM ||
- ' SPEC_STL_GRD: ' ||
- REC_ERR_BZ.SPEC_STL_GRD;
- V_ERR_MSG := '缺少热轧工艺标准:' || V_ERR_BZ_INFO;
- COMM.REC_ERR. P_ERR_PARAM1 := 'SPEC_STL_GRD';
- COMM.REC_ERR. P_ERR_PARAM2 := 'SPEC_ABBSYM';
- END IF;
- LV_CUR_NULL_CNT := LV_CUR_NULL_CNT + 1;
- END LOOP;
- CLOSE CUR_ERR_BZ;
- IF LV_CUR_NULL_CNT > 0 THEN
- RAISE VE;
- END IF;
- END IF;
- EXCEPTION
- WHEN VE THEN
- COMM.REC_ERR.P_ERR_MSG := V_ERR_MSG;
- COMM.REC_ERR.P_PRG_ID := 'UIF023100_TEST.CHECK_RZGYBZ';
- COMM.REC_ERR.P_OPERATE := 'R';
- COMM.CALL_ERRDO(COMM.REC_ERR.P_RTN_MSG);
- END;
- /************************************************************************/
- /* procedure GET_COIL_NO Author: SunJiawang */
- /************************************************************************/
- /* DESCRIPTION 生成钢卷号 */
- /************************************************************************/
- FUNCTION GET_COIL_NO RETURN TBF02_SPEC_MILL.COIL_NO%TYPE IS
- V_MAX_COIL_NO TBF02_SPEC_MILL.COIL_NO %TYPE := '';
- V_COIL_NO TBF02_SPEC_MILL.COIL_NO%TYPE := '';
- BEGIN
- --INIT
- SELECT TO_CHAR(SYSDATE, 'y') INTO V_CURYEAR FROM DUAL;
- SELECT NVL(MAX(TO_NUMBER(SUBSTR(T.COIL_NO, 4, 6))), 0)
- INTO V_MAX_COIL_NO
- FROM TBF02_SPEC_MILL T
- WHERE T.COIL_NO LIKE 'R' || V_CURYEAR || '%';
- V_COIL_NO := 'R' || V_CURYEAR || '-' ||
- LPAD(TO_CHAR(V_MAX_COIL_NO + 1), 6, '0') || 'A010';
- RETURN V_COIL_NO;
- END;
- END UIF023100_TEST;
- /
|