BuybilletDAL.xml 501 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <queryMap desc="外购坯查询等业务操作 ">
  3. <query id="BuyGpDAL.getBUY_BASE_CUSTOMERALL" desc="获取供应商数据">
  4. <![CDATA[
  5. SELECT a.customer_no,a.customer_nm,a.region_no,b.wet_d,b.wet_dg,b.wet_dgf
  6. FROM BUY_BASE_CUSTOMER a
  7. LEFT JOIN BUY_BASE_REQ b
  8. ON a.Customer_No = b.customer_no
  9. ]]>
  10. </query>
  11. <query id="BuyGpDAL.getPLN_REQINF_GP" desc="获取外购坯需求数据 ">
  12. <![CDATA[
  13. SELECT ta.*,tb.GP_SYWEIGHT
  14. FROM
  15. (
  16. SELECT MATERIAL_NAME,CIC,GRADENAME,DIAMETER_GP,LEN_GP_SINGLE,
  17. COUNT(*) AS CT,SUM(GP_WEIGHT) AS GP_WEIGHT,CEIL(SUM(GP_WEIGHT)/60) * 60 AS GSWEIGHT
  18. FROM PLN_REQINF_GP
  19. WHERE BUYPLANID is null
  20. GROUP BY MATERIAL_NAME,CIC,GRADENAME,DIAMETER_GP,LEN_GP_SINGLE
  21. ) ta
  22. LEFT JOIN
  23. (
  24. SELECT a.material_name,a.cic,a.len_gp_single,sum(a.gp_syweight) as GP_SYWEIGHT FROM BUY_GP_REQ a
  25. WHERE REC_STATUS ='2'
  26. GROUP BY a.material_name,a.cic,a.len_gp_single
  27. ) tb
  28. ON ta.MATERIAL_NAME = tb.material_name
  29. AND ta.CIC = tb.cic
  30. AND ta.LEN_GP_SINGLE = tb.len_gp_single
  31. ]]>
  32. </query>
  33. <query id="BuyGpDAL.getPLN_REQINF_GP_DETAILS" desc="获取外购坯需求数据 详细数据">
  34. <![CDATA[
  35. SELECT MATERIAL_NAME,CIC,GRADENAME,DIAMETER_GP,LEN_GP_SINGLE,
  36. ORDER_NO,ORDER_SEQ,DELIVERY_NO,WEIGHT_GP_ONE,GP_WEIGHT,GP_NUM,GPREQ_ID
  37. FROM PLN_REQINF_GP
  38. WHERE BUYPLANID is null
  39. ]]>
  40. </query>
  41. <query id="BuyGpDAL.getBUY_GP_REQ" desc="获取管坯采购需求清单">
  42. <![CDATA[
  43. SELECT GPBUYPLANID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE,
  44. GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  45. MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LENGTH,
  46. WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT,
  47. WEIGHT_ASS,NUM_TOT,WEIGHT_TOT,ROLL_MONTH,GET_ENDTIME,
  48. CASE REC_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS
  49. FROM BUY_GP_REQ
  50. WHERE 1=1
  51. ORDER BY CREATE_TIME DESC
  52. ]]>
  53. </query>
  54. <query id="BuyGpDAL.getBUY_GP_REQ1" desc="获取管坯采购需求清单新">
  55. <![CDATA[
  56. SELECT GPREQ_ID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' ELSE NULL END AS REC_TYPE,
  57. CASE a.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,a.MATERIAL_NO,
  58. a.MATERIAL_NAME,a.GRADENAME,a.LEN_GP_SINGLE,
  59. CASE REQ_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报'
  60. WHEN '3' THEN '执行' WHEN '4' THEN '交齐'
  61. ELSE '' END AS REC_STATUS
  62. ,GP_WEIGHT,DIAMETER_GP,CASE WHEN REQ_STATUS='0' THEN NULL ELSE ISSUED_TIME END AS ISSUED_TIME,b.CREATE_TIME,
  63. GP_SYWEIGHT,supply_unit_code,supply_unit,decode(type_flag,'0','否','1','是','2','定销订购') type_flag,
  64. a.GPREQ_VERSION,LENGTH_GP,CUT_NUM_GP
  65. FROM PLN_REQINF_GP a,BUY_GP_ORDER b
  66. WHERE a.gpreq_id = b.gpbuyplanid(+)
  67. AND IFBUYPLAN =1 AND REQ_DONESTATUS >0
  68. ]]>
  69. </query>
  70. <query id="BuyGpDAL.updateGpreqVersion" desc="更新管理需求版本号">
  71. <![CDATA[
  72. UPDATE PLN_REQINF_GP SET GPREQ_VERSION = ? WHERE gpreq_id = ?
  73. ]]>
  74. </query>
  75. <query id="BuyGpDAL.getBUY_GP_REQ_XS" desc="获取管坯采购需求清单(供销售)">
  76. <![CDATA[
  77. SELECT GPBUYPLANID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE,
  78. GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  79. MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LENGTH,
  80. WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT,
  81. WEIGHT_ASS,NUM_TOT,WEIGHT_TOT,ROLL_MONTH,GET_ENDTIME,
  82. CASE REC_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS,
  83. NULL AS BC
  84. FROM BUY_GP_REQ
  85. WHERE 1=1 AND REC_STATUS=1
  86. ORDER BY CREATE_TIME DESC
  87. ]]>
  88. </query>
  89. <query id="BuyGpDAL.getBUY_GP_REQ_XS1" desc="获取管坯采购需求清单(供销售)(新)">
  90. <![CDATA[
  91. SELECT GPREQ_ID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' ELSE NULL END AS REC_TYPE,
  92. CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  93. MATERIAL_NAME,GRADENAME,LEN_GP_SINGLE,
  94. CASE REQ_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS
  95. ,GP_WEIGHT,
  96. NULL AS BC,DIAMETER_GP,ISSUED_TIME,SUPPLY_UNIT_CODE,SUPPLY_UNIT,DECODE(TYPE_FLAG,'0','否','1','是','2','定销订购') TYPE_FLAG
  97. FROM PLN_REQINF_GP
  98. WHERE IFBUYPLAN =1 AND REQ_DONESTATUS >0 AND REQ_STATUS = 1
  99. AND SUPPLY_UNIT_CODE='120501'
  100. ORDER BY GPREQ_ID DESC
  101. ]]>
  102. </query>
  103. <query id="BuyGpDAL.getBUY_GP_REQ_XS1TH" desc="获取管坯采购需求清单(供销售)(新)">
  104. <![CDATA[
  105. SELECT GPREQ_ID,
  106. CIC,
  107. CASE REC_TYPE
  108. WHEN '0' THEN
  109. '正常'
  110. WHEN '1' THEN
  111. '预排'
  112. ELSE
  113. NULL
  114. END AS REC_TYPE,
  115. CASE GPTYPE
  116. WHEN '0' THEN
  117. '轧坯'
  118. WHEN '1' THEN
  119. '铸坯'
  120. WHEN '2' THEN
  121. '锻坯'
  122. ELSE
  123. ''
  124. END AS GPTYPE,
  125. MATERIAL_NO,
  126. MATERIAL_NAME,
  127. GRADENAME,
  128. LEN_GP_SINGLE,
  129. CASE
  130. WHEN EXAMINE_STATUS = '2' THEN
  131. CASE REQ_STATUS
  132. WHEN '0' THEN
  133. '编制'
  134. WHEN '1' THEN
  135. '生效'
  136. WHEN '2' THEN
  137. '提报'
  138. ELSE
  139. ''
  140. END
  141. ELSE
  142. '编制'
  143. END AS REC_STATUS,
  144. GP_WEIGHT,
  145. CUT_NUM_GP AS BC,
  146. DIAMETER_GP,
  147. ISSUED_TIME,
  148. SUPPLY_UNIT_CODE,
  149. SUPPLY_UNIT,
  150. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购') TYPE_FLAG,
  151. DECODE(EXAMINE_STATUS,
  152. '0',
  153. '未审批',
  154. '1',
  155. '工艺审批',
  156. '2',
  157. '副总审批') EXAMINE_STATUS,
  158. EXAMINE_TIME,GPREQ_VERSION
  159. FROM PLN_REQINF_GP
  160. WHERE IFBUYPLAN = 1
  161. AND REQ_DONESTATUS > 0
  162. AND REQ_STATUS = 1
  163. AND SUPPLY_UNIT_CODE = '120504'
  164. AND TYPE_FLAG = '0'
  165. ORDER BY GPREQ_ID DESC
  166. ]]>
  167. </query>
  168. <query id="BuyGpDAL.getBUY_GP_REQ_XS1THSJX" desc="获取管坯采购需求清单(供销售)(新双经销)">
  169. <![CDATA[
  170. SELECT GPREQ_ID,
  171. CIC,
  172. CASE REC_TYPE
  173. WHEN '0' THEN
  174. '正常'
  175. WHEN '1' THEN
  176. '预排'
  177. ELSE
  178. NULL
  179. END AS REC_TYPE,
  180. CASE GPTYPE
  181. WHEN '0' THEN
  182. '轧坯'
  183. WHEN '1' THEN
  184. '铸坯'
  185. WHEN '2' THEN
  186. '锻坯'
  187. ELSE
  188. ''
  189. END AS GPTYPE,
  190. MATERIAL_NO,
  191. MATERIAL_NAME,
  192. GRADENAME,
  193. LEN_GP_SINGLE,
  194. CASE
  195. WHEN EXAMINE_STATUS = '2' THEN
  196. CASE REQ_STATUS
  197. WHEN '0' THEN
  198. '编制'
  199. WHEN '1' THEN
  200. '生效'
  201. WHEN '2' THEN
  202. '提报'
  203. ELSE
  204. ''
  205. END
  206. ELSE
  207. '编制'
  208. END AS REC_STATUS,
  209. GP_WEIGHT,
  210. NULL AS BC,
  211. DIAMETER_GP,
  212. ISSUED_TIME,
  213. SUPPLY_UNIT_CODE,
  214. SUPPLY_UNIT,
  215. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购') TYPE_FLAG,
  216. DECODE(EXAMINE_STATUS,
  217. '0',
  218. '未审批',
  219. '1',
  220. '工艺审批',
  221. '2',
  222. '副总审批') EXAMINE_STATUS,
  223. EXAMINE_TIME,GPREQ_VERSION
  224. FROM PLN_REQINF_GP
  225. WHERE IFBUYPLAN = 1
  226. AND REQ_DONESTATUS > 0
  227. AND REQ_STATUS = 1
  228. AND SUPPLY_UNIT_CODE = '120504'
  229. AND TYPE_FLAG = '1'
  230. ORDER BY GPREQ_ID DESC
  231. ]]>
  232. </query>
  233. <query id="BuyGpDAL.getBUY_GP_REQ_XS1THSJX1" desc="获取管坯采购需求清单(供销售)(定销订购)">
  234. <![CDATA[
  235. SELECT GPREQ_ID,
  236. CIC,
  237. CASE REC_TYPE
  238. WHEN '0' THEN
  239. '正常'
  240. WHEN '1' THEN
  241. '预排'
  242. ELSE
  243. NULL
  244. END AS REC_TYPE,
  245. CASE GPTYPE
  246. WHEN '0' THEN
  247. '轧坯'
  248. WHEN '1' THEN
  249. '铸坯'
  250. WHEN '2' THEN
  251. '锻坯'
  252. ELSE
  253. ''
  254. END AS GPTYPE,
  255. MATERIAL_NO,
  256. MATERIAL_NAME,
  257. GRADENAME,
  258. LEN_GP_SINGLE,
  259. CASE
  260. WHEN EXAMINE_STATUS = '2' THEN
  261. CASE REQ_STATUS
  262. WHEN '0' THEN
  263. '编制'
  264. WHEN '1' THEN
  265. '生效'
  266. WHEN '2' THEN
  267. '提报'
  268. ELSE
  269. ''
  270. END
  271. ELSE
  272. '编制'
  273. END AS REC_STATUS,
  274. GP_WEIGHT,
  275. NULL AS BC,
  276. DIAMETER_GP,
  277. ISSUED_TIME,
  278. SUPPLY_UNIT_CODE,
  279. SUPPLY_UNIT,
  280. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购') TYPE_FLAG,
  281. DECODE(EXAMINE_STATUS,
  282. '0',
  283. '未审批',
  284. '1',
  285. '工艺审批',
  286. '2',
  287. '副总审批') EXAMINE_STATUS,
  288. EXAMINE_TIME,GPREQ_VERSION
  289. FROM PLN_REQINF_GP
  290. WHERE IFBUYPLAN = 1
  291. AND REQ_DONESTATUS > 0
  292. AND REQ_STATUS = 1
  293. AND SUPPLY_UNIT_CODE = '120504'
  294. AND TYPE_FLAG = '2'
  295. ORDER BY GPREQ_ID DESC
  296. ]]>
  297. </query>
  298. <query id="BuyGpDAL.getBUY_GP_REQ_XS1THSJX2" desc="获取管坯采购需求清单(供销售)(定销订购)">
  299. <![CDATA[
  300. SELECT GPREQ_ID,
  301. CIC,
  302. CASE REC_TYPE
  303. WHEN '0' THEN
  304. '正常'
  305. WHEN '1' THEN
  306. '预排'
  307. ELSE
  308. NULL
  309. END AS REC_TYPE,
  310. CASE GPTYPE
  311. WHEN '0' THEN
  312. '轧坯'
  313. WHEN '1' THEN
  314. '铸坯'
  315. WHEN '2' THEN
  316. '锻坯'
  317. ELSE
  318. ''
  319. END AS GPTYPE,
  320. MATERIAL_NO,
  321. MATERIAL_NAME,
  322. GRADENAME,
  323. LEN_GP_SINGLE,
  324. CASE
  325. WHEN EXAMINE_STATUS = '2' THEN
  326. CASE REQ_STATUS
  327. WHEN '0' THEN
  328. '编制'
  329. WHEN '1' THEN
  330. '生效'
  331. WHEN '2' THEN
  332. '提报'
  333. ELSE
  334. ''
  335. END
  336. ELSE
  337. '编制'
  338. END AS REC_STATUS,
  339. GP_WEIGHT,
  340. NULL AS BC,
  341. DIAMETER_GP,
  342. ISSUED_TIME,
  343. SUPPLY_UNIT_CODE,
  344. SUPPLY_UNIT,
  345. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购', '3', '来料加工') TYPE_FLAG,
  346. DECODE(EXAMINE_STATUS,
  347. '0',
  348. '未审批',
  349. '1',
  350. '工艺审批',
  351. '2',
  352. '副总审批') EXAMINE_STATUS,
  353. EXAMINE_TIME,GPREQ_VERSION
  354. FROM PLN_REQINF_GP
  355. WHERE IFBUYPLAN = 1
  356. AND REQ_DONESTATUS > 0
  357. AND REQ_STATUS = 1
  358. AND SUPPLY_UNIT_CODE = '120504'
  359. AND TYPE_FLAG = '3'
  360. ORDER BY GPREQ_ID DESC
  361. ]]>
  362. </query>
  363. <query id="BuyGpDAL.getBUY_GP_REQ_XS1THSJX3" desc="获取管坯采购需求清单(供销售)(库存商备坯)">
  364. <![CDATA[
  365. SELECT GPREQ_ID,
  366. CIC,
  367. CASE REC_TYPE
  368. WHEN '0' THEN
  369. '正常'
  370. WHEN '1' THEN
  371. '预排'
  372. ELSE
  373. NULL
  374. END AS REC_TYPE,
  375. CASE GPTYPE
  376. WHEN '0' THEN
  377. '轧坯'
  378. WHEN '1' THEN
  379. '铸坯'
  380. WHEN '2' THEN
  381. '锻坯'
  382. ELSE
  383. ''
  384. END AS GPTYPE,
  385. MATERIAL_NO,
  386. MATERIAL_NAME,
  387. GRADENAME,
  388. LEN_GP_SINGLE,
  389. CASE
  390. WHEN EXAMINE_STATUS = '2' THEN
  391. CASE REQ_STATUS
  392. WHEN '0' THEN
  393. '编制'
  394. WHEN '1' THEN
  395. '生效'
  396. WHEN '2' THEN
  397. '提报'
  398. ELSE
  399. ''
  400. END
  401. ELSE
  402. '编制'
  403. END AS REC_STATUS,
  404. GP_WEIGHT,
  405. NULL AS BC,
  406. DIAMETER_GP,
  407. ISSUED_TIME,
  408. SUPPLY_UNIT_CODE,
  409. SUPPLY_UNIT,
  410. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购', '3', '来料加工', '3', '库存商备坯') TYPE_FLAG,
  411. DECODE(EXAMINE_STATUS,
  412. '0',
  413. '未审批',
  414. '1',
  415. '工艺审批',
  416. '2',
  417. '副总审批') EXAMINE_STATUS,
  418. EXAMINE_TIME,GPREQ_VERSION
  419. FROM PLN_REQINF_GP
  420. WHERE IFBUYPLAN = 1
  421. AND REQ_DONESTATUS > 0
  422. AND REQ_STATUS = 1
  423. AND SUPPLY_UNIT_CODE = '120504'
  424. AND TYPE_FLAG = '4'
  425. ORDER BY GPREQ_ID DESC
  426. ]]>
  427. </query>
  428. <query id="BuyGpDAL.getBUY_GP_REQ_SUPPLIER" desc="获取管坯采购需求(选取供应商)">
  429. <![CDATA[
  430. SELECT GPBUYPLANID,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE,
  431. GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  432. MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LENGTH,
  433. WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT,
  434. WEIGHT_ASS,NUM_TOT,WEIGHT_TOT
  435. FROM BUY_GP_REQ
  436. WHERE GPBUYPLANID=?
  437. ]]>
  438. </query>
  439. <query id="BuyGpDAL.getBUY_BASE_CUSTOMER" desc="获取管坯采购供货商列表">
  440. <![CDATA[
  441. SELECT '全部' AS CUSTOMER_NM,'0' AS CUSTOMER_NO FROM DUAL
  442. UNION
  443. SELECT SUPP_SHORT_NAME AS CUSTOMER_NM,SUPP_CODE AS CUSTOMER_NO FROM COM_BASE_SUPP
  444. --WHERE SUPP_CODE NOT IN ('00032','00031','00030')
  445. WHERE SUPP_TYPE ='0'
  446. ]]>
  447. </query>
  448. <query id="BuyGpDAL.getBUY_BASE_CUSTOMERSJX" desc="获取管坯采购供货商列表双经销">
  449. <![CDATA[
  450. SELECT SUPP_SHORT_NAME AS CUSTOMER_NM,SUPP_CODE AS CUSTOMER_NO FROM COM_BASE_SUPP
  451. --WHERE SUPP_CODE IN ('00032','00031','00033','00037','00038')
  452. WHERE SUPP_TYPE ='1'
  453. ]]>
  454. </query>
  455. <query id="BuyGpDAL.getBUY_BASE_CUSTOMERSJX1" desc="获取管坯采购供货商列表定销订购">
  456. <![CDATA[
  457. SELECT SUPP_SHORT_NAME AS CUSTOMER_NM,SUPP_CODE AS CUSTOMER_NO FROM COM_BASE_SUPP
  458. --WHERE SUPP_CODE IN ('00030')
  459. WHERE SUPP_TYPE ='2'
  460. ]]>
  461. </query>
  462. <query id="BuyGpDAL.getBUY_BASE_CUSTOMERSJX2" desc="获取管坯采购供货商列表来料加工">
  463. <![CDATA[
  464. SELECT SUPP_SHORT_NAME AS CUSTOMER_NM,SUPP_CODE AS CUSTOMER_NO FROM COM_BASE_SUPP
  465. --WHERE SUPP_CODE IN ('00030')
  466. WHERE SUPP_TYPE ='3'
  467. ]]>
  468. </query>
  469. <query id="BuyGpDAL.updateBUY_GP_REQ_Status2" desc="提报管坯采购需求(从生效到正式)">
  470. <![CDATA[
  471. UPDATE BUY_GP_REQ
  472. SET REC_STATUS=2
  473. WHERE REC_STATUS='1'
  474. ]]>
  475. </query>
  476. <query id="BuyGpDAL.updateBUY_GP_REQ_Status21" desc="提报管坯采购需求(从生效到正式)新">
  477. <![CDATA[
  478. UPDATE PLN_REQINF_GP
  479. SET REQ_STATUS=2
  480. WHERE REQ_STATUS='1'
  481. ]]>
  482. </query>
  483. <query id="BuyGpDAL.updateBUY_GP_REQ_Status1" desc="提报管坯采购需求(从编制到生效)">
  484. <![CDATA[
  485. UPDATE BUY_GP_REQ
  486. SET REC_STATUS=1
  487. WHERE REC_STATUS='0' AND gpbuyplanid IN ( #gpbuyplanid# )
  488. ]]>
  489. </query>
  490. <query id="BuyGpDAL.updateBUY_GP_REQ_Status0" desc="提报管坯采购需求(从生效到编制)">
  491. <![CDATA[
  492. UPDATE BUY_GP_REQ
  493. SET REC_STATUS=0
  494. WHERE REC_STATUS='1' AND gpbuyplanid IN ( #gpbuyplanid# )
  495. ]]>
  496. </query>
  497. <query id="BuyGpDAL.updateBUY_GP_REQ_Status11" desc="提报管坯采购需求(从编制到生效新)">
  498. <![CDATA[
  499. UPDATE PLN_REQINF_GP
  500. SET REQ_STATUS=1,
  501. ISSUED_TIME = sysdate
  502. WHERE REQ_STATUS='0' AND GPREQ_ID IN ( #gpbuyplanid# )
  503. ]]>
  504. </query>
  505. <query id="BuyGpDAL.updateBUY_GP_REQ_Status01" desc="提报管坯采购需求(从生效到编制新)">
  506. <![CDATA[
  507. UPDATE PLN_REQINF_GP
  508. SET REQ_STATUS=0
  509. WHERE REQ_STATUS='1' AND GPREQ_ID IN ( #gpbuyplanid# )
  510. ]]>
  511. </query>
  512. <query id="BuyGpDAL.updateBUY_GP_REQ_JQ" desc="管坯需求是否交齐">
  513. <![CDATA[
  514. UPDATE PLN_REQINF_GP
  515. SET REQ_STATUS=4
  516. WHERE REQ_STATUS='2'
  517. AND IFBUYPLAN =1
  518. AND REQ_DONESTATUS >0
  519. AND GPREQ_ID IN ( #gpbuyplanid# )
  520. ]]>
  521. </query>
  522. <query id="BuyGpDAL.updateBUY_GP_REQ_JQ_Cancel" desc="管坯需求(撤销)交齐">
  523. <![CDATA[
  524. UPDATE PLN_REQINF_GP
  525. SET REQ_STATUS=2
  526. WHERE REQ_STATUS='4'
  527. AND IFBUYPLAN =1
  528. AND REQ_DONESTATUS >0
  529. AND GPREQ_ID IN ( #gpbuyplanid# )
  530. ]]>
  531. </query>
  532. <query id="BuyGpDAL.getBUY_GP_ORDER" desc="获取采购合同表">
  533. <![CDATA[
  534. SELECT
  535. ORD_NO_PK,
  536. b.ORDER_NO,
  537. SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) AS ORDER_SQE,
  538. GPBUYPLANID,
  539. CASE b.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,
  540. SUPP_CODE,
  541. b.MATERIAL_NAME,
  542. (select agreement_desc from COM_BASE_PURCHASE_AGREEMENT
  543. where agreement_code =STD_CODE)
  544. AS STD_CODE,
  545. b.GRADENAME,
  546. DIAMETER,
  547. b.LEN_GP_SINGLE,
  548. LENGTH,
  549. WEIGHT_ONE,
  550. CAST(FIX_NUM AS INT) FIX_NUM,
  551. WEIGHT_NUM,
  552. GET_ENDTIME,
  553. b.MEMO,
  554. WEIGHT_TOT,
  555. a.ISSUED_TIME,
  556. b.CREATE_TIME,
  557. CASE REQ_STATUS
  558. WHEN '3' THEN '执行' WHEN '4' THEN '交齐'
  559. ELSE '' END AS REC_STATUS,
  560. SUPPLY_UNIT_CODE,SUPPLY_UNIT,DECODE(TYPE_FLAG,'0','否','1','是','2','定销订购') TYPE_FLAG,
  561. b.ORDER_PRICE
  562. FROM
  563. BUY_GP_ORDER b,PLN_REQINF_GP a
  564. WHERE a.gpreq_id(+) = b.gpbuyplanid AND a.SUPPLY_UNIT_CODE='120501'
  565. ]]>
  566. </query>
  567. <!-- tzh 24.10.31 Add 加入产销传回来没有坯料需求的合同信息 -->
  568. <query id="BuyGpDAL.getBUY_GP_ORDERTH" desc="获取采购合同表(天淮)">
  569. <![CDATA[
  570. select * from (
  571. SELECT
  572. ORD_NO_PK,
  573. b.ORDER_NO,
  574. SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) AS ORDER_SQE,
  575. GPBUYPLANID,
  576. CASE b.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,
  577. SUPP_CODE,
  578. b.MATERIAL_NAME,
  579. (select agreement_desc from COM_BASE_PURCHASE_AGREEMENT
  580. where agreement_code =STD_CODE)
  581. AS STD_CODE,
  582. b.GRADENAME,
  583. DIAMETER,
  584. b.LEN_GP_SINGLE,
  585. LENGTH,
  586. WEIGHT_ONE,
  587. CAST(FIX_NUM AS INT) FIX_NUM,
  588. WEIGHT_NUM,
  589. GET_ENDTIME,
  590. b.MEMO,
  591. WEIGHT_TOT,
  592. a.ISSUED_TIME,
  593. b.CREATE_TIME,
  594. CASE REQ_STATUS
  595. WHEN '3' THEN '执行' WHEN '4' THEN '交齐'
  596. ELSE '' END AS REC_STATUS,
  597. SUPPLY_UNIT_CODE,SUPPLY_UNIT,DECODE(TYPE_FLAG,'0','否','1','是','2','定销订购') TYPE_FLAG,
  598. b.ORDER_PRICE
  599. FROM
  600. BUY_GP_ORDER b,PLN_REQINF_GP a
  601. WHERE a.gpreq_id(+) = b.gpbuyplanid
  602. AND a.SUPPLY_UNIT_CODE='120504'
  603. union all
  604. SELECT
  605. ORD_NO_PK,
  606. b.ORDER_NO,
  607. SUBSTR(TO_CHAR(1000+TO_NUMBER(b.ORDER_SQE)),-3) AS ORDER_SQE,
  608. b.GPBUYPLANID,
  609. (CASE b.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END) AS GPTYPE,
  610. b.SUPP_CODE,
  611. b.MATERIAL_NAME,
  612. (select agreement_desc from COM_BASE_PURCHASE_AGREEMENT
  613. where agreement_code =b.STD_CODE) AS STD_CODE,
  614. b.GRADENAME,
  615. b.DIAMETER,
  616. b.LEN_GP_SINGLE,
  617. b.LENGTH,
  618. b.WEIGHT_ONE,
  619. CAST(b.FIX_NUM AS INT) FIX_NUM,
  620. b.WEIGHT_NUM,
  621. b.GET_ENDTIME,
  622. null MEMO,
  623. b.WEIGHT_TOT,
  624. NULL ISSUED_TIME,
  625. b.CREATE_TIME,
  626. null REC_STATUS,
  627. null SUPPLY_UNIT_CODE, null SUPPLY_UNIT,
  628. null TYPE_FLAG,
  629. b.ORDER_PRICE
  630. from BUY_GP_ORDER b where b.GPBUYPLANID LIKE 'POXQ%'
  631. )
  632. ]]>
  633. </query>
  634. <query id="BuyGpDAL.getGpBuyPlanId" desc="生成外购坯需求计划号">
  635. SELECT 'W' ||
  636. TO_CHAR(SYSDATE, 'YYYYMM') ||
  637. LPAD(NVL(MAX(TO_NUMBER(SUBSTR(T.GPBUYPLANID, 8, 11))) + 1, 1),4,'0')
  638. VERSION_NO
  639. FROM BUY_GP_REQ T
  640. WHERE SUBSTR(T.GPBUYPLANID, 2, 6) =
  641. TO_CHAR(SYSDATE, 'YYYYMM')
  642. </query>
  643. <query id="BuyGpDAL.beforeInsertBUY_GP_REQ" desc="合并管坯采购需求清单表">
  644. <![CDATA[
  645. BEGIN
  646. UPDATE BUY_GP_REQ ta
  647. SET ta.old_gp_weight = ta.old_gp_weight + (
  648. SELECT nvl(GP_WEIGHT,0) FROM
  649. (
  650. SELECT SUM(GP_WEIGHT) GP_WEIGHT,tb.material_name,tb.cic
  651. FROM PLN_REQINF_GP tb
  652. WHERE tb.buyplanid IS NULL AND tb.gpreq_id IN (#gpreq_id#)
  653. GROUP BY tb.material_name,tb.cic
  654. ) tc
  655. WHERE ta.material_name = tc.material_name AND ta.CIC = tc.CIC
  656. )
  657. WHERE ta.gpbuyplanid IN
  658. (
  659. SELECT GPBUYPLANID FROM
  660. (
  661. SELECT MIN(a.GPBUYPLANID) GPBUYPLANID,a.material_name,a.CIC FROM BUY_GP_REQ a
  662. WHERE a.Rec_Type ='0' AND a.rec_status ='0'
  663. GROUP BY a.material_name,a.CIC
  664. )
  665. );
  666. UPDATE PLN_REQINF_GP ta
  667. SET ta.buyplanid =
  668. (SELECT GPBUYPLANID FROM
  669. (
  670. SELECT MIN(a.GPBUYPLANID) GPBUYPLANID,a.material_name,a.CIC FROM BUY_GP_REQ a
  671. WHERE a.Rec_Type ='0' AND a.rec_status ='0'
  672. GROUP BY a.material_name,a.CIC
  673. ) tb
  674. WHERE ta.material_name = tb.material_name AND ta.CIC = tb.CIC
  675. )
  676. WHERE ta.gpreq_id IN (#gpreq_id#);
  677. END;
  678. ]]>
  679. </query>
  680. <query id="BuyGpDAL.insertBUY_GP_REQ" desc="插入管坯采购需求清单表">
  681. INSERT INTO
  682. BUY_GP_REQ(
  683. GPBUYPLANID ,
  684. REC_TYPE ,
  685. GPREQ_ID ,
  686. ORD_SQE_PK ,
  687. GPTYPE ,
  688. MATERIAL_NO ,
  689. MATERIAL_NAME ,
  690. GRADECODE ,
  691. GRADENAME ,
  692. DIAMETER ,
  693. LEN_GP_SINGLE ,
  694. LENGTH ,
  695. WEIGHT_ONE ,
  696. GP_NUM ,
  697. GP_WEIGHT ,
  698. OLD_GP_NUM ,
  699. OLD_GP_WEIGHT ,
  700. WEIGHT_ASS ,
  701. NUM_TOT ,
  702. WEIGHT_TOT ,
  703. ROLL_MONTH ,
  704. GET_ENDTIME ,
  705. REC_STATUS ,
  706. MEMO ,
  707. CREATE_NAME ,
  708. CREATE_TIME ,
  709. CIC
  710. )
  711. SELECT
  712. ?,
  713. '0',
  714. a.gpreq_id,
  715. NULL,
  716. a.gptype,
  717. a.material_no,
  718. a.material_name,
  719. a.gradecode,
  720. a.gradename,
  721. a.diameter_gp,
  722. a.len_gp_single,
  723. a.length_gp,
  724. a.weight_gp_one,
  725. NULL,
  726. NULL,
  727. (select sum(gp_num) from PLN_REQINF_GP WHERE
  728. gpreq_id in ( #gpreq_id# )),
  729. a.gp_weight,
  730. CEIL(a.gp_weight/60) * 60,
  731. NULL,
  732. NULL,
  733. NULL,
  734. NULL,
  735. '0',
  736. NULL,
  737. NULL,
  738. SYSDATE,
  739. CIC
  740. FROM PLN_REQINF_GP a
  741. WHERE a.BUYPLANID IS NULL
  742. AND a.gpreq_id = ?
  743. </query>
  744. <query id="BuyGpDAL.insertBUY_GP_REQ_YP" desc="插入管坯采购需求(预排)清单表">
  745. INSERT INTO
  746. BUY_GP_REQ(
  747. GPBUYPLANID ,
  748. REC_TYPE ,
  749. GPTYPE ,
  750. MATERIAL_NAME ,
  751. GRADENAME ,
  752. DIAMETER ,
  753. LEN_GP_SINGLE ,
  754. OLD_GP_WEIGHT ,
  755. CREATE_TIME ,
  756. GRADECODE ,
  757. CIC ,
  758. MATERIAL_NO
  759. )
  760. SELECT
  761. ?,
  762. 1,
  763. ?,
  764. ?,
  765. ?,
  766. ?,
  767. ?,
  768. ?,
  769. SYSDATE,
  770. (SELECT MAX(GRADECODE) FROM
  771. COM_BASE_GRADE WHERE GRADENAME=?),
  772. ?,
  773. ? || (SELECT MAX(SPEC_CODE) FROM
  774. COM_BASE_SPEC WHERE SPEC_NAME
  775. =?)||','||(SELECT MAX(GRADECODE) FROM
  776. COM_BASE_GRADE WHERE
  777. GRADENAME=?)
  778. FROM DUAL
  779. </query>
  780. <query id="BuyGpDAL.updatePLN_REQINF_GP_buyplanid" desc="插入管坯采购需求清单后级联更新外购坯需求数据">
  781. UPDATE
  782. PLN_REQINF_GP
  783. SET BUYPLANID = ?
  784. WHERE BUYPLANID IS NULL
  785. </query>
  786. <query id="BuyGpDAL.deleteBUY_GP_REQ" desc="删除管坯采购需求清单表">
  787. <![CDATA[
  788. BEGIN
  789. UPDATE PLN_REQINF_GP
  790. SET BUYPLANID=NULL
  791. WHERE BUYPLANID IN (
  792. SELECT GPBUYPLANID FROM BUY_GP_REQ
  793. WHERE REC_STATUS='0'
  794. AND GPBUYPLANID IN ( #GPPBUYPLANID# )
  795. );
  796. DELETE FROM BUY_GP_REQ
  797. WHERE REC_STATUS='0'
  798. AND GPBUYPLANID IN ( #GPPBUYPLANID# );
  799. END;
  800. ]]>
  801. </query>
  802. <query id="BuyGpDAL.insertBUY_GP_ORDER" desc="插入采购合同表">
  803. <![CDATA[
  804. INSERT INTO BUY_GP_ORDER(
  805. ORD_NO_PK,
  806. ORD_SQE_PK,
  807. ORDER_NO,
  808. ORDER_SQE,
  809. GPBUYPLANID,
  810. GPTYPE,
  811. SUPP_CODE,
  812. MATERIAL_NO,
  813. MATERIAL_NAME,
  814. STD_CODE,
  815. GRADECODE,
  816. GRADENAME,
  817. DIAMETER,
  818. LEN_GP_SINGLE,
  819. LENGTH,
  820. WEIGHT_ONE,
  821. FIX_NUM,
  822. WEIGHT_NUM,
  823. GET_ENDTIME,
  824. WEIGHT_TOT
  825. )
  826. with t
  827. as
  828. (
  829. SELECT e.gpbuyplanid as gpid,
  830. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  831. FROM
  832. (
  833. SELECT a.gpbuyplanid,a.cic,a.diameter,a.len_gp_single
  834. FROM BUY_GP_REQ a
  835. WHERE a.rec_status ='1'
  836. ) e
  837. INNER JOIN
  838. (
  839. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  840. INNER JOIN com_base_purchase_std_idx d
  841. ON c.agreement_code = d.agreement_code
  842. WHERE c.supp_name =?
  843. )f
  844. ON e.cic = f.std_idx
  845. INNER JOIN
  846. COM_BASE_PURCHASE_RANGE k
  847. ON f.supp_code = k.supp_code
  848. AND e.diameter = to_number(k.spec_name)
  849. )
  850. SELECT
  851. SYS_GUID(),
  852. SYS_GUID(),
  853. NULL,
  854. NULL,
  855. GPBUYPLANID,
  856. GPTYPE,
  857. ?,
  858. MATERIAL_NO,
  859. MATERIAL_NAME,
  860. (SELECT c.agreement_code FROM COM_BASE_PURCHASE_PROVIDER c
  861. INNER JOIN com_base_purchase_std_idx d
  862. ON c.agreement_code = d.agreement_code
  863. WHERE c.supp_name =? AND d.std_idx= a.CIC),
  864. GRADECODE,
  865. GRADENAME,
  866. DIAMETER,
  867. LEN_GP_SINGLE,
  868. LEN_GP_SINGLE * BC,
  869. WEIGHT_ONE,
  870. BC,
  871. NULL,
  872. NULL,
  873. OLD_GP_WEIGHT
  874. FROM
  875. BUY_GP_REQ a
  876. INNER JOIN t
  877. ON a.GPBUYPLANID = t.gpid
  878. WHERE 1=1 AND BC IS NOT NULL
  879. ]]>
  880. </query>
  881. <query id="BuyGpDAL.insertBUY_GP_ORDER1" desc="插入采购合同表(新)">
  882. <![CDATA[
  883. INSERT INTO BUY_GP_ORDER(
  884. ORD_NO_PK,
  885. ORD_SQE_PK,
  886. ORDER_NO,
  887. ORDER_SQE,
  888. GPBUYPLANID,
  889. GPTYPE,
  890. SUPP_CODE,
  891. MATERIAL_NO,
  892. MATERIAL_NAME,
  893. STD_CODE,
  894. GRADECODE,
  895. GRADENAME,
  896. DIAMETER,
  897. LEN_GP_SINGLE,
  898. LENGTH,
  899. WEIGHT_ONE,
  900. FIX_NUM,
  901. WEIGHT_NUM,
  902. GET_ENDTIME,
  903. WEIGHT_TOT,
  904. CREATE_TIME
  905. )
  906. with t
  907. as
  908. (
  909. SELECT e.gpbuyplanid as gpid,
  910. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  911. FROM
  912. (
  913. SELECT a.Gpreq_Id AS gpbuyplanid,a.cic,a.diameter_gp,a.len_gp_single
  914. FROM PLN_REQINF_GP a
  915. WHERE a.REQ_STATUS ='1'
  916. ) e
  917. INNER JOIN
  918. (
  919. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  920. INNER JOIN com_base_purchase_std_idx d
  921. ON c.agreement_code = d.agreement_code
  922. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?)
  923. )f
  924. ON e.cic = f.std_idx
  925. INNER JOIN
  926. COM_BASE_PURCHASE_RANGE k
  927. ON f.supp_code = k.supp_code
  928. AND e.diameter_gp = to_number(k.spec_name)
  929. )
  930. SELECT
  931. SYS_GUID(),
  932. SYS_GUID(),
  933. NULL,
  934. NULL,
  935. GPREQ_ID,
  936. GPTYPE,
  937. ?,
  938. MATERIAL_NO,
  939. MATERIAL_NAME,
  940. (SELECT max(c.agreement_code) FROM COM_BASE_PURCHASE_PROVIDER c
  941. INNER JOIN com_base_purchase_std_idx d
  942. ON c.agreement_code = d.agreement_code
  943. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?) AND d.std_idx= a.CIC),
  944. GRADECODE,
  945. GRADENAME,
  946. DIAMETER_GP,
  947. LEN_GP_SINGLE,
  948. LEN_GP_SINGLE * BC,
  949. NULL,
  950. BC,
  951. GP_WEIGHT,
  952. NULL,
  953. GP_WEIGHT,
  954. SYSDATE
  955. FROM
  956. PLN_REQINF_GP a
  957. INNER JOIN (select GPID,BC FROM t GROUP BY GPID,BC) t
  958. ON a.Gpreq_Id = t.gpid
  959. WHERE a.REQ_STATUS ='1' AND BC IS NOT NULL
  960. ]]>
  961. </query>
  962. <query id="BuyGpDAL.insertBUY_GP_ORDER1SJX" desc="插入采购合同表(新)">
  963. <![CDATA[
  964. INSERT INTO BUY_GP_ORDER(
  965. ORD_NO_PK,
  966. ORD_SQE_PK,
  967. ORDER_NO,
  968. ORDER_SQE,
  969. GPBUYPLANID,
  970. GPTYPE,
  971. SUPP_CODE,
  972. MATERIAL_NO,
  973. MATERIAL_NAME,
  974. STD_CODE,
  975. GRADECODE,
  976. GRADENAME,
  977. DIAMETER,
  978. LEN_GP_SINGLE,
  979. LENGTH,
  980. WEIGHT_ONE,
  981. FIX_NUM,
  982. WEIGHT_NUM,
  983. GET_ENDTIME,
  984. WEIGHT_TOT,
  985. CREATE_TIME
  986. )
  987. with t1
  988. as
  989. (
  990. SELECT e.gpbuyplanid as gpid,
  991. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  992. FROM
  993. (
  994. SELECT a.Gpreq_Id AS gpbuyplanid,a.cic,a.diameter_gp,a.len_gp_single
  995. FROM PLN_REQINF_GP a
  996. WHERE a.REQ_STATUS ='1'
  997. ) e
  998. INNER JOIN
  999. (
  1000. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  1001. INNER JOIN com_base_purchase_std_idx d
  1002. ON c.agreement_code = d.agreement_code
  1003. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?)
  1004. )f
  1005. ON e.cic = f.std_idx
  1006. INNER JOIN
  1007. COM_BASE_PURCHASE_RANGE k
  1008. ON f.supp_code = k.supp_code
  1009. AND e.diameter_gp = to_number(k.spec_name)
  1010. ),
  1011. t as
  1012. (
  1013. SELECT gpid,MAX(BC) bc FROM t1 GROUP BY gpid
  1014. )
  1015. SELECT
  1016. SYS_GUID(),
  1017. SYS_GUID(),
  1018. NULL,
  1019. NULL,
  1020. GPREQ_ID,
  1021. GPTYPE,
  1022. ?,
  1023. MATERIAL_NO,
  1024. MATERIAL_NAME,
  1025. (SELECT max(c.agreement_code) FROM COM_BASE_PURCHASE_PROVIDER c
  1026. INNER JOIN com_base_purchase_std_idx d
  1027. ON c.agreement_code = d.agreement_code
  1028. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?) AND d.std_idx= a.CIC),
  1029. GRADECODE,
  1030. GRADENAME,
  1031. DIAMETER_GP,
  1032. LEN_GP_SINGLE,
  1033. LEN_GP_SINGLE ,
  1034. NULL,
  1035. 1,
  1036. GP_WEIGHT,
  1037. NULL,
  1038. GP_WEIGHT,
  1039. SYSDATE
  1040. FROM
  1041. PLN_REQINF_GP a
  1042. LEFT JOIN t
  1043. ON a.Gpreq_Id = t.gpid
  1044. WHERE a.REQ_STATUS ='1'
  1045. ]]>
  1046. </query>
  1047. <query id="BuyGpDAL.updateBUY_BASE_CUSTOMER" desc="更新供应商列表">
  1048. UPDATE
  1049. BUY_BASE_CUSTOMER
  1050. SET CUSTOMER_NM=?,REGION_NO=?
  1051. WHERE CUSTOMER_NO=?
  1052. </query>
  1053. <query id="BuyGpDAL.updateBUY_BASE_REQ" desc="更新供应商订货起定量配置表">
  1054. UPDATE BUY_BASE_REQ
  1055. SET WET_D=?,WET_DG=?,WET_DGF=?
  1056. WHERE CUSTOMER_NO=?
  1057. </query>
  1058. <query id="BuyGpDAL.getBUY_GP_REQ_SpecialSupplier_bak" desc="获取选中供应商的特定管坯需求单(备份)">
  1059. SELECT GPBUYPLANID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN
  1060. '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE,
  1061. GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯'
  1062. ELSE '' END AS GPTYPE,MATERIAL_NO,
  1063. MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LENGTH,
  1064. WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT,
  1065. WEIGHT_ASS,NUM_TOT,WEIGHT_TOT,ROLL_MONTH,GET_ENDTIME,
  1066. CASE REC_STATUS
  1067. WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报'
  1068. ELSE '' END AS
  1069. REC_STATUS
  1070. FROM BUY_GP_REQ
  1071. WHERE REC_STATUS='1' AND GPBUYPLANID IN
  1072. (
  1073. SELECT e.gpbuyplanid FROM
  1074. (
  1075. SELECT a.gpbuyplanid,a.cic FROM BUY_GP_REQ a
  1076. LEFT
  1077. JOIN PLN_REQINF_GP b
  1078. ON a.gpbuyplanid = b.buyplanid
  1079. GROUP BY
  1080. a.gpbuyplanid,a.cic
  1081. ) e
  1082. LEFT JOIN
  1083. (
  1084. SELECT
  1085. c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER
  1086. c
  1087. INNER JOIN com_base_purchase_std_idx d
  1088. ON c.agreement_code =
  1089. d.agreement_code
  1090. WHERE c.supp_name =?
  1091. )f
  1092. ON e.cic = f.std_idx
  1093. WHERE
  1094. f.STD_IDX IS NOT NULL
  1095. )
  1096. </query>
  1097. <query id="BuyGpDAL.getBUY_GP_REQ_SpecialSupplier" desc="获取选中供应商的特定管坯需求单">
  1098. <![CDATA[
  1099. with t
  1100. as
  1101. (
  1102. SELECT e.gpbuyplanid as gpid,
  1103. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  1104. FROM
  1105. (
  1106. SELECT a.gpbuyplanid,a.cic,a.diameter,a.len_gp_single
  1107. FROM BUY_GP_REQ a
  1108. WHERE a.rec_status ='1'
  1109. ) e
  1110. INNER JOIN
  1111. (
  1112. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  1113. INNER JOIN com_base_purchase_std_idx d
  1114. ON c.agreement_code = d.agreement_code
  1115. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?)
  1116. AND d.agreement_code IN (SELECT agreement_code FROM COM_BASE_PURCHASE_AGREEMENT WHERE validflag ='1')
  1117. )f
  1118. ON e.cic = f.std_idx
  1119. INNER JOIN
  1120. COM_BASE_PURCHASE_RANGE k
  1121. ON f.supp_code = k.supp_code
  1122. AND e.diameter = to_number(k.spec_name)
  1123. )
  1124. SELECT GPBUYPLANID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' WHEN '2' THEN '利计划' ELSE '' END AS REC_TYPE,
  1125. GPREQ_ID,ORD_SQE_PK,CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  1126. MATERIAL_NAME,GRADENAME,DIAMETER,LEN_GP_SINGLE,LEN_GP_SINGLE*BC AS LENGTH,
  1127. WEIGHT_ONE,GP_NUM,GP_WEIGHT,OLD_GP_NUM,OLD_GP_WEIGHT,
  1128. WEIGHT_ASS,NUM_TOT,WEIGHT_TOT,ROLL_MONTH,GET_ENDTIME,
  1129. CASE REC_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS,
  1130. BC
  1131. FROM BUY_GP_REQ INNER JOIN t
  1132. ON GPBUYPLANID = t.GPID
  1133. WHERE REC_STATUS='1' AND t.BC IS NOT NULL
  1134. ]]>
  1135. </query>
  1136. <query id="BuyGpDAL.getBUY_GP_REQ_SpecialSupplier1bak" desc="获取选中供应商的特定管坯需求单(新)">
  1137. <![CDATA[
  1138. with t
  1139. as
  1140. (
  1141. SELECT e.gpbuyplanid as gpid,
  1142. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  1143. FROM
  1144. (
  1145. SELECT a.Gpreq_Id AS gpbuyplanid,a.cic,a.diameter_gp,a.len_gp_single
  1146. FROM PLN_REQINF_GP a
  1147. WHERE a.REQ_STATUS ='1'
  1148. ) e
  1149. INNER JOIN
  1150. (
  1151. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  1152. INNER JOIN com_base_purchase_std_idx d
  1153. ON c.agreement_code = d.agreement_code
  1154. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?)
  1155. AND d.agreement_code IN (SELECT agreement_code FROM COM_BASE_PURCHASE_AGREEMENT WHERE validflag ='1')
  1156. )f
  1157. ON e.cic = f.std_idx
  1158. INNER JOIN
  1159. COM_BASE_PURCHASE_RANGE k
  1160. ON f.supp_code = k.supp_code
  1161. AND e.diameter_gp = to_number(k.spec_name)
  1162. )
  1163. SELECT GPREQ_ID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' ELSE NULL END AS REC_TYPE,
  1164. CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  1165. MATERIAL_NAME,GRADENAME,LEN_GP_SINGLE,
  1166. CASE REQ_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS
  1167. ,GP_WEIGHT,
  1168. BC,DIAMETER_GP,ISSUED_TIME,SUPPLY_UNIT_CODE,SUPPLY_UNIT,DECODE(TYPE_FLAG,'0','否','1','是','2','定销订购') TYPE_FLAG
  1169. FROM PLN_REQINF_GP INNER JOIN t
  1170. ON Gpreq_Id = t.GPID
  1171. WHERE REQ_STATUS='1' AND SUPPLY_UNIT_CODE='120501' AND t.BC IS NOT NULL
  1172. ]]>
  1173. </query>
  1174. <query id="BuyGpDAL.getBUY_GP_REQ_SpecialSupplier1" desc="获取选中供应商的特定管坯需求单(新)">
  1175. <![CDATA[
  1176. with t
  1177. as
  1178. (
  1179. SELECT e.gpbuyplanid as gpid,
  1180. (SELECT MIN(LEVEL) FROM DUAL WHERE LEVEL*e.len_gp_single between k.len_min and k.len_max connect by level <10 ) AS bc
  1181. FROM
  1182. (
  1183. SELECT a.Gpreq_Id AS gpbuyplanid,a.cic,a.diameter_gp,a.len_gp_single
  1184. FROM PLN_REQINF_GP a
  1185. WHERE a.REQ_STATUS ='1'
  1186. ) e
  1187. INNER JOIN
  1188. (
  1189. SELECT c.supp_code,c.supp_name,c.agreement_code,d.std_idx FROM COM_BASE_PURCHASE_PROVIDER c
  1190. INNER JOIN com_base_purchase_std_idx d
  1191. ON c.agreement_code = d.agreement_code
  1192. WHERE c.supp_name =(SELECT SUPP_NAME FROM COM_BASE_SUPP WHERE SUPP_SHORT_NAME=?)
  1193. AND d.agreement_code IN (SELECT agreement_code FROM COM_BASE_PURCHASE_AGREEMENT WHERE validflag ='1')
  1194. )f
  1195. ON e.cic = f.std_idx
  1196. INNER JOIN
  1197. COM_BASE_PURCHASE_RANGE k
  1198. ON f.supp_code = k.supp_code
  1199. AND e.diameter_gp = to_number(k.spec_name)
  1200. )
  1201. SELECT GPREQ_ID,CIC,CASE REC_TYPE WHEN '0' THEN '正常' WHEN '1' THEN '预排' ELSE NULL END AS REC_TYPE,
  1202. CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END AS GPTYPE,MATERIAL_NO,
  1203. MATERIAL_NAME,GRADENAME,LEN_GP_SINGLE,
  1204. CASE REQ_STATUS WHEN '0' THEN '编制' WHEN '1' THEN '生效' WHEN '2' THEN '提报' ELSE '' END AS REC_STATUS
  1205. ,GP_WEIGHT,
  1206. BC,DIAMETER_GP,ISSUED_TIME,SUPPLY_UNIT_CODE,SUPPLY_UNIT,DECODE(TYPE_FLAG,'0','否','1','是','2','定销订购') TYPE_FLAG
  1207. FROM PLN_REQINF_GP INNER JOIN (select GPID,BC FROM t GROUP BY GPID,BC) t
  1208. ON Gpreq_Id = t.GPID
  1209. WHERE REQ_STATUS='1' AND SUPPLY_UNIT_CODE='120501' AND t.BC IS NOT NULL
  1210. ]]>
  1211. </query>
  1212. <query id="BuyGpDAL.getBUY_GP_REQ_SpecialSupplier1TH" desc="获取选中供应商的特定管坯需求单(天淮新)">
  1213. <![CDATA[
  1214. with t as
  1215. (SELECT e.gpbuyplanid as gpid,
  1216. (SELECT MIN(LEVEL)
  1217. FROM DUAL
  1218. WHERE LEVEL * e.len_gp_single between k.len_min and k.len_max
  1219. connect by level < 10) AS bc
  1220. FROM (SELECT a.Gpreq_Id AS gpbuyplanid,
  1221. a.cic,
  1222. a.diameter_gp,
  1223. a.len_gp_single
  1224. FROM PLN_REQINF_GP a
  1225. WHERE a.REQ_STATUS = '1') e
  1226. INNER JOIN (SELECT c.supp_code, c.supp_name, c.agreement_code, d.std_idx
  1227. FROM COM_BASE_PURCHASE_PROVIDER c
  1228. INNER JOIN com_base_purchase_std_idx d
  1229. ON c.agreement_code = d.agreement_code
  1230. WHERE c.supp_name =
  1231. (SELECT SUPP_NAME
  1232. FROM COM_BASE_SUPP
  1233. WHERE SUPP_SHORT_NAME = ?)
  1234. AND d.agreement_code IN
  1235. (SELECT agreement_code
  1236. FROM COM_BASE_PURCHASE_AGREEMENT
  1237. WHERE validflag = '1')) f
  1238. ON e.cic = f.std_idx
  1239. INNER JOIN COM_BASE_PURCHASE_RANGE k
  1240. ON f.supp_code = k.supp_code
  1241. AND e.diameter_gp = to_number(k.spec_name))
  1242. SELECT GPREQ_ID,
  1243. CIC,
  1244. CASE REC_TYPE
  1245. WHEN '0' THEN
  1246. '正常'
  1247. WHEN '1' THEN
  1248. '预排'
  1249. ELSE
  1250. NULL
  1251. END AS REC_TYPE,
  1252. CASE GPTYPE
  1253. WHEN '0' THEN
  1254. '轧坯'
  1255. WHEN '1' THEN
  1256. '铸坯'
  1257. WHEN '2' THEN
  1258. '锻坯'
  1259. ELSE
  1260. ''
  1261. END AS GPTYPE,
  1262. MATERIAL_NO,
  1263. MATERIAL_NAME,
  1264. GRADENAME,
  1265. LEN_GP_SINGLE,
  1266. CASE
  1267. WHEN EXAMINE_STATUS = '2' THEN
  1268. CASE REQ_STATUS
  1269. WHEN '0' THEN
  1270. '编制'
  1271. WHEN '1' THEN
  1272. '生效'
  1273. WHEN '2' THEN
  1274. '提报'
  1275. ELSE
  1276. ''
  1277. END
  1278. ELSE
  1279. '编制'
  1280. END AS REC_STATUS,
  1281. GP_WEIGHT,
  1282. BC,
  1283. DIAMETER_GP,
  1284. ISSUED_TIME,
  1285. SUPPLY_UNIT_CODE,
  1286. SUPPLY_UNIT,
  1287. DECODE(TYPE_FLAG, '0', '否', '1', '是', '2', '定销订购') TYPE_FLAG,
  1288. DECODE(EXAMINE_STATUS,
  1289. '0',
  1290. '未审批',
  1291. '1',
  1292. '工艺审批',
  1293. '2',
  1294. '副总审批') EXAMINE_STATUS,
  1295. EXAMINE_TIME,GPREQ_VERSION
  1296. FROM PLN_REQINF_GP
  1297. INNER JOIN (select GPID, BC FROM t GROUP BY GPID, BC) t
  1298. ON Gpreq_Id = t.GPID
  1299. WHERE REQ_STATUS = '1'
  1300. AND SUPPLY_UNIT_CODE = '120504'
  1301. AND t.BC IS NOT NULL
  1302. ]]>
  1303. </query>
  1304. <query id="BuyGpDAL.getPiKind" desc="选择坯分类根据实际情况获取数据源">
  1305. SELECT 1 CODE,'铸坯' NAME FROM
  1306. DUAL
  1307. UNION
  1308. SELECT 2 CODE,'锻坯' NAME FROM DUAL
  1309. </query>
  1310. <query id="BuyGpDAL.getCicSteelgrades" desc="选择外购坯钢种及索引码">
  1311. SELECT
  1312. a.CIC,a.GRADENAME STEELGRADES FROM COM_MSC_STD_CIC a
  1313. WHERE a.cic in
  1314. (
  1315. SELECT b.std_idx FROM com_base_purchase_std_idx b
  1316. )
  1317. </query>
  1318. <query id="BuyGpDAL.updateBUY_GP_ORDER" desc="更新采购合同表">
  1319. <![CDATA[
  1320. BEGIN
  1321. UPDATE BUY_GP_ORDER
  1322. SET
  1323. MEMO =?,
  1324. ORDER_NO = ?,
  1325. GET_ENDTIME = CASE ? WHEN '2000-01-01' THEN NULL ELSE to_date(?,'YYYY-MM-DD') END,
  1326. FIX_NUM = CASE ? WHEN '0' THEN NULL ELSE ? END,
  1327. WEIGHT_NUM= CASE ? WHEN '0' THEN NULL ELSE ? END,
  1328. ORDER_SQE=CASE WHEN ? IS NULL THEN NULL WHEN ORDER_NO !=? THEN NULL ELSE ORDER_SQE END,
  1329. ORDER_PRICE=CASE ? WHEN '0.00' THEN NULL ELSE ? END
  1330. WHERE ORD_NO_PK = ?;
  1331. UPDATE BUY_GP_ORDER
  1332. SET LENGTH = FIX_NUM * LEN_GP_SINGLE
  1333. WHERE ORD_NO_PK = ?;
  1334. END;
  1335. ]]>
  1336. </query>
  1337. <query id="BuyGpDAL.updateBUY_GP_ORDER1" desc="更新采购合同表1">
  1338. UPDATE BUY_GP_ORDER
  1339. a
  1340. SET get_endtime=NULL
  1341. WHERE
  1342. get_endtime=TO_DATE('2000-01-01','YYYY-MM-DD')
  1343. </query>
  1344. <query id="BuyGpDAL.updateBUY_GP_ORDER_LINE" desc="更新采购合同行号">
  1345. UPDATE
  1346. BUY_GP_ORDER a
  1347. SET a.order_sqe = (
  1348. WITH t
  1349. as
  1350. (
  1351. SELECT
  1352. RANK() OVER(PARTITION
  1353. BY ORDER_NO ORDER BY rowid)+ (SELECT NVL(MAX(TO_NUMBER(ORDER_SQE)),0)
  1354. FROM BUY_GP_ORDER WHERE ORDER_NO= a.ORDER_NO) AS RN,a.rowid
  1355. FROM
  1356. BUY_GP_ORDER a
  1357. WHERE a.order_no IS NOT NULL AND a.order_sqe IS NULL
  1358. )
  1359. SELECT RN FROM t where a.ROWID=t.ROWID
  1360. )
  1361. WHERE a.order_no IS NOT NULL
  1362. AND a.order_sqe IS NULL
  1363. </query>
  1364. <query id="BuyGpDAL.deleteBUY_GP_ORDER" desc="删除采购合同">
  1365. DELETE FROM
  1366. BUY_GP_ORDER
  1367. WHERE GPBUYPLANID IN
  1368. (
  1369. SELECT GPBUYPLANID FROM
  1370. BUY_GP_ORDER
  1371. WHERE GPBUYPLANID
  1372. )
  1373. </query>
  1374. <query id="BuyGpDAL.deleteBUY_GP_ORDER1" desc="删除采购合同">
  1375. DELETE FROM
  1376. BUY_GP_ORDER
  1377. WHERE GPBUYPLANID IN
  1378. (
  1379. SELECT GPBUYPLANID FROM
  1380. BUY_GP_ORDER
  1381. WHERE ORD_NO_PK IN ( #ORD_NO_PK# )
  1382. )
  1383. </query>
  1384. <query id="BuyGpDAL.updateBUY_GP_REQ_Status211" desc="提报管坯采购需求(从正式到生效:合同退回用)">
  1385. <![CDATA[
  1386. UPDATE PLN_REQINF_GP
  1387. SET REQ_STATUS=1,
  1388. GP_SYWEIGHT=NULL
  1389. WHERE REQ_STATUS='2'
  1390. AND GPREQ_ID IN
  1391. (
  1392. SELECT GPBUYPLANID FROM BUY_GP_ORDER
  1393. WHERE ORD_NO_PK IN ( #ORD_NO_PK# )
  1394. )
  1395. ]]>
  1396. </query>
  1397. <query id="BuyGpDAL.deleteBUY_GP_ORDER2" desc="删除采购合同(新2017-08-09)">
  1398. BEGIN
  1399. UPDATE
  1400. PLN_REQINF_GP
  1401. SET REQ_STATUS=1,
  1402. GP_SYWEIGHT=NULL
  1403. WHERE REQ_STATUS='2'
  1404. AND
  1405. GPREQ_ID IN
  1406. (
  1407. SELECT GPBUYPLANID FROM BUY_GP_ORDER
  1408. WHERE ORD_NO_PK IN (
  1409. #ORD_NO_PK# )
  1410. );
  1411. DELETE FROM BUY_GP_ORDER t
  1412. WHERE GPBUYPLANID IN
  1413. (
  1414. SELECT
  1415. GPBUYPLANID FROM
  1416. BUY_GP_ORDER
  1417. WHERE ORD_NO_PK IN ( #ORD_NO_PK# )
  1418. ) AND
  1419. EXISTS(SELECT * FROM PLN_REQINF_GP
  1420. WHERE REQ_STATUS=1 AND GPREQ_ID =
  1421. t.GPBUYPLANID);
  1422. END;
  1423. </query>
  1424. <query id="BuyGpDAL.updateBUY_GP_REQ_SYWEIGHT_ORDERWEIGHT" desc="更新采购坯需求表(修改合同后调用)">
  1425. <![CDATA[
  1426. UPDATE BUY_GP_REQ tc
  1427. SET (tc.WEIGHT_TOT,tc.GP_SYWEIGHT) =
  1428. (SELECT td.ORDERWEIGHT,td.SYWEIGHT FROM
  1429. (
  1430. SELECT ta.GPBUYPLANID,ta.WEIGHT AS ORDERWEIGHT,ta.WEIGHT-tb.GPWEIGHT AS SYWEIGHT
  1431. FROM
  1432. (
  1433. SELECT SUM(WEIGHT_NUM) AS WEIGHT,GPBUYPLANID FROM BUY_GP_ORDER
  1434. WHERE GPBUYPLANID IN
  1435. ( SELECT GPBUYPLANID FROM BUY_GP_ORDER
  1436. WHERE ORD_NO_PK IN ( #ORD_NO_PK# )
  1437. )
  1438. GROUP BY GPBUYPLANID
  1439. ) ta
  1440. INNER JOIN
  1441. (
  1442. SELECT BUYPLANID ,SUM(GP_WEIGHT) AS GPWEIGHT FROM PLN_REQINF_GP
  1443. GROUP BY BUYPLANID
  1444. ) tb
  1445. ON ta.GPBUYPLANID = tb.BUYPLANID
  1446. WHERE ta.WEIGHT-tb.GPWEIGHT>0
  1447. ) td
  1448. WHERE tc.GPBUYPLANID = td.GPBUYPLANID
  1449. )
  1450. ]]>
  1451. </query>
  1452. <query id="BuyGpDAL.updateBUY_GP_REQ_SYWEIGHT_ORDERWEIGHT1" desc="更新采购坯需求表(修改合同后调用)">
  1453. <![CDATA[
  1454. UPDATE PLN_REQINF_GP tc
  1455. SET (tc.GP_SYWEIGHT) =
  1456. (SELECT td.SYWEIGHT FROM
  1457. (
  1458. SELECT ta.GPBUYPLANID,ta.WEIGHT-tb.GPWEIGHT AS SYWEIGHT
  1459. FROM
  1460. (
  1461. SELECT SUM(WEIGHT_NUM) AS WEIGHT,GPBUYPLANID FROM BUY_GP_ORDER
  1462. WHERE GPBUYPLANID IN
  1463. ( SELECT GPBUYPLANID FROM BUY_GP_ORDER
  1464. WHERE ORD_NO_PK IN ( #ORD_NO_PK# )
  1465. )
  1466. GROUP BY GPBUYPLANID
  1467. ) ta
  1468. INNER JOIN
  1469. (
  1470. SELECT GPREQ_ID ,GP_WEIGHT AS GPWEIGHT FROM PLN_REQINF_GP
  1471. ) tb
  1472. ON ta.GPBUYPLANID = GPREQ_ID
  1473. WHERE ta.WEIGHT-tb.GPWEIGHT>0
  1474. ) td
  1475. WHERE tc.GPREQ_ID = td.GPBUYPLANID
  1476. )
  1477. ]]>
  1478. </query>
  1479. <query id="BuyGpDAL.updateBUY_GP_REQ_SYWEIGHT_ORDERWEIGHT2" desc="更新采购坯需求表(修改合同后调用)">
  1480. <![CDATA[
  1481. UPDATE PLN_REQINF_GP a
  1482. SET a.gp_syweight =
  1483. (
  1484. WITH t
  1485. AS
  1486. (
  1487. SELECT avg(t.gp_weight) gp_weight,t.gpreq_id,nvl(sum(t1.gpreq_weight),avg(t.gp_weight)) gpreq_weight
  1488. FROM PLN_REQINF_GP t,PLN_ORDER_ZG_S t1
  1489. WHERE
  1490. t1.gpreq_id in (SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ) and
  1491. 1=1
  1492. AND t.req_status in ('2','3','4')
  1493. AND t.gpreq_id = t1.gpreq_id(+)
  1494. GROUP BY t.gpreq_id
  1495. ),
  1496. t1
  1497. AS
  1498. (
  1499. SELECT SUM(WEIGHT_NUM) AS WEIGHT_NUM, gpbuyplanid FROM buy_gp_order
  1500. GROUP BY gpbuyplanid
  1501. ),
  1502. t2
  1503. AS
  1504. (
  1505. SELECT t.gpreq_id,t1.WEIGHT_NUM-t.gpreq_weight as sy_weight FROM t,t1
  1506. WHERE t.gpreq_id = t1.gpbuyplanid(+)
  1507. )
  1508. select t2.sy_weight from t2 where t2.gpreq_id = a.gpreq_id and t2.sy_weight >0
  1509. )
  1510. where
  1511. EXISTS (
  1512. WITH t
  1513. AS
  1514. (
  1515. SELECT avg(t.gp_weight) gp_weight,t.gpreq_id,nvl(sum(t1.gpreq_weight),avg(t.gp_weight)) gpreq_weight
  1516. FROM PLN_REQINF_GP t,PLN_ORDER_ZG_S t1
  1517. WHERE
  1518. t1.gpreq_id in (SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK IN ( #ORD_NO_PK# ) ) and
  1519. 1=1
  1520. AND t.req_status in ('2','3','4')
  1521. AND t.gpreq_id = t1.gpreq_id(+)
  1522. GROUP BY t.gpreq_id
  1523. ),
  1524. t1
  1525. AS
  1526. (
  1527. SELECT SUM(WEIGHT_NUM) AS WEIGHT_NUM, gpbuyplanid FROM buy_gp_order
  1528. GROUP BY gpbuyplanid
  1529. ),
  1530. t2
  1531. AS
  1532. (
  1533. SELECT t.gpreq_id,t1.WEIGHT_NUM-t.gpreq_weight as sy_weight FROM t,t1
  1534. WHERE t.gpreq_id = t1.gpbuyplanid(+)
  1535. )
  1536. select t2.sy_weight from t2 where t2.gpreq_id = a.gpreq_id and t2.sy_weight >0
  1537. )
  1538. and a.ifbuyplan ='1' and a.req_status in ('2','3','4')
  1539. ]]>
  1540. </query>
  1541. <query id="BuyGpDAL.updateBUY_GP_REQ_SYWEIGHT_LYL" desc="利余量">
  1542. <![CDATA[
  1543. BEGIN
  1544. UPDATE PLN_REQINF_GP
  1545. SET buyplanid = (
  1546. WITH t
  1547. AS
  1548. (
  1549. SELECT a.gpreq_id, a.material_name,a.len_gp_single,a.cic,a.gp_weight FROM PLN_REQINF_GP a
  1550. WHERE a.buyplanid IS NULL
  1551. AND a.gpreq_id = '#gpreq_id#'
  1552. ),
  1553. t1
  1554. AS
  1555. (
  1556. SELECT b.material_name,b.len_gp_single,b.cic,b.gp_syweight,b.gpbuyplanid FROM BUY_GP_REQ b
  1557. WHERE b.gp_syweight >0
  1558. ),
  1559. t2
  1560. AS
  1561. (
  1562. SELECT ROW_NUMBER() OVER (ORDER BY t1.gp_syweight) AS RN , t.gpreq_id,t.gp_weight,t1.gp_syweight,t1.gpbuyplanid FROM t
  1563. LEFT JOIN t1
  1564. ON t.material_name = t1.material_name
  1565. AND t.len_gp_single= t1.len_gp_single
  1566. AND t.cic = t1.cic
  1567. WHERE t1.gp_syweight >=t.gp_weight
  1568. ),
  1569. t3
  1570. AS
  1571. (
  1572. SELECT * FROM t2 WHERE RN=1
  1573. )
  1574. SELECT gpbuyplanid FROM t3
  1575. )
  1576. WHERE gpreq_id = '#gpreq_id#';
  1577. UPDATE BUY_GP_REQ
  1578. SET GP_SYWEIGHT = WEIGHT_TOT -
  1579. (SELECT sum(a.gp_weight) FROM PLN_REQINF_GP a WHERE a.buyplanid = (SELECT buyplanid FROM PLN_REQINF_GP WHERE gpreq_id = '#gpreq_id#'))
  1580. WHERE GPBUYPLANID = (SELECT buyplanid FROM PLN_REQINF_GP WHERE gpreq_id = '#gpreq_id#');
  1581. END;
  1582. ]]>
  1583. </query>
  1584. <query id="BuyGpDAL.getBUY_GP_ORDERCF1" desc="获取合同 拆分界面数据">
  1585. SELECT
  1586. SUPP_SHORT_NAME AS SUPPLIER FROM COM_BASE_SUPP
  1587. WHERE SUPP_NAME NOT IN
  1588. (
  1589. SELECT SUPP_CODE SUPPLIER FROM
  1590. BUY_GP_ORDER
  1591. WHERE ORD_NO_PK = ?
  1592. )
  1593. </query>
  1594. <query id="BuyGpDAL.getBUY_GP_ORDERCF2" desc="获取合同 拆分界面数据">
  1595. SELECT ORD_NO_PK,
  1596. ORDER_NO,
  1597. ORDER_SQE,
  1598. GPBUYPLANID,
  1599. CASE GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2'
  1600. THEN '锻坯' ELSE '' END AS GPTYPE,
  1601. SUPP_CODE,
  1602. MATERIAL_NAME,
  1603. LENGTH,
  1604. WEIGHT_NUM,
  1605. WEIGHT_TOT,
  1606. LEN_GP_SINGLE
  1607. FROM BUY_GP_ORDER
  1608. WHERE ORD_NO_PK =
  1609. ?
  1610. </query>
  1611. <query id="BuyGpDAL.getBUY_GP_ORDERCFSAVE" desc="获取合同 拆分保存数据">
  1612. <![CDATA[
  1613. BEGIN
  1614. INSERT INTO BUY_GP_ORDER
  1615. (
  1616. ord_no_pk,
  1617. ord_sqe_pk,
  1618. gpbuyplanid,
  1619. gptype,
  1620. supp_code,
  1621. material_no,
  1622. material_name,
  1623. std_code,
  1624. gradecode,
  1625. gradename,
  1626. diameter,
  1627. len_gp_single,
  1628. length,
  1629. weight_one,
  1630. fix_num,
  1631. weight_num,
  1632. get_endtime,
  1633. ord_status,
  1634. validflag,
  1635. create_time,
  1636. weight_tot
  1637. )
  1638. SELECT sys_guid(),
  1639. sys_guid(),
  1640. a.gpbuyplanid,
  1641. a.gptype,
  1642. ? ,
  1643. a.material_no,
  1644. a.material_name,
  1645. a.std_code,
  1646. a.gradecode,
  1647. a.gradename,
  1648. a.diameter,
  1649. a.len_gp_single,
  1650. a.length,
  1651. a.weight_one,
  1652. a.fix_num,
  1653. ? ,
  1654. a.get_endtime,
  1655. a.ord_status,
  1656. a.validflag,
  1657. sysdate,
  1658. CASE WHEN ? >=a.Weight_Num THEN a.weight_tot ELSE a.weight_tot * ?/a.Weight_Num END
  1659. FROM BUY_GP_ORDER a
  1660. WHERE a.ord_no_pk = ?;
  1661. UPDATE BUY_GP_ORDER
  1662. SET WEIGHT_NUM = WEIGHT_NUM - ?,
  1663. WEIGHT_TOT = WEIGHT_TOT- WEIGHT_TOT * ?/ WEIGHT_NUM
  1664. WHERE ORD_NO_PK =?;
  1665. DELETE FROM BUY_GP_ORDER
  1666. WHERE WEIGHT_NUM <=0 AND ORD_NO_PK =?;
  1667. END;
  1668. ]]>
  1669. </query>
  1670. <query id="BuyGpDAL.Test" desc="测试">
  1671. <![CDATA[
  1672. SELECT *
  1673. FROM BUY_GP_ORDER
  1674. WHERE ORD_NO_PK = ?
  1675. ]]>
  1676. </query>
  1677. <query id="BuyGpDAL.QueryOrderByGpreq" desc="通过外购坯合同号查询生产合同">
  1678. <![CDATA[
  1679. SELECT DECODE(t.EXE_STATUS,
  1680. '0',
  1681. '计划',
  1682. '1',
  1683. '生产中',
  1684. '2',
  1685. '已生产',
  1686. '3',
  1687. '关闭A',
  1688. '') 状态,
  1689. DECODE(t.Order_No,null,null,DECODE(b.gptype,'1','铸坯','2','锻坯','0','轧坯')) 坯分类,
  1690. DECODE(t.Order_No ||'/'||t.Order_Seq,'/',null,t.Order_No ||'/'||t.Order_Seq) 合同号,
  1691. t.Pro_Month 轧制月份,
  1692. t.Pline_Name 产线,
  1693. NVL((SELECT A.ABRVITION
  1694. FROM SLM_BASE_CUSTOMER A
  1695. WHERE A.CUSTOMER_NO = DECODE(T4.FINAL_USER,
  1696. NULL,
  1697. T4.BUYER_ID,
  1698. '/',
  1699. T4.BUYER_ID,
  1700. T4.FINAL_USER)),
  1701. DECODE(T4.FINAL_USER_DESC,
  1702. NULL,
  1703. T4.BUYER_NAME,
  1704. '/',
  1705. T4.BUYER_NAME,
  1706. T4.FINAL_USER_DESC)) 用户,
  1707. TO_NUMBER(t.diameter_gp) 断面,
  1708. t.len_gp_single 单倍坯长,
  1709. t.Gradename 钢种,
  1710. T4.OUTDIAMETER 名义外径,
  1711. T4.WALLTHICK 名义壁厚,
  1712. t.ACTUAL_WEIGHT 需坯量,
  1713. b.issued_time 提报日期,
  1714. b.gpreq_id 管坯需求号,
  1715. t.pro_plan_id||'-'||t.gx_plan_no PLAN_ID,
  1716. (SELECT A.PRODUC_JX
  1717. FROM COM_BASE_PRODUCT A
  1718. WHERE A.PRODUCCODE = T4.PRODUCCODE) 品种
  1719. FROM PLN_REQINF_GP b,
  1720. PLN_ORDER_ZG_S t,
  1721. PLN_SALEORD T4
  1722. WHERE b.gpreq_id = t.gpreq_id(+)
  1723. AND t.Ord_Ln_Dly_Pk = T4.ORD_LN_DLY_PK(+)
  1724. AND b.gpreq_id = ?
  1725. ]]>
  1726. </query>
  1727. <query id="BuyGpDAL.QueryForXsAll" desc="导出数据给销售">
  1728. <![CDATA[
  1729. SELECT DECODE(t.EXE_STATUS,
  1730. '0',
  1731. '计划',
  1732. '1',
  1733. '生产中',
  1734. '2',
  1735. '已生产',
  1736. '3',
  1737. '关闭A',
  1738. '') 状态,
  1739. DECODE(t.Order_No ||'/'||t.Order_Seq,'/',null,t.Order_No ||'/'||t.Order_Seq) 合同号,
  1740. t.Pro_Month 轧制月份,
  1741. t.pline_name 机组,
  1742. NVL((SELECT A.ABRVITION
  1743. FROM SLM_BASE_CUSTOMER A
  1744. WHERE A.CUSTOMER_NO = DECODE(T4.FINAL_USER,
  1745. NULL,
  1746. T4.BUYER_ID,
  1747. '/',
  1748. T4.BUYER_ID,
  1749. T4.FINAL_USER)),
  1750. DECODE(T4.FINAL_USER_DESC,
  1751. NULL,
  1752. T4.BUYER_NAME,
  1753. '/',
  1754. T4.BUYER_NAME,
  1755. T4.FINAL_USER_DESC)) 用户,
  1756. t.Gradename 钢种,
  1757. T4.OUTDIAMETER 名义外径,
  1758. T4.WALLTHICK 名义壁厚,
  1759. t.Gpreq_Weight 需坯量,
  1760. b.diameter_gp 断面,
  1761. b.gpreq_id 外购坯需求号,
  1762. DECODE(b.rec_type,'0','正常','1','预排','') 外购需求类型,
  1763. DECODE(b.req_status,'1','生效','2','提报','4','交齐','') 外购需求类型,
  1764. b.issued_time 提报日期,
  1765. a.Order_No 采购合同号,
  1766. a.order_sqe 采购合同行号,
  1767. a.supp_code 供货商,
  1768. a.gradename 外购钢种,
  1769. a.weight_num 合同量,
  1770. a.length 长度,
  1771. a.create_time 合同生成日期
  1772. FROM BUY_GP_ORDER a,
  1773. PLN_REQINF_GP b,
  1774. PLN_ORDER_ZG_S t,
  1775. PLN_SALEORD T4
  1776. WHERE b.gpreq_id = a.gpbuyplanid(+)
  1777. AND b.gpreq_id = t.gpreq_id(+)
  1778. AND t.Ord_Ln_Dly_Pk = T4.ORD_LN_DLY_PK(+)
  1779. AND b.req_status > 0
  1780. AND b.ifbuyplan ='1'
  1781. AND b.req_donestatus >0
  1782. ]]>
  1783. </query>
  1784. <query id="BuyGpDAL.UPDATE_CGPREQUIRES_TD" desc="外购坯脱单">
  1785. <![CDATA[
  1786. BEGIN
  1787. UPDATE PLN_REQINF_GP b
  1788. SET gp_syweight = nvl(gp_syweight,0)+(
  1789. WITH t
  1790. AS
  1791. (
  1792. SELECT sum(nvl(t.actual_weight,0)) actual_weight,gpreq_id FROM PLN_ORDER_ZG_S t
  1793. WHERE t.gpreq_id = #gpreq_id# AND t.pro_plan_id||'-'||t.gx_plan_no in ( #plan_id# )
  1794. GROUP BY gpreq_id
  1795. )
  1796. SELECT ACTUAL_WEIGHT FROM t WHERE t.gpreq_id = b.gpreq_id
  1797. )
  1798. WHERE req_status = '2'
  1799. AND ifbuyplan=1
  1800. AND req_donestatus=1;
  1801. AND gpreq_id = #gpreq_id# ;
  1802. UPDATE PLN_REQINF_GP b
  1803. SET gp_weight = gp_weight-(
  1804. WITH t
  1805. AS
  1806. (
  1807. SELECT sum(nvl(t.actual_weight,0)) actual_weight,gpreq_id FROM PLN_ORDER_ZG_S t
  1808. WHERE t.gpreq_id = #gpreq_id# AND t.pro_plan_id||'-'||t.gx_plan_no in ( #plan_id# )
  1809. GROUP BY gpreq_id
  1810. )
  1811. SELECT ACTUAL_WEIGHT FROM t WHERE t.gpreq_id = b.gpreq_id
  1812. )
  1813. WHERE req_status = '1'
  1814. AND ifbuyplan=1
  1815. AND req_donestatus=1;
  1816. AND gpreq_id = #gpreq_id# ;
  1817. UPDATE PLN_ORDER_ZG_S
  1818. SET GPREQ_ID = NULL,
  1819. GPREQ_IF_OK =0,
  1820. STATE_SINGLE=2
  1821. WHERE pro_plan_id||'-'||gx_plan_no in ( #plan_id# );
  1822. DELETE FROM PLN_REQINF_GP WHERE GP_WEIGHT <=0 AND REQ_STATUS IN (0,1) AND ifbuyplan=1 and req_donestatus=1;
  1823. END;
  1824. ]]>
  1825. </query>
  1826. <query id="BuyGpDAL.insertBUY_CGP_DCYB" desc="插入到厂预报">
  1827. <![CDATA[
  1828. INSERT INTO BUY_GP_DCYB
  1829. (
  1830. STOVE_NO,
  1831. DCYB_PK,
  1832. JUDGE_STOVE_NO,
  1833. PLAN_COUNT,
  1834. PLAN_WEIGHT,
  1835. DH_DATE,
  1836. CREATE_TIME,
  1837. CREATE_NAME,
  1838. ORD_NO_PK
  1839. )
  1840. VALUES
  1841. (
  1842. ?,
  1843. SYS_GUID(),
  1844. ?,
  1845. ?,
  1846. ?,
  1847. to_date(?,'YYYY-MM-DD'),
  1848. SYSDATE,
  1849. ?,
  1850. ?
  1851. )
  1852. ]]>
  1853. </query>
  1854. <query id="BuyGpDAL.updateBUY_CGP_DCYB" desc="更新到厂预报">
  1855. <![CDATA[
  1856. UPDATE BUY_GP_DCYB
  1857. SET STOVE_NO=?,
  1858. JUDGE_STOVE_NO=?,
  1859. PLAN_COUNT=?,
  1860. PLAN_WEIGHT=?,
  1861. DH_DATE=to_date(?,'YYYY-MM-DD'),
  1862. UPDATE_NAME=?
  1863. WHERE DCYB_PK=?
  1864. ]]>
  1865. </query>
  1866. <query id="BuyGpDAL.deleteBUY_CGP_DCYB" desc="删除到厂预报">
  1867. <![CDATA[
  1868. DELETE FROM BUY_GP_DCYB
  1869. WHERE DCYB_PK=?
  1870. ]]>
  1871. </query>
  1872. <query id="BuyGpDAL.getBUY_CGP_DCYB" desc="插入到厂预报">
  1873. <![CDATA[
  1874. SELECT
  1875. STOVE_NO 炉号,
  1876. JUDGE_STOVE_NO 判定炉号,
  1877. PLAN_COUNT 支数,
  1878. PLAN_WEIGHT 吨数,
  1879. DH_DATE 到货日期,
  1880. DCYB_PK
  1881. FROM BUY_GP_DCYB
  1882. WHERE ORD_NO_PK = ?
  1883. ]]>
  1884. </query>
  1885. <query id="BuyGpDAL.get_MAT_GP_M" desc="查询采购坯库存表">
  1886. <![CDATA[
  1887. SELECT STOVE_NO 炉号,
  1888. JUDGE_STOVE_NO 判定炉号,
  1889. DIMATER 断面,
  1890. GRADENAME 钢种,
  1891. FIX_NUM 倍尺,
  1892. ACT_LEN 长度,
  1893. CREATE_TIME 日期,
  1894. SUM(ACT_COUNT) 支数,
  1895. SUM(ACT_WEIGHT) 重量
  1896. FROM MAT_GP_M
  1897. WHERE 1=1
  1898. GROUP BY STOVE_NO,JUDGE_STOVE_NO,DIMATER,GRADENAME,FIX_NUM,ACT_LEN ,CREATE_TIME
  1899. ]]>
  1900. </query>
  1901. <query id="BuyGpDAL.insert_MAT_GP_M" desc="采购坯入库库存表">
  1902. <![CDATA[
  1903. INSERT INTO MAT_GP_M
  1904. (
  1905. MAT_NO, --材料号(坯号)规则---(15)----母料号000
  1906. PRODUCT_FLAG, --材料类别(8014在制品、成品、商品)
  1907. MAT_STATUS, --材料状态(801501在制品阶段、801502成品、801503商品...)
  1908. STOVE_NO, --熔炼炉号
  1909. JUDGE_STOVE_NO, --判定炉号
  1910. --MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  1911. MATERIAL_NO, --物料码
  1912. MATERIAL_NAME, --物料描叙
  1913. GRADECODE, --钢种代码
  1914. GRADENAME, --钢种名称
  1915. STD_CODE, --标准代码
  1916. STD_NAME, --标准名称
  1917. DIMATER, --直径或宽度(实际)
  1918. ACT_LEN, --坯料长度(实际)
  1919. FIX_NUM, --倍尺数(实际)
  1920. FIX_LEN, --单倍长度(实际)
  1921. ACT_COUNT, --材料支数(实际)
  1922. ACT_WEIGHT, --材料实重(实际)
  1923. ACT_THEORY_WEIGHT, --材料理论重量(实际)
  1924. BELONG_CODE, --所属权单位代码
  1925. BELONG_NAME, --所属权单位
  1926. INSTOCK_TIME, --入库时间(首次)
  1927. BAL_YEAR_MONTH, --结算日期(年月)
  1928. CREATE_NAME, --创建人
  1929. CREATE_TIME, --创建时间
  1930. --FURNACENO, --虚拟炉号
  1931. PLINE_NAME, --产线名称
  1932. PLINE_CODE, --产线代码
  1933. GPTYPE, --管坯类型
  1934. PRO_ORDER_NO, --采购合同号
  1935. ORD_PK, --采购合同号PK值
  1936. DB_ACT_COUNT, --单倍坯支数
  1937. CIC,
  1938. PIC,
  1939. SIC,
  1940. DIC,
  1941. QCM_STAUS, --交库状态
  1942. MAT_ORIGIN_CODE, --材料类型来源代码
  1943. MAT_ORIGIN_NAME, --材料类型来源名称
  1944. PRO_PLAN_ID, --铸造订单编号(传采购需求单号)
  1945. GPREQ_ID, --传采购需求单号
  1946. FURNACENO, --虚拟炉号
  1947. SEQUENCENO, --顺序号
  1948. SOURE_NAME, --材料来源地名称
  1949. SOURE_CODE, --材料来源地代码
  1950. GROUD_NO, --组号
  1951. SUPPLY_UNIT_CODE, --制造商代码
  1952. SUPPLY_UNIT --制造商
  1953. )
  1954. SELECT
  1955. '#judge_stove_no#'||
  1956. substr((
  1957. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  1958. mat_gp_m
  1959. where judge_stove_no ='#judge_stove_no#'
  1960. ) +rownum,-3),
  1961. '801401',
  1962. '80150101',
  1963. '#stove_no#',
  1964. '#judge_stove_no#',
  1965. --'1',
  1966. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1967. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1968. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1969. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1970. --(select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1971. null,
  1972. null,
  1973. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1974. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1975. #gplength#,
  1976. #bc#,
  1977. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1978. 1,
  1979. --'#act_weight#',
  1980. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  1981. null,
  1982. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  1983. '120501','002001001','120504','002023005',''),
  1984. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  1985. '120501','生产计划部','120504','产品制造部',''),
  1986. sysdate,
  1987. --to_char(sysdate,'yyyymm'),
  1988. decode(sign(sysdate -to_date(to_char(SYSDATE,'yyyy-mm')||'-25'||' 21:00:00','yyyy-MM-dd HH24:mi:ss')),'1',to_char(add_months(trunc(sysdate),1),'yyyymm'),'-1',to_char(SYSDATE,'yyyymm'),'0',to_char(add_months(trunc(sysdate),1),'yyyymm')),
  1989. '#create_name#',
  1990. sysdate,
  1991. --null,
  1992. (select CASE GPTYPE WHEN '0' THEN '轧坯(外购)' WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1993. (select CASE GPTYPE WHEN '0' THEN 'C063' WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1994. (select GPTYPE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1995. (select ORDER_NO ||'/'||SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  1996. '#ord_no_pk#',
  1997. #bc#,
  1998. (
  1999. SELECT CIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2000. (
  2001. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2002. )
  2003. ),
  2004. (
  2005. SELECT PIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2006. (
  2007. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2008. )
  2009. ),
  2010. (
  2011. SELECT SIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2012. (
  2013. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2014. )
  2015. ),
  2016. (
  2017. SELECT DIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2018. (
  2019. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2020. )
  2021. ),
  2022. '00',
  2023. '801301',
  2024. '外购',
  2025. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2026. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2027. --'#judge_stove_no#' ||'-'||'#bc#',
  2028. '#judge_stove_no#' ||'-'||'1',
  2029. 1,
  2030. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2031. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  2032. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2033. '#bc#',
  2034. (SELECT SUPPLY_UNIT_CODE FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2035. (SELECT SUPPLY_UNIT FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#'))
  2036. FROM DUAL CONNECT BY ROWNUM <=#count#
  2037. ]]>
  2038. </query>
  2039. <query id="BuyGpDAL.insert_MAT_GP_M_TH" desc="采购坯入库库存表(天淮)">
  2040. <![CDATA[
  2041. INSERT INTO MAT_GP_M
  2042. (
  2043. MAT_NO, --材料号(坯号)规则---(15)----母料号000
  2044. PRODUCT_FLAG, --材料类别(8014在制品、成品、商品)
  2045. MAT_STATUS, --材料状态(801501在制品阶段、801502成品、801503商品...)
  2046. STOVE_NO, --熔炼炉号
  2047. JUDGE_STOVE_NO, --判定炉号
  2048. --MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  2049. MATERIAL_NO, --物料码
  2050. MATERIAL_NAME, --物料描叙
  2051. GRADECODE, --钢种代码
  2052. GRADENAME, --钢种名称
  2053. STD_CODE, --标准代码
  2054. STD_NAME, --标准名称
  2055. DIMATER, --直径或宽度(实际)
  2056. ACT_LEN, --坯料长度(实际)
  2057. FIX_NUM, --倍尺数(实际)
  2058. FIX_LEN, --单倍长度(实际)
  2059. ACT_COUNT, --材料支数(实际)
  2060. ACT_WEIGHT, --材料实重(实际)
  2061. ACT_THEORY_WEIGHT, --材料理论重量(实际)
  2062. BELONG_CODE, --所属权单位代码
  2063. BELONG_NAME, --所属权单位
  2064. INSTOCK_TIME, --入库时间(首次)
  2065. BAL_YEAR_MONTH, --结算日期(年月)
  2066. CREATE_NAME, --创建人
  2067. CREATE_TIME, --创建时间
  2068. --FURNACENO, --虚拟炉号
  2069. PLINE_NAME, --产线名称
  2070. PLINE_CODE, --产线代码
  2071. GPTYPE, --管坯类型
  2072. PRO_ORDER_NO, --采购合同号
  2073. ORD_PK, --采购合同号PK值
  2074. DB_ACT_COUNT, --单倍坯支数
  2075. CIC,
  2076. PIC,
  2077. SIC,
  2078. DIC,
  2079. QCM_STAUS, --交库状态
  2080. MAT_ORIGIN_CODE, --材料类型来源代码
  2081. MAT_ORIGIN_NAME, --材料类型来源名称
  2082. PRO_PLAN_ID, --铸造订单编号(传采购需求单号)
  2083. GPREQ_ID, --传采购需求单号
  2084. FURNACENO, --虚拟炉号
  2085. SEQUENCENO, --顺序号
  2086. SOURE_NAME, --材料来源地名称
  2087. SOURE_CODE, --材料来源地代码
  2088. GROUD_NO, --组号
  2089. SUPPLY_UNIT_CODE, --制造商代码
  2090. SUPPLY_UNIT, --制造商
  2091. IS_DEALER --是否双经销
  2092. )
  2093. SELECT
  2094. '#judge_stove_no#' ||
  2095. substr((
  2096. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  2097. ( select mat_no from YDM_GP_INLIST
  2098. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%'
  2099. and instock_type_code='800701' and supply_unit_code='120504'
  2100. union all
  2101. select mat_no from mat_gp_m
  2102. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2103. union all
  2104. select mat_no from mat_gp_m_history
  2105. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2106. )
  2107. ) +1-rownum,-3),
  2108. '801401',
  2109. '80150101',
  2110. '#stove_no#',
  2111. null,
  2112. --'#judge_stove_no#',
  2113. --'1',
  2114. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2115. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2116. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2117. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2118. --(select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2119. null,
  2120. null,
  2121. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2122. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2123. #gplength#,
  2124. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,#bc#,1),
  2125. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,(select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#),
  2126. 1,
  2127. --'#act_weight#',
  2128. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  2129. null,
  2130. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2131. '120501','002001001','120504','002023005',''),
  2132. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2133. '120501','生产计划部','120504','产品制造部',''),
  2134. sysdate,
  2135. --to_char(sysdate,'yyyymm'),
  2136. decode(sign(sysdate -to_date(to_char(SYSDATE,'yyyy-mm')||'-25'||' 21:00:00','yyyy-MM-dd HH24:mi:ss')),'1',to_char(add_months(trunc(sysdate),1),'yyyymm'),'-1',to_char(SYSDATE,'yyyymm'),'0',to_char(add_months(trunc(sysdate),1),'yyyymm')),
  2137. '#create_name#',
  2138. sysdate,
  2139. --null,
  2140. (select CASE GPTYPE WHEN '0' THEN '轧坯(外购)' WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2141. (select CASE GPTYPE WHEN '0' THEN 'C063' WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2142. (select GPTYPE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2143. (select ORDER_NO ||'/'||SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2144. '#ord_no_pk#',
  2145. #bc#,
  2146. (
  2147. SELECT CIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2148. (
  2149. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2150. )
  2151. ),
  2152. (
  2153. SELECT PIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2154. (
  2155. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2156. )
  2157. ),
  2158. (
  2159. SELECT SIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2160. (
  2161. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2162. )
  2163. ),
  2164. (
  2165. SELECT DIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2166. (
  2167. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2168. )
  2169. ),
  2170. '00',
  2171. '801301',
  2172. '外购',
  2173. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2174. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2175. --'#judge_stove_no#' ||'-'||'#bc#',
  2176. '#judge_stove_no#' ||'-'||'1',
  2177. 1,
  2178. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2179. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  2180. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2181. '#bc#',
  2182. (SELECT SUPPLY_UNIT_CODE FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2183. (SELECT SUPPLY_UNIT FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2184. (SELECT TYPE_FLAG FROM pln_reqinf_gp WHERE gpreq_id =(SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#'))
  2185. FROM DUAL CONNECT BY ROWNUM <=#count#
  2186. ]]>
  2187. </query>
  2188. <query id="BuyGpDAL.insert_YDM_GP_BUTTRESS" desc="采购坯入库位置表">
  2189. <![CDATA[
  2190. INSERT INTO
  2191. YDM_GP_BUTTRESS t
  2192. (
  2193. MAT_NO, --材料号
  2194. STOVE_NO, --熔炼炉号
  2195. JUDGE_STOVE_NO, --判定炉号
  2196. STORAGE_NO, --仓库代码
  2197. LOCATION_NO, --库位代码
  2198. LARY_NO, --层号
  2199. LOC_NO, --位置
  2200. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2201. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2202. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2203. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2204. CREATE_NAME, --创建人
  2205. CREATE_TIME, --创建时间
  2206. GROUD_NO, --组号(判定炉号对应长度分组)写倍尺
  2207. LOCATION_NAME --库位名称
  2208. )
  2209. SELECT
  2210. '#judge_stove_no#'||
  2211. substr((
  2212. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  2213. YDM_GP_BUTTRESS
  2214. where judge_stove_no ='#judge_stove_no#'
  2215. ) +rownum,-3),
  2216. '#stove_no#',
  2217. '#judge_stove_no#',
  2218. --'#department_id#',
  2219. --'#department_id#' || '10101',
  2220. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2221. (select LOCATION_NO from ydm_bs_location
  2222. WHERE STORAGE_NO =
  2223. (
  2224. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  2225. ) and LOCATION_NAME='#location#' ),
  2226. '#level#',
  2227. null,
  2228. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2229. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2230. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2231. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2232. '#create_name#',
  2233. sysdate,
  2234. #bc#,
  2235. '#location#'
  2236. FROM DUAL CONNECT BY ROWNUM <=#count#
  2237. ]]>
  2238. </query>
  2239. <query id="BuyGpDAL.insert_YDM_GP_BUTTRESS_TH" desc="采购坯入库位置表">
  2240. <![CDATA[
  2241. INSERT INTO
  2242. YDM_GP_BUTTRESS t
  2243. (
  2244. MAT_NO, --材料号
  2245. STOVE_NO, --熔炼炉号
  2246. JUDGE_STOVE_NO, --判定炉号
  2247. STORAGE_NO, --仓库代码
  2248. LOCATION_NO, --库位代码
  2249. LARY_NO, --层号
  2250. LOC_NO, --位置
  2251. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2252. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2253. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2254. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2255. CREATE_NAME, --创建人
  2256. CREATE_TIME, --创建时间
  2257. GROUD_NO, --组号(判定炉号对应长度分组)写倍尺
  2258. LOCATION_NAME --库位名称
  2259. )
  2260. SELECT
  2261. '#judge_stove_no#' ||
  2262. substr((
  2263. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  2264. ( select mat_no from YDM_GP_INLIST
  2265. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%'
  2266. and instock_type_code='800701' and supply_unit_code='120504'
  2267. union all
  2268. select mat_no from mat_gp_m
  2269. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2270. union all
  2271. select mat_no from mat_gp_m_history
  2272. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2273. )
  2274. ) +1-rownum,-3),
  2275. '#stove_no#',
  2276. null,
  2277. --'#department_id#',
  2278. --'#department_id#' || '10101',
  2279. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2280. (select LOCATION_NO from ydm_bs_location
  2281. WHERE STORAGE_NO =
  2282. (
  2283. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  2284. ) and LOCATION_NAME='#location#' ),
  2285. '#level#',
  2286. null,
  2287. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2288. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2289. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2290. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2291. '#create_name#',
  2292. sysdate,
  2293. #bc#,
  2294. '#location#'
  2295. FROM DUAL CONNECT BY ROWNUM <=#count#
  2296. ]]>
  2297. </query>
  2298. <query id="BuyGpDAL.get_TH_GP_JUDGE_STOVE_NO" desc="获取天淮采购坯入库当前最大炉号">
  2299. <![CDATA[
  2300. SELECT 'A'||to_char(sysdate,'yymm')|| SUBSTR(10001+(select to_number(substr(10000+substr(nvl(max(judge_stove_no),10000),-4),-4)) from Ydm_Gp_Inlist
  2301. where judge_stove_no > 'A'||to_char(sysdate,'yymm')||'0000'),2)
  2302. FROM dual
  2303. ]]>
  2304. </query>
  2305. <query id="BuyGpDAL.insert_Ydm_Gp_Inlist" desc="采购坯入库实绩表">
  2306. <![CDATA[
  2307. INSERT INTO Ydm_Gp_Inlist
  2308. (
  2309. INSTOCK_SQE, --入库流水号
  2310. INSTOCK_DOC, --入库单编号
  2311. INSTOCK_TYPE_CODE,--入库类型编码
  2312. INSTOCK_TYPE_NAME,--入库类型名称
  2313. VEHICLE_NO, --车牌号
  2314. MAT_NO, --材料号
  2315. PRODUCT_FLAG, --材料类别
  2316. MAT_STATUS, --材料状态
  2317. STOVE_NO, --熔炼炉号
  2318. JUDGE_STOVE_NO, --判定炉号
  2319. MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  2320. MAT_ORIGIN_NAME, --材料来源类型名称
  2321. SOURE_CODE, --材料来源地代码(产线、外委、外购对应的具体项目)
  2322. SOURE_NAME, --材料来源地名称
  2323. ORDER_NO, --合同号
  2324. ORD_PK, --合同主键
  2325. MATERIAL_NO, --物料码
  2326. MATERIAL_NAME, --物料描述
  2327. GRADECODE, --钢种代码
  2328. GRADENAME, --钢种名称
  2329. STD_CODE, --标准代码
  2330. STD_NAME, --标准名称
  2331. DIMATER, --直径或宽度(断面)
  2332. ACT_LEN, --坯料长度(实际)
  2333. FIX_NUM, --倍尺数(实际)
  2334. FIX_LEN, --单倍长度(实际)
  2335. ACT_COUNT, --材料支数(实际)
  2336. ACT_WEIGHT, --材料实重(实际)
  2337. ACT_THEORY_WEIGHT,--材料理论重量(实际)
  2338. STORAGE_NO, --仓库代码
  2339. LOCATION_NO, --库位代码
  2340. LARY_NO, --层号
  2341. LOC_NO, --位置
  2342. INSTOCK_TIME, --入库时间
  2343. IN_BC, --入库班次
  2344. IN_BZ, --入库班组
  2345. IN_TIME_F, --首次入库时间
  2346. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2347. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2348. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2349. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2350. CREATE_NAME, --创建人
  2351. CREATE_TIME, --创建时间
  2352. PLINE_NAME, --产线描述
  2353. PLINE_CODE, --产线代码
  2354. BELONG_CODE, --所属权单位代码
  2355. BELONG_NAME, --所属权单位
  2356. GROUD_NO , --组号
  2357. JUDGE_STOVE_NO_SEQ, --判定炉号序号
  2358. FURNACENO, --虚拟炉号
  2359. SUPPLY_UNIT_CODE, --制造商代码
  2360. SUPPLY_UNIT, --制造商
  2361. BAL_YEAR_MONTH --结算日期(年月)
  2362. )
  2363. SELECT
  2364. 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2365. || SUBSTR(
  2366. 1000+ROWNUM+(select to_number(substr(10000+substr(nvl(max(INSTOCK_SQE),10000),-4),-4)) from
  2367. Ydm_Gp_Inlist
  2368. --where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'),-4
  2369. where instock_doc = 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'),-4
  2370. )
  2371. /*
  2372. (
  2373. WITH t
  2374. AS
  2375. (
  2376. select substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-4) rn from
  2377. Ydm_Gp_Inlist
  2378. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  2379. )
  2380. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2381. || SUBSTR(10000+ROWNUM+
  2382. (select to_number(substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-4)) from
  2383. Ydm_Gp_Inlist
  2384. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%')
  2385. ,-4) */
  2386. ,
  2387. (
  2388. WITH t
  2389. AS
  2390. (
  2391. select substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-3) rn from
  2392. Ydm_Gp_Inlist
  2393. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  2394. )
  2395. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#' from dual
  2396. ),
  2397. '800701',
  2398. '产出入库',
  2399. '#car_no#',
  2400. '#judge_stove_no#'||
  2401. substr((
  2402. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  2403. Ydm_Gp_Inlist
  2404. where judge_stove_no ='#judge_stove_no#'
  2405. ) +rownum,-3),
  2406. '801401',
  2407. '80150101',
  2408. '#stove_no#',
  2409. '#judge_stove_no#',
  2410. '801301',
  2411. '外购',
  2412. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  2413. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2414. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2415. (select ORDER_NO || '/' ||
  2416. SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2417. '#ord_no_pk#',
  2418. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2419. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2420. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2421. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2422. (select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2423. null,
  2424. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2425. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2426. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2427. '120501',(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),'120504','#gplength#',''),
  2428. #bc#,
  2429. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2430. 1,
  2431. --'#act_weight#',
  2432. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  2433. null,
  2434. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2435. (select LOCATION_NO from ydm_bs_location
  2436. WHERE STORAGE_NO =
  2437. (
  2438. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  2439. ) and LOCATION_NAME='#location#' ),
  2440. '#level#',
  2441. null,
  2442. sysdate,
  2443. null,
  2444. null,
  2445. sysdate,
  2446. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2447. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2448. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2449. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2450. '#create_name#',
  2451. sysdate,
  2452. (select CASE GPTYPE WHEN '0' THEN '轧坯(外购)' WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2453. (select CASE GPTYPE WHEN '0' THEN 'C063' WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2454. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2455. '120501','002001001','120504','002023005',''),
  2456. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2457. '120501','生产计划部','120504','产品制造部',''),
  2458. '#bc#',
  2459. '#judge_stove_no#' || '-01',
  2460. '#judge_stove_no#' ||'-'||'1',
  2461. (SELECT SUPPLY_UNIT_CODE FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2462. (SELECT SUPPLY_UNIT FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2463. decode(sign(sysdate -to_date(to_char(SYSDATE,'yyyy-mm')||'-25'||' 21:00:00','yyyy-MM-dd HH24:mi:ss')),'1',to_char(add_months(trunc(sysdate),1),'yyyymm'),'-1',to_char(SYSDATE,'yyyymm'),'0',to_char(add_months(trunc(sysdate),1),'yyyymm'))
  2464. FROM DUAL CONNECT BY ROWNUM <= #count#
  2465. ]]>
  2466. </query>
  2467. <query id="BuyGpDAL.insert_Ydm_Gp_Inlist_TH" desc="采购坯入库实绩表(天淮)">
  2468. <![CDATA[
  2469. INSERT INTO Ydm_Gp_Inlist
  2470. (
  2471. INSTOCK_SQE, --入库流水号
  2472. INSTOCK_DOC, --入库单编号
  2473. INSTOCK_TYPE_CODE,--入库类型编码
  2474. INSTOCK_TYPE_NAME,--入库类型名称
  2475. VEHICLE_NO, --车牌号
  2476. MAT_NO, --材料号
  2477. PRODUCT_FLAG, --材料类别
  2478. MAT_STATUS, --材料状态
  2479. STOVE_NO, --熔炼炉号
  2480. JUDGE_STOVE_NO, --判定炉号
  2481. MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  2482. MAT_ORIGIN_NAME, --材料来源类型名称
  2483. SOURE_CODE, --材料来源地代码(产线、外委、外购对应的具体项目)
  2484. SOURE_NAME, --材料来源地名称
  2485. ORDER_NO, --合同号
  2486. ORD_PK, --合同主键
  2487. MATERIAL_NO, --物料码
  2488. MATERIAL_NAME, --物料描述
  2489. GRADECODE, --钢种代码
  2490. GRADENAME, --钢种名称
  2491. STD_CODE, --标准代码
  2492. STD_NAME, --标准名称
  2493. DIMATER, --直径或宽度(断面)
  2494. ACT_LEN, --坯料长度(实际)
  2495. FIX_NUM, --倍尺数(实际)
  2496. FIX_LEN, --单倍长度(实际)
  2497. ACT_COUNT, --材料支数(实际)
  2498. ACT_WEIGHT, --材料实重(实际)
  2499. ACT_THEORY_WEIGHT,--材料理论重量(实际)
  2500. STORAGE_NO, --仓库代码
  2501. LOCATION_NO, --库位代码
  2502. LARY_NO, --层号
  2503. LOC_NO, --位置
  2504. INSTOCK_TIME, --入库时间
  2505. IN_BC, --入库班次
  2506. IN_BZ, --入库班组
  2507. IN_TIME_F, --首次入库时间
  2508. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2509. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2510. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2511. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2512. CREATE_NAME, --创建人
  2513. CREATE_TIME, --创建时间
  2514. PLINE_NAME, --产线描述
  2515. PLINE_CODE, --产线代码
  2516. BELONG_CODE, --所属权单位代码
  2517. BELONG_NAME, --所属权单位
  2518. GROUD_NO , --组号
  2519. JUDGE_STOVE_NO_SEQ, --判定炉号序号
  2520. FURNACENO, --虚拟炉号
  2521. SUPPLY_UNIT_CODE, --制造商代码
  2522. SUPPLY_UNIT, --制造商
  2523. BAL_YEAR_MONTH --结算日期(年月)
  2524. )
  2525. SELECT
  2526. 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2527. || SUBSTR(
  2528. 1000+ROWNUM+(select to_number(substr(10000+substr(nvl(max(INSTOCK_SQE),10000),-4),-4)) from
  2529. Ydm_Gp_Inlist
  2530. --where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'),-4
  2531. where INSTOCK_SQE like 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'||'%'),-4
  2532. )
  2533. /*
  2534. (
  2535. WITH t
  2536. AS
  2537. (
  2538. select substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-4) rn from
  2539. Ydm_Gp_Inlist
  2540. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  2541. )
  2542. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2543. || SUBSTR(10000+ROWNUM+
  2544. (select to_number(substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-4)) from
  2545. Ydm_Gp_Inlist
  2546. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%')
  2547. ,-4) */
  2548. ,
  2549. (
  2550. WITH t
  2551. AS
  2552. (
  2553. select substr(10000+substr(nvl(max(instock_doc),10000),-4)+1,-3) rn from
  2554. Ydm_Gp_Inlist
  2555. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  2556. )
  2557. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#' from dual
  2558. ),
  2559. '800701',
  2560. '产出入库',
  2561. '#car_no#',
  2562. '#judge_stove_no#' ||
  2563. substr((
  2564. select TO_NUMBER(REGEXP_REPLACE(nvl(max(mat_no),10000),'[^0-9.]','')) rn from
  2565. ( select mat_no from YDM_GP_INLIST
  2566. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%'
  2567. and instock_type_code='800701' and supply_unit_code='120504'
  2568. union all
  2569. select mat_no from mat_gp_m
  2570. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2571. union all
  2572. select mat_no from mat_gp_m_history
  2573. where STOVE_NO ='#judge_stove_no#' and mat_no like '#judge_stove_no#%' and supply_unit_code='120504'
  2574. )
  2575. ) +rownum,-3),
  2576. '801401',
  2577. '80150101',
  2578. '#stove_no#',
  2579. null,
  2580. '801301',
  2581. '外购',
  2582. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  2583. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2584. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2585. (select ORDER_NO || '/' ||
  2586. SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2587. '#ord_no_pk#',
  2588. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2589. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2590. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2591. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2592. (select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2593. null,
  2594. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2595. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2596. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2597. '120501',(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),'120504','#gplength#',''),
  2598. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,#bc#,1),
  2599. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,(select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#),
  2600. 1,
  2601. --'#act_weight#',
  2602. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  2603. null,
  2604. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2605. (select LOCATION_NO from ydm_bs_location
  2606. WHERE STORAGE_NO =
  2607. (
  2608. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  2609. ) and LOCATION_NAME='#location#' ),
  2610. '#level#',
  2611. null,
  2612. sysdate,
  2613. null,
  2614. null,
  2615. sysdate,
  2616. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2617. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2618. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2619. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2620. '#create_name#',
  2621. sysdate,
  2622. (select CASE GPTYPE WHEN '0' THEN '轧坯(外购)' WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2623. (select CASE GPTYPE WHEN '0' THEN 'C063' WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2624. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2625. '120501','002001001','120504','002023005',''),
  2626. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2627. '120501','生产计划部','120504','产品制造部',''),
  2628. '#bc#',
  2629. '#judge_stove_no#' || '-01',
  2630. '#judge_stove_no#' ||'-'||'1',
  2631. (SELECT SUPPLY_UNIT_CODE FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2632. (SELECT SUPPLY_UNIT FROM pln_reqinf_gp WHERE gpreq_id = (SELECT max(gpbuyplanid) from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2633. decode(sign(sysdate -to_date(to_char(SYSDATE,'yyyy-mm')||'-25'||' 21:00:00','yyyy-MM-dd HH24:mi:ss')),'1',to_char(add_months(trunc(sysdate),1),'yyyymm'),'-1',to_char(SYSDATE,'yyyymm'),'0',to_char(add_months(trunc(sysdate),1),'yyyymm'))
  2634. FROM DUAL CONNECT BY ROWNUM <= #count#
  2635. ]]>
  2636. </query>
  2637. <query id="BuyGpDAL.insert_STL_LG_INSTORE_RESULT" desc="插入管坯交库实绩表">
  2638. <![CDATA[
  2639. INSERT INTO STL_LG_INSTORE_RESULT
  2640. (
  2641. PRO_PLAN_ID, --铸造订单编号(不空) 外购坯需求单号
  2642. GX_PLAN_NO, --工序排产序号(不空) 1
  2643. FURNACENO, --虚拟炉号 (不空)
  2644. STOVE_NO, --熔炼炉号
  2645. JUDGE_STOVE_NO,--标识炉号
  2646. MATERIAL_NO, --物料码
  2647. MATERIAL_NAME, --物料描述
  2648. GRADECODE, --钢种代码
  2649. GRADENAME, --钢种
  2650. DIAMETER, --直径
  2651. FIX_NUM, --倍尺数
  2652. FIX_LEN, --单倍长度
  2653. LENGTH, --长度
  2654. ACT_COUNT, --支数
  2655. WEIGHT, --重量
  2656. JUDGE_STOVE_NO_SEQ, --判定炉号(序号)--判定炉号-01
  2657. SEQUENCENO , --顺序号(虚拟炉号) 所有都写1
  2658. NODE_FUR_FLAG --结炉标识
  2659. )
  2660. SELECT
  2661. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2662. 1,
  2663. '#judge_stove_no#' ||'-'||'#bc#',
  2664. '#stove_no#',
  2665. '#judge_stove_no#',
  2666. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2667. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2668. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2669. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2670. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2671. #bc#,
  2672. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2673. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2674. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2675. '120501',(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),'120504','#gplength#',''),
  2676. #count#,
  2677. #weight#,
  2678. '#judge_stove_no#' || '-01',
  2679. 1,
  2680. '#jielu#'
  2681. FROM DUAL
  2682. WHERE NOT EXISTS
  2683. (SELECT * FROM STL_LG_INSTORE_RESULT
  2684. WHERE
  2685. PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  2686. AND JUDGE_STOVE_NO='#judge_stove_no#'
  2687. AND FIX_NUM =#bc# )
  2688. ]]>
  2689. </query>
  2690. <query id="BuyGpDAL.insert_STL_LG_INSTORE_RESULT_TH" desc="插入管坯交库实绩表(天淮)">
  2691. <![CDATA[
  2692. INSERT INTO STL_LG_INSTORE_RESULT
  2693. (
  2694. PRO_PLAN_ID, --铸造订单编号(不空) 外购坯需求单号
  2695. GX_PLAN_NO, --工序排产序号(不空) 1
  2696. FURNACENO, --虚拟炉号 (不空)
  2697. STOVE_NO, --熔炼炉号
  2698. JUDGE_STOVE_NO,--标识炉号
  2699. MATERIAL_NO, --物料码
  2700. MATERIAL_NAME, --物料描述
  2701. GRADECODE, --钢种代码
  2702. GRADENAME, --钢种
  2703. DIAMETER, --直径
  2704. FIX_NUM, --倍尺数
  2705. FIX_LEN, --单倍长度
  2706. LENGTH, --长度
  2707. ACT_COUNT, --支数
  2708. WEIGHT, --重量
  2709. JUDGE_STOVE_NO_SEQ, --判定炉号(序号)--判定炉号-01
  2710. SEQUENCENO , --顺序号(虚拟炉号) 所有都写1
  2711. NODE_FUR_FLAG --结炉标识
  2712. )
  2713. SELECT
  2714. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2715. 1,
  2716. '#judge_stove_no#' ||'-'||'#bc#',
  2717. '#stove_no#',
  2718. --'#judge_stove_no#',
  2719. null,
  2720. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2721. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2722. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2723. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2724. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2725. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,#bc#,1),
  2726. decode((select len_gp_single*fix_num from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#,(select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),#gplength#),
  2727. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2728. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2729. '120501',(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),'120504','#gplength#',''),
  2730. #count#,
  2731. #weight#,
  2732. '#judge_stove_no#' || '-01',
  2733. 1,
  2734. '#jielu#'
  2735. FROM DUAL
  2736. WHERE NOT EXISTS
  2737. (SELECT * FROM STL_LG_INSTORE_RESULT
  2738. WHERE
  2739. PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  2740. AND STOVE_NO='#judge_stove_no#'
  2741. AND LENGTH =#gplength# )
  2742. ]]>
  2743. </query>
  2744. <query id="BuyGpDAL.insert_MAT_GP_M_older20180204" desc="采购坯入库库存表老版本备份">
  2745. <![CDATA[
  2746. INSERT INTO MAT_GP_M
  2747. (
  2748. MAT_NO, --材料号(坯号)规则---(15)----母料号000
  2749. PRODUCT_FLAG, --材料类别(8014在制品、成品、商品)
  2750. MAT_STATUS, --材料状态(801501在制品阶段、801502成品、801503商品...)
  2751. STOVE_NO, --熔炼炉号
  2752. JUDGE_STOVE_NO, --判定炉号
  2753. --MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  2754. MATERIAL_NO, --物料码
  2755. MATERIAL_NAME, --物料描叙
  2756. GRADECODE, --钢种代码
  2757. GRADENAME, --钢种名称
  2758. STD_CODE, --标准代码
  2759. STD_NAME, --标准名称
  2760. DIMATER, --直径或宽度(实际)
  2761. ACT_LEN, --坯料长度(实际)
  2762. FIX_NUM, --倍尺数(实际)
  2763. FIX_LEN, --单倍长度(实际)
  2764. ACT_COUNT, --材料支数(实际)
  2765. ACT_WEIGHT, --材料实重(实际)
  2766. ACT_THEORY_WEIGHT, --材料理论重量(实际)
  2767. BELONG_CODE, --所属权单位代码
  2768. BELONG_NAME, --所属权单位
  2769. INSTOCK_TIME, --入库时间(首次)
  2770. BAL_YEAR_MONTH, --结算日期(年月)
  2771. CREATE_NAME, --创建人
  2772. CREATE_TIME, --创建时间
  2773. --FURNACENO, --虚拟炉号
  2774. PLINE_NAME, --产线名称
  2775. PLINE_CODE, --产线代码
  2776. GPTYPE, --管坯类型
  2777. PRO_ORDER_NO, --采购合同号
  2778. ORD_PK, --采购合同号PK值
  2779. DB_ACT_COUNT, --单倍坯支数
  2780. CIC,
  2781. PIC,
  2782. SIC,
  2783. DIC,
  2784. QCM_STAUS, --交库状态
  2785. MAT_ORIGIN_CODE, --材料类型来源代码
  2786. MAT_ORIGIN_NAME, --材料类型来源名称
  2787. PRO_PLAN_ID, --铸造订单编号(传采购需求单号)
  2788. GPREQ_ID, --传采购需求单号
  2789. FURNACENO, --虚拟炉号
  2790. SEQUENCENO, --顺序号
  2791. SOURE_NAME, --材料来源地名称
  2792. SOURE_CODE --材料来源地代码
  2793. )
  2794. SELECT
  2795. '#judge_stove_no#'||
  2796. substr((
  2797. select nvl(max(mat_no),10000) rn from
  2798. mat_gp_m
  2799. where judge_stove_no ='#judge_stove_no#'
  2800. ) +rownum,-4),
  2801. '801401',
  2802. '80150101',
  2803. '#stove_no#',
  2804. '#judge_stove_no#',
  2805. --'1',
  2806. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2807. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2808. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2809. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2810. --(select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2811. null,
  2812. null,
  2813. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2814. --(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2815. decode((SELECT supply_unit_code FROM pln_reqinf_gp WHERE gpreq_id =(SELECT gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  2816. '120501',(select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),'120504','#gplength#',''),
  2817. #bc#,
  2818. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2819. 1,
  2820. --'#act_weight#',
  2821. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  2822. null,
  2823. '002001001',
  2824. '生产计划部',
  2825. sysdate,
  2826. to_char(sysdate,'yyyymm'),
  2827. '#create_name#',
  2828. sysdate,
  2829. --null,
  2830. (select CASE GPTYPE WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2831. (select CASE GPTYPE WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2832. (select GPTYPE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2833. (select ORDER_NO ||'/'||SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2834. '#ord_no_pk#',
  2835. #bc#,
  2836. (
  2837. SELECT CIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2838. (
  2839. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2840. )
  2841. ),
  2842. (
  2843. SELECT PIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2844. (
  2845. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2846. )
  2847. ),
  2848. (
  2849. SELECT SIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2850. (
  2851. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2852. )
  2853. ),
  2854. (
  2855. SELECT DIC FROM PLN_REQINF_GP WHERE GPREQ_ID =
  2856. (
  2857. SELECT GPBUYPLANID FROM BUY_GP_ORDER WHERE ORD_NO_PK ='#ord_no_pk#'
  2858. )
  2859. ),
  2860. '00',
  2861. '801301',
  2862. '外购',
  2863. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2864. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2865. --'#judge_stove_no#' ||'-'||'#bc#',
  2866. '#judge_stove_no#' ||'-'||'1',
  2867. 1,
  2868. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  2869. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  2870. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'))
  2871. FROM DUAL CONNECT BY ROWNUM <=#count#
  2872. ]]>
  2873. </query>
  2874. <query id="BuyGpDAL.insert_YDM_GP_BUTTRESS_older20180204" desc="采购坯入库位置表老版本备份">
  2875. <![CDATA[
  2876. INSERT INTO
  2877. YDM_GP_BUTTRESS t
  2878. (
  2879. MAT_NO, --材料号
  2880. STOVE_NO, --熔炼炉号
  2881. JUDGE_STOVE_NO, --判定炉号
  2882. STORAGE_NO, --仓库代码
  2883. LOCATION_NO, --库位代码
  2884. LARY_NO, --层号
  2885. LOC_NO, --位置
  2886. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2887. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2888. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2889. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2890. CREATE_NAME, --创建人
  2891. CREATE_TIME, --创建时间
  2892. GROUD_NO, --组号(判定炉号对应长度分组)写倍尺
  2893. LOCATION_NAME --库位名称
  2894. )
  2895. SELECT
  2896. '#judge_stove_no#'||
  2897. substr((
  2898. select nvl(max(mat_no),10000) rn from
  2899. YDM_GP_BUTTRESS
  2900. where judge_stove_no ='#judge_stove_no#'
  2901. ) +rownum,-4),
  2902. '#stove_no#',
  2903. '#judge_stove_no#',
  2904. --'#department_id#',
  2905. --'#department_id#' || '10101',
  2906. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2907. (select LOCATION_NO from ydm_bs_location
  2908. WHERE STORAGE_NO =
  2909. (
  2910. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  2911. ) and LOCATION_NAME='#location#' ),
  2912. '#level#',
  2913. null,
  2914. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2915. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2916. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2917. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  2918. '#create_name#',
  2919. sysdate,
  2920. #bc#,
  2921. '#location#'
  2922. FROM DUAL CONNECT BY ROWNUM <=#count#
  2923. ]]>
  2924. </query>
  2925. <query id="BuyGpDAL.insert_Ydm_Gp_Inlist_older20180204" desc="采购坯入库实绩表历史版本备份">
  2926. <![CDATA[
  2927. INSERT INTO Ydm_Gp_Inlist
  2928. (
  2929. INSTOCK_SQE, --入库流水号
  2930. INSTOCK_DOC, --入库单编号
  2931. INSTOCK_TYPE_CODE,--入库类型编码
  2932. INSTOCK_TYPE_NAME,--入库类型名称
  2933. VEHICLE_NO, --车牌号
  2934. MAT_NO, --材料号
  2935. PRODUCT_FLAG, --材料类别
  2936. MAT_STATUS, --材料状态
  2937. STOVE_NO, --熔炼炉号
  2938. JUDGE_STOVE_NO, --判定炉号
  2939. MAT_ORIGIN_CODE, --材料来源类型代码(1外购、2机组产出等)
  2940. MAT_ORIGIN_NAME, --材料来源类型名称
  2941. SOURE_CODE, --材料来源地代码(产线、外委、外购对应的具体项目)
  2942. SOURE_NAME, --材料来源地名称
  2943. ORDER_NO, --合同号
  2944. ORD_PK, --合同主键
  2945. MATERIAL_NO, --物料码
  2946. MATERIAL_NAME, --物料描述
  2947. GRADECODE, --钢种代码
  2948. GRADENAME, --钢种名称
  2949. STD_CODE, --标准代码
  2950. STD_NAME, --标准名称
  2951. DIMATER, --直径或宽度(断面)
  2952. ACT_LEN, --坯料长度(实际)
  2953. FIX_NUM, --倍尺数(实际)
  2954. FIX_LEN, --单倍长度(实际)
  2955. ACT_COUNT, --材料支数(实际)
  2956. ACT_WEIGHT, --材料实重(实际)
  2957. ACT_THEORY_WEIGHT,--材料理论重量(实际)
  2958. STORAGE_NO, --仓库代码
  2959. LOCATION_NO, --库位代码
  2960. LARY_NO, --层号
  2961. LOC_NO, --位置
  2962. INSTOCK_TIME, --入库时间
  2963. IN_BC, --入库班次
  2964. IN_BZ, --入库班组
  2965. IN_TIME_F, --首次入库时间
  2966. STORAGE_ATTR, --仓库类型(基础表YDM_BS_STORAGE)
  2967. STORAGE_ATTR_NAME, --仓库类型描述(基础表YDM_BS_STORAGE)
  2968. STORAGE_TYPE_NO, --库类别代码(基础表YDM_BS_STORAGE)
  2969. STORAGE_TYPE_NAME, --库类别代码描述(基础表YDM_BS_STORAGE)
  2970. CREATE_NAME, --创建人
  2971. CREATE_TIME, --创建时间
  2972. PLINE_NAME, --产线描述
  2973. PLINE_CODE, --产线代码
  2974. BELONG_CODE, --所属权单位代码
  2975. BELONG_NAME, --所属权单位
  2976. GROUD_NO , --组号
  2977. JUDGE_STOVE_NO_SEQ, --判定炉号序号
  2978. FURNACENO --虚拟炉号
  2979. )
  2980. SELECT
  2981. 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2982. || SUBSTR(
  2983. 10000+ROWNUM+(select to_number(substr(100000+substr(nvl(max(INSTOCK_SQE),100000),-5),-5)) from
  2984. Ydm_Gp_Inlist
  2985. --where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'),-4
  2986. where instock_doc = 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'),-4
  2987. )
  2988. /*
  2989. (
  2990. WITH t
  2991. AS
  2992. (
  2993. select substr(100000+substr(nvl(max(instock_doc),100000),-5)+1,-5) rn from
  2994. Ydm_Gp_Inlist
  2995. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  2996. )
  2997. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#'
  2998. || SUBSTR(10000+ROWNUM+
  2999. (select to_number(substr(100000+substr(nvl(max(instock_doc),100000),-5)+1,-5)) from
  3000. Ydm_Gp_Inlist
  3001. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%')
  3002. ,-4) */
  3003. ,
  3004. (
  3005. WITH t
  3006. AS
  3007. (
  3008. select substr(100000+substr(nvl(max(instock_doc),100000),-5)+1,-5) rn from
  3009. Ydm_Gp_Inlist
  3010. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  3011. )
  3012. select 'IA'||to_char(sysdate,'yymmdd')|| '#rn#' from dual
  3013. ),
  3014. '800701',
  3015. '产出入库',
  3016. '#car_no#',
  3017. '#judge_stove_no#'||
  3018. substr((
  3019. select nvl(max(mat_no),10000) rn from
  3020. Ydm_Gp_Inlist
  3021. where judge_stove_no ='#judge_stove_no#'
  3022. ) +rownum,-4),
  3023. '801401',
  3024. '80150101',
  3025. '#stove_no#',
  3026. '#judge_stove_no#',
  3027. '801301',
  3028. '外购',
  3029. (SELECT SUPP_CODE FROM COM_BASE_SUPP
  3030. WHERE SUPP_SHORT_NAME =(select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#')),
  3031. (select SUPP_CODE from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3032. (select ORDER_NO || '/' ||
  3033. SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3034. '#ord_no_pk#',
  3035. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3036. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3037. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3038. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3039. (select std_code from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3040. null,
  3041. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3042. (select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3043. #bc#,
  3044. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3045. 1,
  3046. --'#act_weight#',
  3047. case when ROWNUM <#count# then round(#weight#/#count#,3) else #weight#-round((#weight#/#count#),3)*(#count# - 1) end,
  3048. null,
  3049. (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  3050. (select LOCATION_NO from ydm_bs_location
  3051. WHERE STORAGE_NO =
  3052. (
  3053. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  3054. ) and LOCATION_NAME='#location#' ),
  3055. '#level#',
  3056. null,
  3057. sysdate,
  3058. null,
  3059. null,
  3060. sysdate,
  3061. (select STORAGE_ATTR from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  3062. (select STORAGE_ATTR_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  3063. (select STORAGE_TYPE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  3064. (select STORAGE_TYPE_NAME from YDM_BS_STORAGE where storage_name = '#storage_name#'),
  3065. '#create_name#',
  3066. sysdate,
  3067. (select CASE GPTYPE WHEN '1' THEN '连铸坯(外购)' ELSE '锻坯(外购)' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3068. (select CASE GPTYPE WHEN '1' THEN 'C063' ELSE 'C064' END from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3069. '002001001',
  3070. '生产计划部',
  3071. '#bc#',
  3072. '#judge_stove_no#' || '-01',
  3073. '#judge_stove_no#' ||'-'||'1'
  3074. FROM DUAL CONNECT BY ROWNUM <= #count#
  3075. ]]>
  3076. </query>
  3077. <query id="BuyGpDAL.insert_STL_LG_INSTORE_RESULT_older20180204" desc="插入管坯交库实绩表历史版本备份">
  3078. <![CDATA[
  3079. INSERT INTO STL_LG_INSTORE_RESULT
  3080. (
  3081. PRO_PLAN_ID, --铸造订单编号(不空) 外购坯需求单号
  3082. GX_PLAN_NO, --工序排产序号(不空) 1
  3083. FURNACENO, --虚拟炉号 (不空)
  3084. STOVE_NO, --熔炼炉号
  3085. JUDGE_STOVE_NO,--标识炉号
  3086. MATERIAL_NO, --物料码
  3087. MATERIAL_NAME, --物料描述
  3088. GRADECODE, --钢种代码
  3089. GRADENAME, --钢种
  3090. DIAMETER, --直径
  3091. FIX_NUM, --倍尺数
  3092. FIX_LEN, --单倍长度
  3093. LENGTH, --长度
  3094. ACT_COUNT, --支数
  3095. WEIGHT, --重量
  3096. JUDGE_STOVE_NO_SEQ, --判定炉号(序号)--判定炉号-01
  3097. SEQUENCENO , --顺序号(虚拟炉号) 所有都写1
  3098. NODE_FUR_FLAG --结炉标识
  3099. )
  3100. SELECT
  3101. (select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3102. 1,
  3103. '#judge_stove_no#' ||'-'||'#bc#',
  3104. '#stove_no#',
  3105. '#judge_stove_no#',
  3106. (select material_no from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3107. (select material_name from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3108. (select gradecode from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3109. (select gradename from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3110. (select diameter from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3111. #bc#,
  3112. (select len_gp_single from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3113. (select len_gp_single * #bc# from buy_gp_order where ord_no_pk='#ord_no_pk#'),
  3114. #count#,
  3115. #weight#,
  3116. '#judge_stove_no#' || '-01',
  3117. 1,
  3118. '#jielu#'
  3119. FROM DUAL
  3120. WHERE NOT EXISTS
  3121. (SELECT * FROM STL_LG_INSTORE_RESULT
  3122. WHERE
  3123. PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3124. AND JUDGE_STOVE_NO='#judge_stove_no#'
  3125. AND FIX_NUM =#bc# )
  3126. ]]>
  3127. </query>
  3128. <query id="BuyGpDAL.UPDATE_STL_LG_INSTORE_RESULT1" desc="更新管坯交库实绩表">
  3129. <![CDATA[
  3130. UPDATE STL_LG_INSTORE_RESULT
  3131. SET ACT_COUNT = ACT_COUNT + #count#,
  3132. WEIGHT = WEIGHT + #weight#,
  3133. NODE_FUR_FLAG = '#jielu#'
  3134. WHERE NODE_FUR_FLAG ='0'
  3135. AND PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3136. AND JUDGE_STOVE_NO='#judge_stove_no#'
  3137. AND FIX_NUM =#bc#
  3138. ]]>
  3139. </query>
  3140. <query id="BuyGpDAL.UPDATE_STL_LG_INSTORE_RESULT" desc="更新管坯交库实绩表">
  3141. <![CDATA[
  3142. UPDATE STL_LG_INSTORE_RESULT
  3143. SET ACT_COUNT = ACT_COUNT + #count#,
  3144. WEIGHT = WEIGHT + #weight#,
  3145. NODE_FUR_FLAG = '#jielu#'
  3146. WHERE NODE_FUR_FLAG ='0'
  3147. AND PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3148. AND JUDGE_STOVE_NO='#judge_stove_no#'
  3149. AND FIX_NUM =#bc#
  3150. ]]>
  3151. </query>
  3152. <query id="BuyGpDAL.UPDATE_STL_LG_INSTORE_RESULT_TH" desc="更新管坯交库实绩表(天淮)">
  3153. <![CDATA[
  3154. UPDATE STL_LG_INSTORE_RESULT
  3155. SET ACT_COUNT = ACT_COUNT + #count#,
  3156. WEIGHT = WEIGHT + #weight#
  3157. --NODE_FUR_FLAG = DECODE(NODE_FUR_FLAG,'1','1','#jielu#')
  3158. WHERE
  3159. PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3160. AND STOVE_NO='#stove_no#'
  3161. AND LENGTH =#gplength#
  3162. ]]>
  3163. </query>
  3164. <query id="BuyGpDAL.UPDATE_STL_LG_INSTORE_RESULT_JIELU" desc="更新管坯交库实绩表状态">
  3165. <![CDATA[
  3166. UPDATE STL_LG_INSTORE_RESULT
  3167. SET NODE_FUR_FLAG = DECODE(NODE_FUR_FLAG,'1','1','#jielu#')
  3168. WHERE PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3169. AND STOVE_NO='#stove_no#'
  3170. ]]>
  3171. </query>
  3172. <query id="BuyGpDAL.UPDATE_STL_LG_INSTORE_RESULT_JIELU_TH" desc="更新管坯交库实绩表状态">
  3173. <![CDATA[
  3174. UPDATE STL_LG_INSTORE_RESULT
  3175. SET NODE_FUR_FLAG = '#jielu#'
  3176. WHERE NODE_FUR_FLAG ='0'
  3177. AND PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3178. AND JUDGE_STOVE_NO='#judge_stove_no#'
  3179. ]]>
  3180. </query>
  3181. <query id="BuyGpDAL.SELECT_STL_LG_INSTORE_RESULT_JIELU" desc="查询坯交库实绩结炉状态">
  3182. <![CDATA[
  3183. SELECT COUNT(*) FROM STL_LG_INSTORE_RESULT
  3184. WHERE NODE_FUR_FLAG ='1'
  3185. AND PRO_PLAN_ID =(select gpbuyplanid from buy_gp_order where ord_no_pk='#ord_no_pk#')
  3186. AND JUDGE_STOVE_NO='#judge_stove_no#'
  3187. ]]>
  3188. </query>
  3189. <query id="BuyGpDAL.get_CGP_RK_Orders" desc="采购坯入库筛选合同">
  3190. <![CDATA[
  3191. SELECT
  3192. SUPP_CODE 供应商,
  3193. b.ORDER_NO || '/' || SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) 合同号,
  3194. b.GRADENAME 钢种,
  3195. DIAMETER 断面,
  3196. CASE b.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END 管坯类型,
  3197. b.LEN_GP_SINGLE 单倍坯长,
  3198. CAST(FIX_NUM AS INT) 倍尺,
  3199. LENGTH 管坯长度,
  3200. WEIGHT_NUM 合同量,
  3201. (SELECT count(*) from BUY_GP_DCYB
  3202. WHERE ord_no_pk = b.ord_no_pk
  3203. GROUP BY ord_no_pk ) 预报条数,
  3204. ORD_NO_PK,
  3205. GPBUYPLANID
  3206. FROM
  3207. BUY_GP_ORDER b
  3208. WHERE 1=1 AND GPBUYPLANID IN
  3209. (
  3210. SELECT gpreq_id FROM PLN_REQINF_GP
  3211. where ifbuyplan ='1'
  3212. and req_status !='4'
  3213. AND SUPPLY_UNIT_CODE='120501'
  3214. )
  3215. ]]>
  3216. </query>
  3217. <query id="BuyGpDAL.get_CGP_RK_OrdersTH" desc="采购坯入库筛选合同(天淮)">
  3218. <![CDATA[
  3219. SELECT
  3220. SUPP_CODE 供应商,
  3221. b.ORDER_NO || '/' || SUBSTR(TO_CHAR(1000+TO_NUMBER(ORDER_SQE)),-3) 合同号,
  3222. b.GRADENAME 钢种,
  3223. DIAMETER 断面,
  3224. CASE b.GPTYPE WHEN '0' THEN '轧坯' WHEN '1' THEN '铸坯' WHEN '2' THEN '锻坯' ELSE '' END 管坯类型,
  3225. b.LEN_GP_SINGLE 单倍坯长,
  3226. CAST(FIX_NUM AS INT) 倍尺,
  3227. LENGTH 管坯长度,
  3228. WEIGHT_NUM 合同量,
  3229. (SELECT count(*) from BUY_GP_DCYB
  3230. WHERE ord_no_pk = b.ord_no_pk
  3231. GROUP BY ord_no_pk ) 预报条数,
  3232. ORD_NO_PK,
  3233. GPBUYPLANID
  3234. FROM
  3235. BUY_GP_ORDER b
  3236. WHERE 1=1 AND GPBUYPLANID IN
  3237. (
  3238. SELECT gpreq_id FROM PLN_REQINF_GP
  3239. where ifbuyplan ='1'
  3240. and req_status !='4'
  3241. AND SUPPLY_UNIT_CODE='120504'
  3242. )
  3243. ]]>
  3244. </query>
  3245. <query id="BuyGpDAL.get_CGP_Orders_Dcyb" desc="采购坯入库筛选到厂预报">
  3246. <![CDATA[
  3247. SELECT
  3248. STOVE_NO 炉号,
  3249. JUDGE_STOVE_NO 判定炉号,
  3250. PLAN_COUNT 支数,
  3251. PLAN_WEIGHT 重量
  3252. FROM buy_gp_dcyb
  3253. WHERE ORD_NO_PK=?
  3254. ]]>
  3255. </query>
  3256. <query id="BuyGpDAL.get_CGP_RUKU_Level" desc="获取采购坯入库层数">
  3257. <![CDATA[
  3258. select level
  3259. from dual
  3260. connect by level <21
  3261. ]]>
  3262. </query>
  3263. <query id="BuyGpDAL.get_CGP_RUKU_Stock" desc="获取采购坯入库仓库信息">
  3264. <![CDATA[
  3265. select
  3266. t.storage_name,
  3267. t.storage_no
  3268. from ydm_bs_storage t
  3269. where (t.storage_type_name like '%管坯%'
  3270. --and t.storage_attr_name in ('投料库','离线库')
  3271. and t.management_no IN (#departments#)
  3272. )
  3273. ]]>
  3274. </query>
  3275. <query id="BuyGpDAL.get_CGP_RUKU_Stock_Location" desc="获取采购坯入库库位信息">
  3276. <![CDATA[
  3277. select LOCATION_NO,LOCATION_NAME from ydm_bs_location
  3278. WHERE STORAGE_NO =
  3279. (
  3280. SELECT STORAGE_NO FROM YDM_BS_STORAGE WHERE storage_name ='#storage_name#'
  3281. )
  3282. ORDER BY LOCATION_NO
  3283. ]]>
  3284. </query>
  3285. <query id="BuyGpDAL.get_CGP_RUKU_Stock_CHEDAN" desc="获取采购坯入库实际信息(撤单使用)">
  3286. <![CDATA[
  3287. /*
  3288. SELECT INSTOCK_DOC,JUDGE_STOVE_NO,GRADENAME,ORDER_NO,MATERIAL_NAME,SUM(ACT_COUNT) AS ACT_COUNT,SUM(ACT_WEIGHT) AS ACT_WEIGHT,CREATE_TIME,
  3289. (select max(t.pro_plan_id) from mat_gp_m t
  3290. where t.judge_stove_no = t1.judge_stove_no) GPREQ_ID
  3291. FROM ydm_gp_inlist t1
  3292. WHERE MAT_ORIGIN_NAME='外购'
  3293. AND STORAGE_NO =(select storage_no from ydm_bs_storage where storage_name = '#STORAGE_NAME#')
  3294. AND JUDGE_STOVE_NO IN
  3295. (select t.judge_stove_no
  3296. from mat_gp_m t
  3297. where t.mat_origin_name ='外购' and t.qcm_staus ='00'
  3298. group by t.judge_stove_no
  3299. )
  3300. AND ('#JUDGE_STOVE_NO#'= '无判定炉号' OR JUDGE_STOVE_NO ='#JUDGE_STOVE_NO#')
  3301. AND ('#ORDER_NO#'= '无合同号' OR ORDER_NO LIKE '%#ORDER_NO#%')
  3302. GROUP BY INSTOCK_DOC,JUDGE_STOVE_NO,GRADENAME,ORDER_NO,MATERIAL_NAME,CREATE_TIME
  3303. ORDER BY CREATE_TIME DESC
  3304. */
  3305. with t
  3306. as
  3307. (
  3308. select t.instock_doc,t.mat_no,
  3309. t1.mat_no as mat_no1,
  3310. t2.mat_no as mat_no2,
  3311. t2.storage_no
  3312. from
  3313. (select instock_doc,mat_no from Ydm_Gp_Inlist t where MAT_ORIGIN_NAME ='外购'
  3314. and storage_no=(select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#STORAGE_NAME#')) t
  3315. left join (select * from mat_gp_m where jugde_apply_code is null and mat_origin_name='外购') t1
  3316. on t.mat_no = t1.mat_no
  3317. left join (select * from YDM_GP_BUTTRESS where storage_no = (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#STORAGE_NAME#')) t2
  3318. on t.mat_no = t2.mat_no
  3319. )
  3320. SELECT INSTOCK_DOC,JUDGE_STOVE_NO,GRADENAME,ORDER_NO,MATERIAL_NAME,SUM(ACT_COUNT) AS ACT_COUNT,SUM(ACT_WEIGHT) AS ACT_WEIGHT,CREATE_TIME,
  3321. (select max(t.pro_plan_id) from mat_gp_m t
  3322. where t.judge_stove_no = t1.judge_stove_no) GPREQ_ID
  3323. FROM ydm_gp_inlist t1
  3324. WHERE MAT_ORIGIN_NAME='外购'
  3325. AND STORAGE_NO =(select storage_no from ydm_bs_storage where storage_name ='#STORAGE_NAME#')
  3326. AND
  3327. INSTOCK_DOC NOT IN (SELECT INSTOCK_DOC FROM t WHERE MAT_NO1 IS NULL OR MAT_NO2 IS NULL)
  3328. AND ('#JUDGE_STOVE_NO#'= '无判定炉号' OR JUDGE_STOVE_NO ='#JUDGE_STOVE_NO#')
  3329. AND ('#ORDER_NO#'= '无合同号' OR ORDER_NO LIKE '%#ORDER_NO#%')
  3330. GROUP BY INSTOCK_DOC,JUDGE_STOVE_NO,GRADENAME,ORDER_NO,MATERIAL_NAME,CREATE_TIME
  3331. ORDER BY CREATE_TIME DESC
  3332. ]]>
  3333. </query>
  3334. <query id="BuyGpDAL.get_CGP_RUKU_Stock_CHEDAN_TH" desc="获取采购坯入库实际信息(撤单使用)">
  3335. <![CDATA[
  3336. with t
  3337. as
  3338. (
  3339. select a.INSTOCK_DOC,a.stove_no as JUDGE_STOVE_NO,a.GRADENAME ,a.ORDER_NO ,a.MATERIAL_NAME,sum(a.act_count) ACT_COUNT,
  3340. sum(a.act_weight) ACT_WEIGHT,min(a.create_time) CREATE_TIME from ydm_gp_inlist a
  3341. inner join
  3342. (
  3343. select t.mat_no from mat_gp_m t
  3344. where t.supply_unit_code ='120504' and t.jugde_apply_code is null and t.judge_result_code is null
  3345. ) b
  3346. on a.mat_no = b.mat_no
  3347. group by a.INSTOCK_DOC,a.stove_no,a.gradename,a.order_no,a.MATERIAL_NAME
  3348. )
  3349. select * from t
  3350. where 1=1 #sql#
  3351. order by create_time desc
  3352. ]]>
  3353. </query>
  3354. <query id="BuyGpDAL.get_CGP_RUKU_Stock_CHEDAN_Details" desc="获取采购坯入库实际信息详细(撤单使用)">
  3355. <![CDATA[
  3356. SELECT SUM(ACT_COUNT) AS COUNT,SUM(ACT_WEIGHT) AS WEIGHT,FIX_NUM AS BC,MAX(ACT_LEN) AS ACT_LEN FROM MAT_GP_M
  3357. WHERE MAT_NO IN
  3358. (
  3359. SELECT MAT_NO
  3360. FROM ydm_gp_inlist
  3361. WHERE INSTOCK_DOC = '#instock_doc#' AND mat_origin_name ='外购'
  3362. )
  3363. GROUP BY FIX_NUM
  3364. ]]>
  3365. </query>
  3366. <query id="BuyGpDAL.get_CGP_RUKU_Stock_CHEDAN_Details_TH" desc="获取采购坯入库实际信息详细(撤单使用)">
  3367. <![CDATA[
  3368. SELECT SUM(ACT_COUNT) AS COUNT,SUM(ACT_WEIGHT) AS WEIGHT,MAX(FIX_NUM) AS BC,ACT_LEN FROM MAT_GP_M
  3369. WHERE MAT_NO IN
  3370. (
  3371. SELECT MAT_NO
  3372. FROM ydm_gp_inlist
  3373. WHERE INSTOCK_DOC = '#instock_doc#' AND mat_origin_name ='外购'
  3374. )
  3375. GROUP BY ACT_LEN
  3376. ]]>
  3377. </query>
  3378. <query id="BuyGpDAL.getMaxInstockDoc" desc="获取入库单号">
  3379. <![CDATA[
  3380. select substr(100000+substr(nvl(max(instock_doc),100000),-5)+1,-5) rn from
  3381. Ydm_Gp_Inlist
  3382. where instock_doc like 'IA'||to_char(sysdate,'yymmdd')|| '%'
  3383. ]]>
  3384. </query>
  3385. <query id="BuyGpDAL.deleteInstockDoc" desc="撤单">
  3386. <![CDATA[
  3387. declare v_count integer :=0;
  3388. BEGIN
  3389. with t
  3390. as
  3391. (
  3392. select t.instock_doc,t.mat_no,
  3393. t1.mat_no as mat_no1,
  3394. t2.mat_no as mat_no2,
  3395. t2.storage_no
  3396. from Ydm_Gp_Inlist t
  3397. left join (select * from mat_gp_m where jugde_apply_code is null) t1
  3398. on t.mat_no = t1.mat_no
  3399. left join (select * from YDM_GP_BUTTRESS where storage_no = (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#')) t2
  3400. on t.mat_no = t2.mat_no
  3401. where t.instock_doc IN (#instock_doc#) AND t.mat_origin_name ='外购'
  3402. )
  3403. select count(*) into v_count from t where mat_no1 is null or mat_no2 is null;
  3404. if v_count > 0 then
  3405. dbms_output.put_line(v_count);
  3406. return;
  3407. end if;
  3408. --return;
  3409. delete from ydm_gp_buttress
  3410. where mat_no in (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3411. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3412. );
  3413. delete from mat_gp_m
  3414. where mat_no in (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3415. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3416. );
  3417. UPDATE stl_lg_instore_result a
  3418. SET ACT_COUNT = ACT_COUNT - NVL((SELECT SUM(ACT_COUNT) FROM ydm_gp_inlist b
  3419. where instock_doc IN (#instock_doc#) AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO
  3420. AND b.FIX_NUM = a.FIX_NUM
  3421. GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0),
  3422. WEIGHT = WEIGHT - NVL((SELECT SUM(ACT_WEIGHT) FROM ydm_gp_inlist b
  3423. where instock_doc IN (#instock_doc#) AND b.mat_origin_name ='外购' AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO
  3424. AND b.FIX_NUM = a.FIX_NUM
  3425. --where exists (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#)
  3426. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3427. --)
  3428. GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0);
  3429. DELETE FROM stl_lg_instore_result WHERE (ACT_COUNT<=0 OR ACT_COUNT IS NULL) AND (pro_plan_id like 'GP_W%' or pro_plan_id like 'DP_W%');
  3430. delete from ydm_gp_inlist
  3431. where instock_doc IN(#instock_doc#) and mat_origin_name ='外购'
  3432. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3433. ;
  3434. END;
  3435. ]]>
  3436. </query>
  3437. <query id="BuyGpDAL.deleteInstockDocNew" desc="撤单新">
  3438. <![CDATA[
  3439. declare v_count integer :=0;
  3440. BEGIN
  3441. with t
  3442. as
  3443. (
  3444. select t.instock_doc,t.mat_no,
  3445. t1.mat_no as mat_no1,
  3446. t2.mat_no as mat_no2,
  3447. t2.storage_no
  3448. from Ydm_Gp_Inlist t
  3449. left join (select * from mat_gp_m where jugde_apply_code is null) t1
  3450. on t.mat_no = t1.mat_no
  3451. left join (select * from YDM_GP_BUTTRESS where storage_no = (select STORAGE_NO from YDM_BS_STORAGE where storage_name = '#storage_name#')) t2
  3452. on t.mat_no = t2.mat_no
  3453. where t.JUDGE_STOVE_NO IN (#judge_stove_no#) AND t.instock_doc IN (#instock_doc#) AND t.mat_origin_name ='外购'
  3454. )
  3455. select count(*) into v_count from t where mat_no1 is null or mat_no2 is null;
  3456. if v_count > 0 then
  3457. dbms_output.put_line(v_count);
  3458. return;
  3459. end if;
  3460. --return;
  3461. delete from ydm_gp_buttress
  3462. where mat_no in (select mat_no from ydm_gp_inlist where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3463. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3464. );
  3465. delete from mat_gp_m
  3466. where mat_no in (select mat_no from ydm_gp_inlist where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3467. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3468. );
  3469. UPDATE stl_lg_instore_result a
  3470. SET ACT_COUNT = ACT_COUNT - NVL((SELECT SUM(ACT_COUNT) FROM ydm_gp_inlist b
  3471. where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO
  3472. AND b.FIX_NUM = a.FIX_NUM
  3473. GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0),
  3474. WEIGHT = WEIGHT - NVL((SELECT SUM(ACT_WEIGHT) FROM ydm_gp_inlist b
  3475. where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) AND b.mat_origin_name ='外购' AND b.JUDGE_STOVE_NO = a.JUDGE_STOVE_NO
  3476. AND b.FIX_NUM = a.FIX_NUM
  3477. --where exists (select mat_no from ydm_gp_inlist where instock_doc IN (#instock_doc#)
  3478. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3479. --)
  3480. GROUP BY b.JUDGE_STOVE_NO,b.FIX_NUM),0);
  3481. DELETE FROM stl_lg_instore_result WHERE (ACT_COUNT<=0 OR ACT_COUNT IS NULL) AND (pro_plan_id like 'GP_W%' or pro_plan_id like 'DP_W%');
  3482. delete from ydm_gp_inlist
  3483. where JUDGE_STOVE_NO IN (#judge_stove_no#) AND instock_doc IN(#instock_doc#) and mat_origin_name ='外购'
  3484. --and mat_no in (select mat_no from mat_gp_m where qcm_staus ='00' and mat_origin_name ='外购')
  3485. ;
  3486. END;
  3487. ]]>
  3488. </query>
  3489. <query id="BuyGpDAL.deleteInstockDocTH" desc="撤单新">
  3490. <![CDATA[
  3491. BEGIN
  3492. delete from ydm_gp_buttress
  3493. where mat_no in (select mat_no from ydm_gp_inlist where STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3494. );
  3495. delete from mat_gp_m
  3496. where mat_no in (select mat_no from ydm_gp_inlist where STOVE_NO IN (#judge_stove_no#) AND instock_doc IN (#instock_doc#) and mat_origin_name ='外购'
  3497. );
  3498. UPDATE stl_lg_instore_result a
  3499. SET ACT_COUNT = ACT_COUNT - NVL((SELECT SUM(ACT_COUNT) FROM ydm_gp_inlist b
  3500. where STOVE_NO =#judge_stove_no# AND instock_sqe like #instock_doc#||'%' AND b.STOVE_NO = a.STOVE_NO
  3501. AND b.act_len = a.length
  3502. GROUP BY b.STOVE_NO,b.act_len),0),
  3503. WEIGHT = WEIGHT - NVL((SELECT SUM(ACT_WEIGHT) FROM ydm_gp_inlist b
  3504. where STOVE_NO =#judge_stove_no# AND instock_sqe like #instock_doc#||'%' AND b.STOVE_NO = a.STOVE_NO
  3505. AND b.act_len = a.length
  3506. GROUP BY b.STOVE_NO,b.act_len),0)
  3507. WHERE a.STOVE_NO =#judge_stove_no#;
  3508. DELETE FROM stl_lg_instore_result WHERE (ACT_COUNT<=0 OR ACT_COUNT IS NULL) AND (pro_plan_id like 'GP_W%' or pro_plan_id like 'DP_W%');
  3509. delete from ydm_gp_inlist
  3510. where STOVE_NO IN (#judge_stove_no#) AND instock_doc IN(#instock_doc#) and mat_origin_name ='外购';
  3511. END;
  3512. ]]>
  3513. </query>
  3514. <query id="BuyGpDAL.updateJIELUStatus" desc="设置结炉状态">
  3515. <![CDATA[
  3516. update stl_lg_instore_result
  3517. set node_fur_flag = '#jielu#'
  3518. where judge_stove_no ='#judge_stove_no#'
  3519. ]]>
  3520. </query>
  3521. <!-- 以下是外购坯轧管装炉所需语句 START -->
  3522. <query id="BuyGpDAL.selectPlnOrderZg" desc="查询轧管订单">
  3523. SELECT S.*
  3524. FROM
  3525. PLN_ORDER_ZG_S S
  3526. WHERE S.GPREQ_ID = '#PRO_PLAN_ID#'
  3527. AND S.EXE_STATUS IN('0','1')
  3528. ORDER BY
  3529. TO_NUMBER(S.GX_PRO_SEQ) ASC
  3530. </query>
  3531. <query id="BuyGpDAL.selectPlnOrderDz" desc="查询锻造订单">
  3532. SELECT T.*
  3533. FROM
  3534. PLN_ORDER_DZ_S T
  3535. WHERE T.GPREQ_ID = '#PRO_PLAN_ID#'
  3536. AND T.EXE_STATUS IN('0','1')
  3537. ORDER BY
  3538. TO_NUMBER(T.GX_PRO_SEQ) ASC
  3539. </query>
  3540. <query id="BuyGpDAL.selectMatGpMNumZg" desc="查询已挂单倍坯支数">
  3541. SELECT GET_GP_PLNZGM_NUM('#PRO_PLAN_ID#','#GX_PLAN_NO#') AS DB_ACT_COUNT FROM DUAL
  3542. </query>
  3543. <query id="BuyGpDAL.selectMatGpMNum" desc="查询已入支数(未挂单号)">
  3544. SELECT
  3545. NVL(SUM(T.ACT_COUNT),0)ACT_COUNT,
  3546. T.FIX_NUM,T.STOVE_NO,T.JUDGE_STOVE_NO,T.PRO_PLAN_ID,T.GX_PLAN_NO
  3547. FROM
  3548. MAT_GP_M T
  3549. WHERE T.PRO_PLAN_ID = ?
  3550. AND T.STOVE_NO = ?
  3551. AND
  3552. T.JUDGE_STOVE_NO =?
  3553. AND T.PRO_PLAN_ID_ZG IS NULL
  3554. AND T.QCM_STAUS = '00'
  3555. GROUP BY T.PRO_PLAN_ID,
  3556. T.GX_PLAN_NO,
  3557. T.STOVE_NO,
  3558. T.JUDGE_STOVE_NO,
  3559. T.FIX_NUM
  3560. ORDER BY T.FIX_NUM DESC
  3561. </query>
  3562. <query id="BuyGpDAL.updateMatGpMZg" desc="写入轧管订单号">
  3563. <![CDATA[
  3564. DECLARE
  3565. BEGIN
  3566. FOR MYROW IN (SELECT *
  3567. FROM (SELECT *
  3568. FROM MAT_GP_M T
  3569. WHERE T.PRO_PLAN_ID = '#PRO_PLAN_ID#'
  3570. AND T.STOVE_NO = '#STOVE_NO#'
  3571. AND T.JUDGE_STOVE_NO = '#JUDGE_STOVE_NO#'
  3572. AND T.FIX_NUM = '#FIX_NUM#'
  3573. AND T.QCM_STAUS = '00'
  3574. AND T.PRO_PLAN_ID_ZG IS NULL
  3575. ORDER BY T.MAT_NO ASC)
  3576. WHERE ROWNUM <= #ACT_COUNT#) LOOP
  3577. UPDATE MAT_GP_M T
  3578. SET T.PRO_PLAN_ID_ZG = '#PRO_PLAN_ID_ZG#',
  3579. T.GX_PLAN_NO_ZG = '#GX_PLAN_NO_ZG#'
  3580. WHERE T.MAT_NO = MYROW.MAT_NO;
  3581. END LOOP;
  3582. END;
  3583. ]]>
  3584. </query>
  3585. <!-- 以上是外购坯轧管装炉所需语句 END -->
  3586. <query id="BuyGpDAL.selectMatGpMRules" desc="查询是否不符合入库规则">
  3587. <![CDATA[
  3588. select gradename,dimater,fix_len,judge_stove_no,
  3589. (select storage_name from YDM_BS_STORAGE a where a.storage_no = t.storage_no) storage_name
  3590. from ydm_gp_inlist t
  3591. where judge_stove_no = '#judge_stove_no#'
  3592. ]]>
  3593. </query>
  3594. <query id="BuyGpDAL.selectMatGpMStocks" desc="查询外购坯库存">
  3595. <![CDATA[
  3596. with t
  3597. as
  3598. (
  3599. select (select STORAGE_NAME from YDM_BS_STORAGE where storage_no = t1.storage_no) AS storage_name,
  3600. t.jugde_apply_code,t.judge_stove_no,
  3601. t.material_name,gradename,t.fix_len,sum(act_count) as act_count,sum(act_weight) as act_weight
  3602. from mat_gp_m t
  3603. left join ydm_gp_buttress t1
  3604. on t.mat_no = t1.mat_no
  3605. where t.mat_origin_name ='外购'
  3606. AND ('#JUDGE_STOVE_NO#'= '无判定炉号' OR t.judge_stove_no ='#JUDGE_STOVE_NO#')
  3607. group by
  3608. t1.storage_no,t.jugde_apply_code,t.judge_stove_no,
  3609. t.material_name,gradename,t.fix_len
  3610. ),
  3611. t1 as
  3612. (
  3613. SELECT t.judge_stove_no,t.node_fur_flag FROM STL_LG_INSTORE_RESULT t
  3614. group by t.judge_stove_no,t.node_fur_flag
  3615. )
  3616. select t.*,case t1.node_fur_flag when '1' then '是' else '否' end node_fur_flag from t
  3617. left join t1
  3618. on t.judge_stove_no = t1.judge_stove_no
  3619. order by t.storage_name , t.judge_stove_no
  3620. ]]>
  3621. </query>
  3622. <query id="BuyGpDAL.selectMatGpMStocksTH" desc="查询外购坯库存(天淮)结炉撤结炉用">
  3623. <![CDATA[
  3624. with t
  3625. as
  3626. (
  3627. SELECT t1.storage_no,t.stove_no,t.judge_stove_no,t.material_name,t.gradename,
  3628. t.act_len,t.act_count,t.act_weight,t.jugde_apply_code
  3629. FROM mat_gp_m t,ydm_gp_buttress t1
  3630. where t.supply_unit_code ='120504' and t.mat_no = t1.mat_no(+)
  3631. and ('#STOVE_NO#'='无冶炼炉号' or t.stove_no = '#STOVE_NO#')
  3632. ),
  3633. t2
  3634. as
  3635. (
  3636. select storage_no,stove_no,judge_stove_no,material_name,gradename,
  3637. min(act_len) fix_len,jugde_apply_code,sum(act_count) act_count,sum(act_weight) act_weight
  3638. from t
  3639. group by storage_no,stove_no,judge_stove_no,material_name,gradename,jugde_apply_code
  3640. )
  3641. select (select STORAGE_NAME from YDM_BS_STORAGE where storage_no = t2.storage_no) AS storage_name,
  3642. t2.*,decode(t3.node_fur_flag,'1','是','0','否',null) node_fur_flag from t2,stl_lg_instore_result t3
  3643. where t2.stove_no = t3.stove_no(+)
  3644. group by storage_no,t2.stove_no,t2.judge_stove_no,t2.material_name,t2.gradename,t2.fix_len,jugde_apply_code,
  3645. t2.act_count,t2.act_weight,node_fur_flag
  3646. order by t2.stove_no
  3647. ]]>
  3648. </query>
  3649. <query id="BuyGpDAL.selectMatGpMStocksJieluInfo" desc="查询退结炉信息">
  3650. <![CDATA[
  3651. select (select STORAGE_NAME from YDM_BS_STORAGE where storage_no = t1.storage_no) AS storage_name,
  3652. t.jugde_apply_code,t.judge_stove_no,t.gpreq_id
  3653. from mat_gp_m t
  3654. left join ydm_gp_buttress t1
  3655. on t.mat_no = t1.mat_no
  3656. where t.mat_origin_name ='外购'
  3657. AND (t.judge_stove_no ='#JUDGE_STOVE_NO#')
  3658. ]]>
  3659. </query>
  3660. <query id="BuyGpDAL.deleteMatGpMStocksJielu" desc="撤销结炉">
  3661. <![CDATA[
  3662. update STL_LG_INSTORE_RESULT t
  3663. set t.node_fur_flag = '0'
  3664. where t.judge_stove_no = ?
  3665. and t.node_fur_flag = '1'
  3666. ]]>
  3667. </query>
  3668. <query id="BuyGpDAL.deleteMatGpMStocksJieluTH" desc="撤销结炉天淮">
  3669. <![CDATA[
  3670. update STL_LG_INSTORE_RESULT t
  3671. set t.node_fur_flag = '0'
  3672. where t.stove_no = ?
  3673. and t.node_fur_flag = '1'
  3674. ]]>
  3675. </query>
  3676. <query id="BuyGpDAL.updateMatGpMStocksJielu" desc="增加结炉">
  3677. <![CDATA[
  3678. update STL_LG_INSTORE_RESULT t
  3679. set t.node_fur_flag = '1'
  3680. where t.judge_stove_no = ?
  3681. and t.node_fur_flag = '0'
  3682. ]]>
  3683. </query>
  3684. <query id="BuyGpDAL.updateMatGpMStocksJieluTH" desc="增加结炉">
  3685. <![CDATA[
  3686. update STL_LG_INSTORE_RESULT t
  3687. set t.node_fur_flag = '1'
  3688. where t.stove_no = ?
  3689. and t.node_fur_flag = '0'
  3690. ]]>
  3691. </query>
  3692. <query id="BuyGpDAL.myTest" desc="我的测试">
  3693. <![CDATA[
  3694. SELECT t.gpbuyplanid as My_Id FROM BUY_GP_ORDER t
  3695. where t.gpbuyplanid ='#MY_ID#'
  3696. --AND t.Order_No ='#MY_AGE#';
  3697. ]]>
  3698. </query>
  3699. <query id="BuyGpDAL.selectRptSalesAll" desc="获取销售管理数据">
  3700. <![CDATA[
  3701. SELECT RPT_YM,
  3702. SUM(DECODE(DEPT_NAME,'国际贸易部',SALES_WEIGHT)) AS GM1_SALES_WEIGHT,
  3703. SUM(DECODE(DEPT_NAME,'钢贸公司',SALES_WEIGHT)) AS GM2_SALES_WEIGHT,
  3704. SUM(DECODE(DEPT_NAME,'国内贸易部',SALES_WEIGHT)) AS XS_SALES_WEIGHT,
  3705. SUM(SALES_WEIGHT) AS TOTAL_SALES_WEIGHT,
  3706. SUM(DECODE(DEPT_NAME,'国际贸易部',PC_WEIGHT)) AS GM1_PC_WEIGHT,
  3707. SUM(DECODE(DEPT_NAME,'钢贸公司',PC_WEIGHT)) AS GM2_PC_WEIGHT,
  3708. SUM(DECODE(DEPT_NAME,'国内贸易部',PC_WEIGHT)) AS XS_PC_WEIGHT,
  3709. SUM(PC_WEIGHT) AS TOTAL_PC_WEIGHT,
  3710. SUM(DECODE(DEPT_NAME,'国际贸易部',STOCK_WEIGHT)) AS GM1_STOCK_WEIGHT,
  3711. SUM(DECODE(DEPT_NAME,'钢贸公司',STOCK_WEIGHT)) AS GM2_STOCK_WEIGHT,
  3712. SUM(DECODE(DEPT_NAME,'国内贸易部',STOCK_WEIGHT)) AS XS_STOCK_WEIGHT,
  3713. SUM(STOCK_WEIGHT) AS TOTAL_STOCK_WEIGHT,
  3714. SUM(DECODE(DEPT_NAME,'国际贸易部',STOCKIN_WEIGHT)) AS GM1_STOCKIN_WEIGHT,
  3715. SUM(DECODE(DEPT_NAME,'钢贸公司',STOCKIN_WEIGHT)) AS GM2_STOCKIN_WEIGHT,
  3716. SUM(DECODE(DEPT_NAME,'国内贸易部',STOCKIN_WEIGHT)) AS XS_STOCKIN_WEIGHT,
  3717. SUM(STOCKIN_WEIGHT) AS TOTAL_STOCKIN_WEIGHT,
  3718. SUM(DECODE(DEPT_NAME,'国际贸易部',STOCKOUT_WEIGHT)) AS GM1_STOCKOUT_WEIGHT,
  3719. SUM(DECODE(DEPT_NAME,'钢贸公司',STOCKOUT_WEIGHT)) AS GM2_STOCKOUT_WEIGHT,
  3720. SUM(DECODE(DEPT_NAME,'国内贸易部',STOCKOUT_WEIGHT)) AS XS_STOCKOUT_WEIGHT,
  3721. SUM(STOCKOUT_WEIGHT) AS TOTAL_STOCKOUT_WEIGHT,
  3722. SUM(DECODE(DEPT_NAME,'国际贸易部',DQ_STOCK)) AS GM1_DQ_STOCK,
  3723. SUM(DECODE(DEPT_NAME,'钢贸公司',DQ_STOCK)) AS GM2_DQ_STOCK,
  3724. SUM(DECODE(DEPT_NAME,'国内贸易部',DQ_STOCK)) AS XS_DQ_STOCK,
  3725. SUM(DECODE(DEPT_NAME,'国际贸易部',QQ_STOCK)) AS GM1_QQ_STOCK,
  3726. SUM(DECODE(DEPT_NAME,'钢贸公司',QQ_STOCK)) AS GM2_QQ_STOCK,
  3727. SUM(DECODE(DEPT_NAME,'国内贸易部',QQ_STOCK)) AS XS_QQ_STOCK,
  3728. SUM(QQ_STOCK) AS TOTAL_QQ_STOCK,
  3729. SUM(DECODE(DEPT_NAME,'国际贸易部',STOCK_NODER_WEIGHT)) AS GM1_NODER_WEIGHT,
  3730. SUM(DECODE(DEPT_NAME,'钢贸公司',STOCK_NODER_WEIGHT)) AS GM2_NODER_WEIGHT,
  3731. SUM(DECODE(DEPT_NAME,'国内贸易部',STOCK_NODER_WEIGHT)) AS XS_NODER_WEIGHT,
  3732. SUM(STOCK_NODER_WEIGHT) AS TOTAL_NODER_WEIGHT
  3733. FROM RPT_SALES_ALL
  3734. WHERE RPT_YM LIKE '#RPT_YM#%'
  3735. GROUP BY RPT_YM
  3736. ORDER BY RPT_YM DESC
  3737. ]]>
  3738. </query>
  3739. <query id="BuyGpDAL.selectRptManagementAll" desc="获取管理数据">
  3740. <![CDATA[
  3741. SELECT rpt_ym,
  3742. ROUND(BCP, 3) AS BCP,
  3743. ROUND(BCP_ZT, 3) AS BCP_ZT,
  3744. ROUND(NVL(BCP,0) + NVL(BCP_ZT,0),3) AS TOTAL_BCP,
  3745. ROUND(GP, 3) AS GP,
  3746. ROUND(GP_ZT, 3) AS GP_ZT,
  3747. ROUND(NVL(GP,0) + NVL(GP_ZT,0),3) AS TOTAL_GP,
  3748. ROUND(NVL(BCP,0) + NVL(BCP_ZT,0)+NVL(GP,0) + NVL(GP_ZT,0),3) AS TOTAL_GP_BCP,
  3749. ROUND(WGP_RATE, 2) || '%' AS WGP_RATE,
  3750. ROUND(WGP_WEIGHT, 3) AS WGP_WEIGHT
  3751. FROM rpt_management_all
  3752. WHERE RPT_YM LIKE '#RPT_YM#%'
  3753. order by rpt_ym desc
  3754. ]]>
  3755. </query>
  3756. <query id="BuyGpDAL.selectRptPlineJudgeAll" desc="获取生产判定数据">
  3757. <![CDATA[
  3758. WITH t1
  3759. AS
  3760. (
  3761. SELECT t.pline_code,t.pline_name,t.department_desc_p,t.department_code_p,t.process_code,
  3762. DECODE(t.department_desc_p,'特钢公司',1,'轧管一部',2,'轧管二部',3,'轧管三部',4,'管加工部',5,'生产计划部',6,'三圆公司',7,9) AS deptid
  3763. FROM Com_Base_Pline t
  3764. )
  3765. SELECT t.rpt_ym,
  3766. t.pline_name,
  3767. t.cl,
  3768. ROUND(t.zcp,2) AS ZCP,
  3769. DECODE(t.ccl,NULL,NULL,t.ccl || '%') AS CCL,
  3770. decode(t.zyl,null,null,t.zyl || '%') as zyl,
  3771. t.clwcl,
  3772. t.wxtjsj,
  3773. t.sbgztj,
  3774. t.yxzyl,
  3775. t.nosendjudge,
  3776. t.waittojudge,
  3777. t.judgeweight,
  3778. decode(t.ychgrate,null,null,t.ychgrate || '%') as ychgrate,
  3779. t.fpweight,t1.department_desc_p
  3780. FROM rpt_pline_judge_all t , t1
  3781. WHERE t.Rpt_Ym = '#RPT_YM#' AND t.Pline_Code = t1.pline_code
  3782. ORDER BY deptid,process_code,t.pline_code
  3783. ]]>
  3784. </query>
  3785. <query id="BuyGpDAL.selectRptMeasureCg" desc="获取生铁废钢计量数据">
  3786. <![CDATA[
  3787. SELECT
  3788. t.rpt_date,
  3789. MAX(CASE WHEN t.material='废钢' AND t.material_source='采购' THEN ACT_WEIGHT ELSE NULL END) FGCG,
  3790. MAX(CASE WHEN t.material='废钢' AND t.material_source='回废' THEN ACT_WEIGHT ELSE NULL END) FGHF,
  3791. SUM(CASE WHEN t.material='废钢' THEN ACT_WEIGHT ELSE NULL END) AS FGTOTAL,
  3792. SUM(CASE WHEN t.material='废钢+生铁' THEN ACT_WEIGHT ELSE NULL END) FGSTXH,
  3793. SUM(CASE WHEN t.material='铁水' AND t.material_source='自产' THEN ACT_WEIGHT ELSE NULL END) TSZC,
  3794. SUM(CASE WHEN t.material='铁水' AND t.material_source='采购' THEN ACT_WEIGHT ELSE NULL END) TSCG,
  3795. SUM(CASE WHEN t.material='铁水' THEN ACT_WEIGHT ELSE NULL END) AS TSTOTAL,
  3796. SUM(CASE WHEN t.material='铁水' THEN ACT_WEIGHT ELSE NULL END) AS TSXHTOTAL,
  3797. MAX(CASE WHEN t.material='生铁' AND t.material_source='自产' THEN ACT_WEIGHT ELSE NULL END) STZC,
  3798. MAX(CASE WHEN t.material='生铁' AND t.material_source='采购' THEN ACT_WEIGHT ELSE NULL END) STCG,
  3799. SUM(CASE WHEN t.material='生铁' THEN ACT_WEIGHT ELSE NULL END) AS STTOTAL,
  3800. SUM(DECODE(t.material,'生铁',ACT_WEIGHT,'废钢',ACT_WEIGHT,NULL)) - SUM(CASE WHEN t.material='废钢+生铁' THEN ACT_WEIGHT ELSE NULL END) AS FGSTTOTALJXH,
  3801. SUM(CASE WHEN t.To_Dept='一炼钢厂'AND t.material='废钢+生铁' AND t.material_type='消耗' THEN ACT_WEIGHT ELSE NULL END) AS FGSTYLG,
  3802. SUM(CASE WHEN t.To_Dept='二炼钢厂'AND t.material='废钢+生铁' AND t.material_type='消耗' THEN ACT_WEIGHT ELSE NULL END) AS FGSTERLG,
  3803. SUM(CASE WHEN t.To_Dept='一炼钢厂'AND t.material='铁水' AND t.material_type='入库/消耗' THEN ACT_WEIGHT ELSE NULL END) AS TSYLG,
  3804. SUM(CASE WHEN t.To_Dept='二炼钢厂'AND t.material='铁水' AND t.material_type='入库/消耗' THEN ACT_WEIGHT ELSE NULL END) AS TSERLG,
  3805. SUM(CASE WHEN t.To_Dept='一炼钢厂'AND t.material_type='产出' THEN ACT_WEIGHT ELSE NULL END) AS MATERIALOUTYLG,
  3806. SUM(CASE WHEN t.To_Dept='二炼钢厂'AND t.material_type='产出' THEN ACT_WEIGHT ELSE NULL END) AS MATERIALOUTERLG,
  3807. SUM(CASE WHEN t.material_type='产出' THEN ACT_WEIGHT ELSE NULL END) AS MATERIALOUTTOTAL,
  3808. ROUND(SUM(CASE WHEN t.To_Dept='一炼钢厂'AND t.material_type IN ('消耗','入库/消耗') THEN ACT_WEIGHT ELSE NULL END)*1000/
  3809. SUM(CASE WHEN t.to_dept ='一炼钢厂' AND t.material_type='产出' THEN t.act_weight ELSE NULL END),0) AS GTLRATEYLG,
  3810. ROUND(SUM(CASE WHEN t.To_Dept='二炼钢厂'AND t.material_type IN ('消耗','入库/消耗') THEN ACT_WEIGHT ELSE NULL END)*1000/
  3811. SUM(CASE WHEN t.to_dept ='二炼钢厂' AND t.material_type='产出' THEN t.act_weight ELSE NULL END),0) AS GTLRATEERLG,
  3812. ROUND(SUM(CASE WHEN t.material_type IN ('消耗','入库/消耗') THEN ACT_WEIGHT ELSE NULL END)*1000/
  3813. SUM(CASE WHEN t.material_type='产出' THEN t.act_weight ELSE NULL END),0) AS GTLRATETOTAL
  3814. FROM rpt_CG_MEASURE_TJ_HZ t
  3815. WHERE t.rpt_date LIKE '#RPT_YM#%' AND t.rpt_date <=to_char(SYSDATE,'yyyy-MM-dd')
  3816. GROUP BY t.rpt_date
  3817. ORDER BY t.rpt_date DESC
  3818. ]]>
  3819. </query>
  3820. <query id="BuyGpDAL.selectRptLsAll" desc="获取生产流速数据">
  3821. <![CDATA[
  3822. WITH
  3823. ta
  3824. AS
  3825. (
  3826. SELECT t.tj_ym,t.department_desc_p,t.pline_name,t.final_result,COUNT(*) AS qty FROM RPT_LS t
  3827. WHERE t.final_result ='OK' AND t.tj_ym IS NOT NULL and t.RPT_YEAR = '#RPT_YEAR#'
  3828. GROUP BY t.tj_ym,t.department_desc_p,t.pline_name,t.final_result
  3829. ),
  3830. tb
  3831. AS
  3832. (
  3833. SELECT t.tj_ym,t.department_desc_p,t.pline_name,COUNT(*) AS qty FROM RPT_LS t
  3834. WHERE (t.final_result ='OK'OR t.final_result ='NO') AND t.tj_ym IS NOT NULL
  3835. GROUP BY t.tj_ym,t.department_desc_p,t.pline_name
  3836. ),
  3837. tc
  3838. AS
  3839. (
  3840. SELECT ta.tj_ym,ta.department_desc_p,ta.pline_name,ROUND((ta.qty*100/tb.qty),2) || '%' AS ls FROM ta,tb WHERE ta.tj_ym = tb.tj_ym AND ta.pline_name = tb.pline_name
  3841. )
  3842. SELECT * FROM (SELECT tj_ym,department_desc_p , pline_name ,ls,
  3843. DECODE(tc.department_desc_p,'特钢公司',1,'轧管一部',3,'轧管二部',5,'轧管三部',7,'三圆公司',9,'管加工部',11,'生产计划部',13,99) AS px1,
  3844. DECODE(tc.pline_name,'一炼铸机', 1,
  3845. '二炼铸机', 3,
  3846. '三炼铸机', 5,
  3847. '250机组', 7,
  3848. '250双探线', 9,
  3849. '258机组', 11,
  3850. '258双探线', 13,
  3851. '168机组', 15,
  3852. '168精整探伤线', 17,
  3853. '168精整线', 19,
  3854. '二部离线探伤线', 21,
  3855. '冷轧不锈精整线', 23,
  3856. '冷轧热处理线', 25,
  3857. '460机组', 27,
  3858. '720加工线', 29,
  3859. '720热处理线', 31,
  3860. '720旋扩', 33,
  3861. '热扩', 35,
  3862. '热扩探伤线', 37,
  3863. '加工线01#(管加工1#线)', 29,
  3864. '加工线02#(管加工2#线)', 31,
  3865. '加工线03#(管加工3#线)', 33,
  3866. '加工线04#(管加工4#线)', 35,
  3867. '加工线05#(管加工5#线)', 37,
  3868. '加工线06#(管加工6#线)', 39,
  3869. '加工线07#(管加工油套线)', 41,
  3870. '加工线08#(管加工试验线)', 43,
  3871. '加工线09#(管加工油特线)', 45,
  3872. '加工线10#(管加工特扣线)', 47,
  3873. '加工线11#(元通油管线)', 49,
  3874. '加工线12#(元通1#套管线)', 51,
  3875. '加工线13#(元通2#套管线)', 53,
  3876. '加工线14#(深加工油管线)', 55,
  3877. '加工线15#(管加工短节线)', 57,
  3878. '加工线21#(管加工1#光管线)', 59,
  3879. '加工线22#(管加工2#光管线)', 61,
  3880. '加工线23#(元通光管线)', 63,
  3881. '加工线24#(深加工光管线)', 65,
  3882. '加工线25#(深加工专业管线)', 67,
  3883. '加工线26#(深加工深海管线)', 69,
  3884. '热处理01#(管加工1号热)', 1,
  3885. '热处理02#(管加工2号热)', 3,
  3886. '热处理03#(管加工3号热)', 5,
  3887. '热处理04#(管加工4号热)', 7,
  3888. '热处理05#(管加工5号热)', 9,
  3889. '热处理06#(深加工大)', 11,
  3890. '热处理07#(深加工专)', 13,
  3891. '热处理08#(深加工小)', 15,
  3892. '热处理09#(元通一号热)', 17,
  3893. '热处理10#(元通二热)', 19,
  3894. '镦粗01#(管加工镦粗线)', 21,
  3895. '热扩精整线', 23,
  3896. '外委-镦粗', 25,
  3897. '外委热处理', 27,null) AS px2
  3898. FROM tc) PIVOT(max(ls) FOR tj_ym IN #RPT_YM#)
  3899. ORDER BY px1,px2
  3900. ]]>
  3901. </query>
  3902. <query id="BuyGpDAL.selectRptLsDetails" desc="获取生产流速详细数据">
  3903. <![CDATA[
  3904. SELECT
  3905. t.tj_ym,
  3906. t.department_desc_p,
  3907. t.pline_name,
  3908. t.process_code,
  3909. t.exe_status,
  3910. t.judge_stove_no,
  3911. t.order_no,
  3912. t.spec_desc,
  3913. t.material_desc,
  3914. t.model_desc,
  3915. t.steelname,
  3916. t.std_style_desc,
  3917. t.lh_normal,
  3918. t.hon,
  3919. t.bundling,
  3920. t.scrap_num,
  3921. t.material_in_qty,
  3922. t.material_in_weight,
  3923. t.qa_ton,
  3924. t.feed_time,
  3925. t.judge_time,
  3926. t.standard_time,
  3927. t.interval_time,
  3928. t.tj_ymd,
  3929. t.qa_qty,
  3930. t.final_result
  3931. FROM rpt_ls t
  3932. WHERE t.tj_ym ='#RPTYM#'
  3933. AND t.department_desc_p ='#DEPT#'
  3934. AND t.pline_name ='#PLINE#'
  3935. AND t.final_result IN ('OK','NO')
  3936. ]]>
  3937. </query>
  3938. <query id="BuyGpDAL.selectRptDaySCKB20200714" desc="日生产运行快报(总调)数据">
  3939. <![CDATA[
  3940. WITH
  3941. /**********************************形成表结构**************************************/
  3942. T00 AS
  3943. (
  3944. SELECT * FROM
  3945. (
  3946. SELECT T.PLINE_CODE,
  3947. T.PLINE_NAME,
  3948. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  3949. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  3950. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  3951. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  3952. ELSE T.PROCESS_CODE END PROCESS_CODE,
  3953. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  3954. 'C026',10,'C049',12,'C050',13,'C054',15,'C055',16,'C048',17) PLINEORDER
  3955. FROM COM_BASE_PLINE T
  3956. WHERE T.PROCESS_CODE IN ('A', 'D','F')
  3957. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017','C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  3958. UNION ALL
  3959. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  3960. UNION ALL
  3961. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  3962. UNION ALL
  3963. SELECT NULL,'小计','热处理(本部)','F1',11 FROM DUAL
  3964. UNION ALL
  3965. SELECT NULL,'小计','热处理(元通)','F2',14 FROM DUAL
  3966. UNION ALL
  3967. SELECT NULL,'小计','热处理(深加工)','F3',18 FROM DUAL
  3968. UNION ALL
  3969. SELECT NULL,'合计','热处理','F4',19 FROM DUAL
  3970. )ta,
  3971. (
  3972. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  3973. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  3974. FROM DUAL
  3975. )tb
  3976. ),
  3977. /**********************************炼钢时间范围查询**************************************/
  3978. T10 AS
  3979. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  3980. FROM (SELECT T10.CONTROL_ID,
  3981. T10.STOP_REASON,
  3982. T10.LOGS_BEG,
  3983. T10.LOGS_END,
  3984. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  3985. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  3986. (SELECT BASENAME
  3987. FROM COM_BASE_INFO
  3988. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  3989. (SELECT PROPERA
  3990. FROM COM_BASE_INFO
  3991. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  3992. (SELECT PLINE_NAME
  3993. FROM COM_BASE_PLINE
  3994. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  3995. CASE
  3996. WHEN (SELECT PROPERA
  3997. FROM COM_BASE_INFO
  3998. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  3999. (SELECT BASENAME
  4000. FROM COM_BASE_INFO
  4001. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4002. 'ZCNB'
  4003. WHEN (SELECT PROPERA
  4004. FROM COM_BASE_INFO
  4005. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4006. (SELECT BASENAME
  4007. FROM COM_BASE_INFO
  4008. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4009. 'ZCWB'
  4010. WHEN (SELECT PROPERA
  4011. FROM COM_BASE_INFO
  4012. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4013. (SELECT BASENAME
  4014. FROM COM_BASE_INFO
  4015. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4016. 'YCNB'
  4017. WHEN (SELECT PROPERA
  4018. FROM COM_BASE_INFO
  4019. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4020. (SELECT BASENAME
  4021. FROM COM_BASE_INFO
  4022. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4023. 'YCWB'
  4024. END TJREASON
  4025. FROM STL_CONTROL_LOG T10
  4026. WHERE T10.PRO_TYPE = '2'
  4027. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4028. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4029. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4030. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4031. AND T10.STOP_TYPE IN ('300101', '300102')
  4032. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  4033. AND EXISTS (SELECT *
  4034. FROM COM_BASE_INFO
  4035. WHERE BASECODE = T10.STOP_REASON
  4036. AND VALIDFLAG = '1')) TA
  4037. GROUP BY TA.PLINENAME, TA.TJREASON),
  4038. T11 AS
  4039. (SELECT 'A' PROCESS_CODE,
  4040. PLINENAME,
  4041. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  4042. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  4043. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  4044. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  4045. SUM(TJTIME) TJTIMETOTAL,
  4046. 24 * 60 * #DAYS# TIMETOTAL
  4047. FROM T10
  4048. GROUP BY PLINENAME),
  4049. /**********************************炼钢日范围查询**************************************/
  4050. T12 AS
  4051. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4052. FROM (SELECT T10.CONTROL_ID,
  4053. T10.STOP_REASON,
  4054. T10.LOGS_BEG,
  4055. T10.LOGS_END,
  4056. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4057. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4058. (SELECT BASENAME
  4059. FROM COM_BASE_INFO
  4060. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  4061. (SELECT PROPERA
  4062. FROM COM_BASE_INFO
  4063. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  4064. (SELECT PLINE_NAME
  4065. FROM COM_BASE_PLINE
  4066. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  4067. CASE
  4068. WHEN (SELECT PROPERA
  4069. FROM COM_BASE_INFO
  4070. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4071. (SELECT BASENAME
  4072. FROM COM_BASE_INFO
  4073. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4074. 'ZCNB'
  4075. WHEN (SELECT PROPERA
  4076. FROM COM_BASE_INFO
  4077. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4078. (SELECT BASENAME
  4079. FROM COM_BASE_INFO
  4080. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4081. 'ZCWB'
  4082. WHEN (SELECT PROPERA
  4083. FROM COM_BASE_INFO
  4084. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4085. (SELECT BASENAME
  4086. FROM COM_BASE_INFO
  4087. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4088. 'YCNB'
  4089. WHEN (SELECT PROPERA
  4090. FROM COM_BASE_INFO
  4091. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4092. (SELECT BASENAME
  4093. FROM COM_BASE_INFO
  4094. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4095. 'YCWB'
  4096. END TJREASON
  4097. FROM STL_CONTROL_LOG T10
  4098. WHERE T10.PRO_TYPE = '2'
  4099. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4100. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4101. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4102. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4103. AND T10.STOP_TYPE IN ('300101', '300102')
  4104. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  4105. AND EXISTS (SELECT *
  4106. FROM COM_BASE_INFO
  4107. WHERE BASECODE = T10.STOP_REASON
  4108. AND VALIDFLAG = '1')) TA
  4109. GROUP BY TA.PLINENAME, TA.TJREASON),
  4110. T13 AS
  4111. (SELECT 'A' PROCESS_CODE,
  4112. PLINENAME ,
  4113. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  4114. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  4115. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  4116. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  4117. SUM(TJTIME) TJTIMETOTALDAY,
  4118. 24 * 60 TIMETOTALDAY
  4119. FROM T12
  4120. GROUP BY PLINENAME),
  4121. /********炼钢累计数值*******/
  4122. T14 AS
  4123. (
  4124. SELECT * FROM T11
  4125. UNION ALL
  4126. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  4127. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  4128. ),
  4129. /********炼钢日数值*******/
  4130. T15 AS
  4131. (
  4132. SELECT * FROM T13
  4133. UNION ALL
  4134. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  4135. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  4136. ),
  4137. /**********************************轧管时间范围查询**************************************/
  4138. T AS
  4139. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4140. FROM (SELECT T.CONTROL_ID,
  4141. T.STOP_REASON,
  4142. T.LOGS_BEG,
  4143. T.LOGS_END,
  4144. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4145. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4146. (SELECT BASENAME
  4147. FROM COM_BASE_INFO
  4148. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4149. (SELECT PROPERA
  4150. FROM COM_BASE_INFO
  4151. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4152. (SELECT PLINE_NAME
  4153. FROM COM_BASE_PLINE
  4154. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4155. CASE
  4156. WHEN (SELECT PROPERA
  4157. FROM COM_BASE_INFO
  4158. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4159. (SELECT BASENAME
  4160. FROM COM_BASE_INFO
  4161. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4162. 'ZCNB'
  4163. WHEN (SELECT PROPERA
  4164. FROM COM_BASE_INFO
  4165. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4166. (SELECT BASENAME
  4167. FROM COM_BASE_INFO
  4168. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4169. 'ZCWB'
  4170. WHEN (SELECT PROPERA
  4171. FROM COM_BASE_INFO
  4172. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4173. (SELECT BASENAME
  4174. FROM COM_BASE_INFO
  4175. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4176. 'YCNB'
  4177. WHEN (SELECT PROPERA
  4178. FROM COM_BASE_INFO
  4179. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4180. (SELECT BASENAME
  4181. FROM COM_BASE_INFO
  4182. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4183. 'YCWB'
  4184. END TJREASON
  4185. FROM MIL_CONTROL_LOG T
  4186. WHERE T.PRO_TYPE = '2'
  4187. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4188. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4189. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4190. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4191. AND T.STOP_TYPE IN ('500601', '500602')
  4192. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  4193. AND EXISTS (SELECT *
  4194. FROM COM_BASE_INFO
  4195. WHERE BASECODE = T.STOP_REASON
  4196. AND VALIDFLAG = '1')) TA
  4197. GROUP BY TA.PLINENAME, TA.TJREASON),
  4198. T1 AS
  4199. (SELECT 'D' PROCESS_CODE,
  4200. PLINENAME,
  4201. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  4202. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  4203. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  4204. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  4205. SUM(TJTIME) TJTIMETOTAL,
  4206. 24 * 60 * #DAYS# TIMETOTAL
  4207. FROM T
  4208. GROUP BY PLINENAME),
  4209. /**********************************轧管日范围查询**************************************/
  4210. T2 AS
  4211. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4212. FROM (SELECT T.CONTROL_ID,
  4213. T.STOP_REASON,
  4214. T.LOGS_BEG,
  4215. T.LOGS_END,
  4216. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4217. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4218. (SELECT BASENAME
  4219. FROM COM_BASE_INFO
  4220. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4221. (SELECT PROPERA
  4222. FROM COM_BASE_INFO
  4223. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4224. (SELECT PLINE_NAME
  4225. FROM COM_BASE_PLINE
  4226. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4227. CASE
  4228. WHEN (SELECT PROPERA
  4229. FROM COM_BASE_INFO
  4230. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4231. (SELECT BASENAME
  4232. FROM COM_BASE_INFO
  4233. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4234. 'ZCNB'
  4235. WHEN (SELECT PROPERA
  4236. FROM COM_BASE_INFO
  4237. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4238. (SELECT BASENAME
  4239. FROM COM_BASE_INFO
  4240. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4241. 'ZCWB'
  4242. WHEN (SELECT PROPERA
  4243. FROM COM_BASE_INFO
  4244. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4245. (SELECT BASENAME
  4246. FROM COM_BASE_INFO
  4247. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4248. 'YCNB'
  4249. WHEN (SELECT PROPERA
  4250. FROM COM_BASE_INFO
  4251. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4252. (SELECT BASENAME
  4253. FROM COM_BASE_INFO
  4254. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4255. 'YCWB'
  4256. END TJREASON
  4257. FROM MIL_CONTROL_LOG T
  4258. WHERE T.PRO_TYPE = '2'
  4259. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4260. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4261. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4262. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4263. AND T.STOP_TYPE IN ('500601', '500602')
  4264. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  4265. AND EXISTS (SELECT *
  4266. FROM COM_BASE_INFO
  4267. WHERE BASECODE = T.STOP_REASON
  4268. AND VALIDFLAG = '1')) TA
  4269. GROUP BY TA.PLINENAME, TA.TJREASON),
  4270. T3 AS
  4271. (SELECT 'D' PROCESS_CODE,
  4272. PLINENAME ,
  4273. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  4274. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  4275. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  4276. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  4277. SUM(TJTIME) TJTIMETOTALDAY,
  4278. 24 * 60 TIMETOTALDAY
  4279. FROM T2
  4280. GROUP BY PLINENAME),
  4281. /********轧管累计数值*******/
  4282. T4 AS
  4283. (
  4284. SELECT * FROM T1
  4285. UNION ALL
  4286. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  4287. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  4288. ),
  4289. /********轧管日数值*******/
  4290. T5 AS
  4291. (
  4292. SELECT * FROM T3
  4293. UNION ALL
  4294. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  4295. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  4296. ),
  4297. /**********************************热处理时间范围查询**************************************/
  4298. T30 AS
  4299. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON,PLINE_CODE
  4300. FROM (SELECT T.CONTROL_ID,
  4301. T.STOP_REASON,
  4302. T.LOGS_BEG,
  4303. T.LOGS_END,
  4304. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4305. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4306. (SELECT BASENAME
  4307. FROM COM_BASE_INFO
  4308. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4309. (SELECT PROPERA
  4310. FROM COM_BASE_INFO
  4311. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4312. (SELECT PLINE_NAME
  4313. FROM COM_BASE_PLINE
  4314. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4315. CASE
  4316. WHEN (SELECT PROPERA
  4317. FROM COM_BASE_INFO
  4318. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4319. (SELECT BASENAME
  4320. FROM COM_BASE_INFO
  4321. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4322. 'ZCNB'
  4323. WHEN (SELECT PROPERA
  4324. FROM COM_BASE_INFO
  4325. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4326. (SELECT BASENAME
  4327. FROM COM_BASE_INFO
  4328. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4329. 'ZCWB'
  4330. WHEN (SELECT PROPERA
  4331. FROM COM_BASE_INFO
  4332. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4333. (SELECT BASENAME
  4334. FROM COM_BASE_INFO
  4335. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4336. 'YCNB'
  4337. WHEN (SELECT PROPERA
  4338. FROM COM_BASE_INFO
  4339. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4340. (SELECT BASENAME
  4341. FROM COM_BASE_INFO
  4342. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4343. 'YCWB'
  4344. END TJREASON,
  4345. PLINE_CODE
  4346. FROM (SELECT T1.CONTROL_ID,
  4347. T1.LOGS_BEG,
  4348. T1.LOGS_END,
  4349. T.PLINE_CODE,
  4350. T1.STOP_TYPE,
  4351. T1.STOP_REASON,
  4352. T1.STOP_SMALL
  4353. FROM HTT_CONTROL_LOG T, HTT_CONTROL_LOG_DETAIL T1
  4354. WHERE T.PRO_TYPE = '2'
  4355. AND T.CONTROL_ID = T1.CONTROL_ID
  4356. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4357. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4358. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4359. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4360. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T
  4361. WHERE 1=1
  4362. --AND T.STOP_TYPE IN ('500601', '500602')
  4363. AND EXISTS (SELECT *
  4364. FROM COM_BASE_INFO
  4365. WHERE BASECODE = T.STOP_REASON
  4366. AND VALIDFLAG = '1')) TA
  4367. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON),
  4368. T31 AS
  4369. (SELECT
  4370. --'F' PROCESS_CODE,
  4371. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  4372. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  4373. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  4374. ELSE NULL END PROCESS_CODE,
  4375. PLINENAME,
  4376. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  4377. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  4378. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  4379. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  4380. SUM(TJTIME) TJTIMETOTAL,
  4381. 24 * 60 TIMETOTAL
  4382. FROM T30
  4383. GROUP BY PLINENAME,PLINE_CODE),
  4384. /**********************************热处理日范围查询**************************************/
  4385. T32 AS
  4386. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON,PLINE_CODE
  4387. FROM (SELECT T.CONTROL_ID,
  4388. T.STOP_REASON,
  4389. T.LOGS_BEG,
  4390. T.LOGS_END,
  4391. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4392. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4393. (SELECT BASENAME
  4394. FROM COM_BASE_INFO
  4395. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4396. (SELECT PROPERA
  4397. FROM COM_BASE_INFO
  4398. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4399. (SELECT PLINE_NAME
  4400. FROM COM_BASE_PLINE
  4401. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4402. CASE
  4403. WHEN (SELECT PROPERA
  4404. FROM COM_BASE_INFO
  4405. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4406. (SELECT BASENAME
  4407. FROM COM_BASE_INFO
  4408. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4409. 'ZCNB'
  4410. WHEN (SELECT PROPERA
  4411. FROM COM_BASE_INFO
  4412. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4413. (SELECT BASENAME
  4414. FROM COM_BASE_INFO
  4415. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4416. 'ZCWB'
  4417. WHEN (SELECT PROPERA
  4418. FROM COM_BASE_INFO
  4419. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4420. (SELECT BASENAME
  4421. FROM COM_BASE_INFO
  4422. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4423. 'YCNB'
  4424. WHEN (SELECT PROPERA
  4425. FROM COM_BASE_INFO
  4426. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4427. (SELECT BASENAME
  4428. FROM COM_BASE_INFO
  4429. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4430. 'YCWB'
  4431. END TJREASON,
  4432. PLINE_CODE
  4433. FROM (SELECT T1.CONTROL_ID,
  4434. T1.LOGS_BEG,
  4435. T1.LOGS_END,
  4436. T.PLINE_CODE,
  4437. T1.STOP_TYPE,
  4438. T1.STOP_REASON,
  4439. T1.STOP_SMALL
  4440. FROM HTT_CONTROL_LOG T, HTT_CONTROL_LOG_DETAIL T1
  4441. WHERE T.PRO_TYPE = '2'
  4442. AND T.CONTROL_ID = T1.CONTROL_ID
  4443. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4444. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4445. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4446. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  4447. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T
  4448. WHERE 1=1
  4449. --AND T.STOP_TYPE IN ('500601', '500602')
  4450. AND EXISTS (SELECT *
  4451. FROM COM_BASE_INFO
  4452. WHERE BASECODE = T.STOP_REASON
  4453. AND VALIDFLAG = '1')) TA
  4454. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON),
  4455. T33 AS
  4456. (SELECT
  4457. --'F' PROCESS_CODE,
  4458. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  4459. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  4460. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  4461. ELSE NULL END PROCESS_CODE,
  4462. PLINENAME,
  4463. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  4464. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  4465. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  4466. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  4467. SUM(TJTIME) TJTIMETOTALDAY,
  4468. 24 * 60 TIMETOTALDAY
  4469. FROM T32
  4470. GROUP BY PLINENAME,PLINE_CODE),
  4471. /********热处理累计数值*******/
  4472. T34 AS
  4473. (
  4474. SELECT * FROM T31
  4475. UNION ALL
  4476. SELECT PROCESS_CODE ,'小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  4477. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31 GROUP BY PROCESS_CODE
  4478. UNION ALL
  4479. SELECT 'F4' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  4480. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31
  4481. ),
  4482. /********热处理日数值*******/
  4483. T35 AS
  4484. (
  4485. SELECT * FROM T33
  4486. UNION ALL
  4487. SELECT PROCESS_CODE ,'小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  4488. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T33 GROUP BY PROCESS_CODE
  4489. UNION ALL
  4490. SELECT 'F4' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  4491. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T33
  4492. ),
  4493. T99
  4494. AS
  4495. (
  4496. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE,
  4497. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),
  4498. 'D',NVL(T4.ZCNB,T00.ZCNB),
  4499. 'F1',NVL(T34.ZCNB,T00.ZCNB),
  4500. 'F2',NVL(T34.ZCNB,T00.ZCNB),
  4501. 'F3',NVL(T34.ZCNB,T00.ZCNB),
  4502. 'F4',NVL(T34.ZCNB,T00.ZCNB),
  4503. T00.ZCNB) ZCNB,
  4504. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),
  4505. 'D',NVL(T4.ZCWB,T00.ZCWB),
  4506. 'F1',NVL(T34.ZCWB,T00.ZCWB),
  4507. 'F2',NVL(T34.ZCWB,T00.ZCWB),
  4508. 'F3',NVL(T34.ZCWB,T00.ZCWB),
  4509. 'F4',NVL(T34.ZCWB,T00.ZCWB),
  4510. T00.ZCWB) ZCWB,
  4511. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),
  4512. 'D',NVL(T4.YCNB,T00.YCNB),
  4513. 'F1',NVL(T34.YCNB,T00.YCNB),
  4514. 'F2',NVL(T34.YCNB,T00.YCNB),
  4515. 'F3',NVL(T34.YCNB,T00.YCNB),
  4516. 'F4',NVL(T34.YCNB,T00.YCNB),
  4517. T00.YCNB) YCNB,
  4518. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),
  4519. 'D',NVL(T4.YCWB,T00.YCWB),
  4520. 'F1',NVL(T34.YCWB,T00.YCWB),
  4521. 'F2',NVL(T34.YCWB,T00.YCWB),
  4522. 'F3',NVL(T34.YCWB,T00.YCWB),
  4523. 'F4',NVL(T34.YCWB,T00.YCWB),
  4524. T00.YCWB) YCWB,
  4525. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),
  4526. 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),
  4527. 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  4528. 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  4529. 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  4530. 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  4531. T00.TJTIMETOTAL) TJTIMETOTAL,
  4532. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),
  4533. 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),
  4534. 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  4535. 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  4536. 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  4537. 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  4538. T00.TIMETOTAL) TIMETOTAL,
  4539. YXNB,YXZH,DAYZYL,
  4540. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),
  4541. 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),
  4542. 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  4543. 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  4544. 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  4545. 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  4546. T00.ZCNBDAY) ZCNBDAY,
  4547. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),
  4548. 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),
  4549. 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  4550. 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  4551. 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  4552. 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  4553. T00.ZCWBDAY) ZCWBDAY,
  4554. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),
  4555. 'D',NVL(T5.YCNBDAY,T00.YCNBDAY),
  4556. 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY),
  4557. 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY),
  4558. 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY),
  4559. 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY),
  4560. T00.YCNBDAY) YCNBDAY,
  4561. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),
  4562. 'D',NVL(T5.YCWBDAY,T00.YCWBDAY),
  4563. 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY),
  4564. 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY),
  4565. 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY),
  4566. 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY),
  4567. T00.YCWBDAY) YCWBDAY,
  4568. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4569. 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4570. 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4571. 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4572. 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4573. 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  4574. T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  4575. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),
  4576. 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),
  4577. 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  4578. 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  4579. 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  4580. 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  4581. T00.TIMETOTALDAY) TIMETOTALDAY,
  4582. YXNBDAY,YXZHDAY,DAYZYLDAY
  4583. FROM T00,T14,T15,T4,T5,T34,T35
  4584. WHERE 1=1
  4585. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  4586. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  4587. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  4588. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  4589. AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+)
  4590. AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+)
  4591. ),
  4592. T100
  4593. AS
  4594. (
  4595. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  4596. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  4597. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  4598. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  4599. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  4600. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  4601. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  4602. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  4603. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  4604. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  4605. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  4606. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  4607. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  4608. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  4609. FROM T99
  4610. )
  4611. SELECT PLINEORDER,
  4612. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)'
  4613. WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)'
  4614. WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)'
  4615. ELSE PROCESS_DESC END DEPT,
  4616. PLINE_NAME PLINENAME,PLINE_CODE PLINECODE,
  4617. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  4618. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  4619. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  4620. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  4621. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  4622. TIMETOTAL,
  4623. YXNB,YXZH,DAYZYL,
  4624. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  4625. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  4626. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  4627. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  4628. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  4629. TIMETOTALDAY,
  4630. YXNBDAY,YXZHDAY,DAYZYLDAY
  4631. FROM T100
  4632. ORDER BY PLINEORDER
  4633. ]]>
  4634. </query>
  4635. <query id="BuyGpDAL.selectRptDaySCKB" desc="日生产运行快报(总调)数据">
  4636. <![CDATA[
  4637. WITH
  4638. /**********************************形成表结构**************************************/
  4639. T01 AS
  4640. (
  4641. SELECT T.PLINE_CODE,
  4642. T.PLINE_NAME ,
  4643. T.PROCESS_DESC ,
  4644. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  4645. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F1'
  4646. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F1'
  4647. ELSE T.PROCESS_CODE END PROCESS_CODE,
  4648. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  4649. 'C026',10,'C049',15,'C050',16,'C054',20,'C055',21,'C048',22) PLINEORDER
  4650. FROM COM_BASE_PLINE T
  4651. WHERE T.PROCESS_CODE IN ('F')
  4652. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  4653. UNION ALL
  4654. SELECT T.PLINE_CODE,
  4655. T.PLINE_NAME ,
  4656. T.PROCESS_DESC ,
  4657. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F2'
  4658. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  4659. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F2'
  4660. ELSE T.PROCESS_CODE END PROCESS_CODE,
  4661. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',30,'C023',31,'C024',32,'C025',33,
  4662. 'C026',34,'C049',41,'C050',42,'C054',45,'C055',46,'C048',47) PLINEORDER
  4663. FROM COM_BASE_PLINE T
  4664. WHERE T.PROCESS_CODE IN ('F')
  4665. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  4666. UNION ALL
  4667. SELECT T.PLINE_CODE,
  4668. T.PLINE_NAME ,
  4669. T.PROCESS_DESC ,
  4670. CASE WHEN T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1'
  4671. WHEN T.PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2'
  4672. WHEN T.PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3'
  4673. ELSE T.PROCESS_CODE END PROCESS_CODE,
  4674. DECODE(T.PLINE_CODE,'C028',55,'C029',56,'C030',57,'C031',58,'C032',59,'C033',60,'C034',61,'C035',62,'C036',63,'C037',64,
  4675. 'C053',65,'C056',66,'C039',70,'C051',71,'C038',72,'C057',73,'C052',80,'C078',81,'C058',82) PLINEORDER
  4676. FROM COM_BASE_PLINE T
  4677. WHERE T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056',
  4678. 'C039','C051','C038','C057','C052','C078','C058')
  4679. ORDER BY PROCESS_DESC,PROCESS_CODE,PLINE_CODE
  4680. ),
  4681. T00 AS
  4682. (
  4683. SELECT DECODE(PLINEORDER,-1, 24*60*2 , 5,24*60*5 ,11,24*60*5,17,24*60*2,23,24*60*3,
  4684. 24,24*60*10,35,24*60*5,43,24*60*2,48,24*60*3,49,24*60*10,
  4685. 67,24*60*12,74,24*60*4,83,24*60*3,100,24*60*19,24*60) TIMETOTALDAY1,
  4686. DECODE(PLINEORDER,-1, 24*60*2* #DAYS# , 5,24*60*5* #DAYS# ,11,24*60*5* #DAYS#,17,24*60*2* #DAYS#,23,24*60*3* #DAYS#,
  4687. 24,24*60*10* #DAYS#,35,24*60*5* #DAYS#,43,24*60*2* #DAYS#,48,24*60*3* #DAYS#,49,24*60*10* #DAYS#,
  4688. 67,24*60*12* #DAYS#,74,24*60*4* #DAYS#,83,24*60*3* #DAYS#,100,24*60*19* #DAYS#,24*60* #DAYS#) TIMETOTAL1,
  4689. ta.*,tb.*
  4690. FROM
  4691. (
  4692. SELECT T.PLINE_CODE,
  4693. T.PLINE_NAME,
  4694. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  4695. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  4696. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  4697. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  4698. ELSE T.PROCESS_CODE END PROCESS_CODE,
  4699. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  4700. 'C026',10,'C049',12,'C050',13,'C054',15,'C055',16,'C048',17) PLINEORDER
  4701. FROM COM_BASE_PLINE T
  4702. WHERE T.PROCESS_CODE IN ('A', 'D','F')
  4703. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017')
  4704. UNION ALL
  4705. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  4706. UNION ALL
  4707. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  4708. UNION ALL
  4709. SELECT NULL ,'本部热处理(炉)合计','热处理','F1',11 FROM DUAL
  4710. UNION ALL
  4711. SELECT NULL,'本部热处理(探伤)合计','热处理','F2',35 FROM DUAL
  4712. UNION ALL
  4713. SELECT NULL,'元通热处理(炉)合计','热处理','F1',17 FROM DUAL
  4714. UNION ALL
  4715. SELECT NULL,'元通热处理(探伤)合计','热处理','F2',43 FROM DUAL
  4716. UNION ALL
  4717. SELECT NULL,'深加工热处理(炉)合计','热处理','F1',23 FROM DUAL
  4718. UNION ALL
  4719. SELECT NULL,'深加工热处理(探伤)合计','热处理','F2',48 FROM DUAL
  4720. UNION ALL
  4721. SELECT NULL,'管加工热处理(炉)合计','热处理','F1',24 FROM DUAL
  4722. UNION ALL
  4723. SELECT NULL,'管加工热处理(探伤)合计','热处理','F2',49 FROM DUAL
  4724. UNION ALL
  4725. SELECT * FROM T01
  4726. UNION ALL
  4727. SELECT 'G1','本部加工线合计','加工','G1',67 FROM DUAL
  4728. UNION ALL
  4729. SELECT 'G2','元通加工线合计','加工','G2',74 FROM DUAL
  4730. UNION ALL
  4731. SELECT 'G3','深加工加工线合计','加工','G3',83 FROM DUAL
  4732. UNION ALL
  4733. SELECT NULL,'管加工加工线合计','加工','G',100 FROM DUAL
  4734. )ta,
  4735. (
  4736. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  4737. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  4738. FROM DUAL
  4739. )tb
  4740. ),
  4741. /**********************************炼钢时间范围查询**************************************/
  4742. T10 AS
  4743. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4744. FROM (SELECT T10.CONTROL_ID,
  4745. T10.STOP_REASON,
  4746. T10.LOGS_BEG,
  4747. T10.LOGS_END,
  4748. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4749. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4750. (SELECT BASENAME
  4751. FROM COM_BASE_INFO
  4752. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  4753. (SELECT PROPERA
  4754. FROM COM_BASE_INFO
  4755. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  4756. (SELECT PLINE_NAME
  4757. FROM COM_BASE_PLINE
  4758. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  4759. CASE
  4760. WHEN (SELECT PROPERA
  4761. FROM COM_BASE_INFO
  4762. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4763. (SELECT BASENAME
  4764. FROM COM_BASE_INFO
  4765. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4766. 'ZCNB'
  4767. WHEN (SELECT PROPERA
  4768. FROM COM_BASE_INFO
  4769. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4770. (SELECT BASENAME
  4771. FROM COM_BASE_INFO
  4772. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4773. 'ZCWB'
  4774. WHEN (SELECT PROPERA
  4775. FROM COM_BASE_INFO
  4776. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4777. (SELECT BASENAME
  4778. FROM COM_BASE_INFO
  4779. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4780. 'YCNB'
  4781. WHEN (SELECT PROPERA
  4782. FROM COM_BASE_INFO
  4783. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4784. (SELECT BASENAME
  4785. FROM COM_BASE_INFO
  4786. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4787. 'YCWB'
  4788. END TJREASON
  4789. FROM STL_CONTROL_LOG T10
  4790. WHERE T10.PRO_TYPE = '2'
  4791. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4792. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4793. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4794. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4795. AND T10.STOP_TYPE IN ('300101', '300102')
  4796. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  4797. AND EXISTS (SELECT *
  4798. FROM COM_BASE_INFO
  4799. WHERE BASECODE = T10.STOP_REASON
  4800. AND VALIDFLAG = '1')) TA
  4801. GROUP BY TA.PLINENAME, TA.TJREASON),
  4802. T11 AS
  4803. (SELECT 'A' PROCESS_CODE,
  4804. PLINENAME,
  4805. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  4806. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  4807. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  4808. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  4809. SUM(TJTIME) TJTIMETOTAL,
  4810. 24 * 60 * #DAYS# TIMETOTAL
  4811. FROM T10
  4812. GROUP BY PLINENAME),
  4813. /**********************************炼钢日范围查询**************************************/
  4814. T12 AS
  4815. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4816. FROM (SELECT T10.CONTROL_ID,
  4817. T10.STOP_REASON,
  4818. T10.LOGS_BEG,
  4819. T10.LOGS_END,
  4820. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4821. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4822. (SELECT BASENAME
  4823. FROM COM_BASE_INFO
  4824. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  4825. (SELECT PROPERA
  4826. FROM COM_BASE_INFO
  4827. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  4828. (SELECT PLINE_NAME
  4829. FROM COM_BASE_PLINE
  4830. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  4831. CASE
  4832. WHEN (SELECT PROPERA
  4833. FROM COM_BASE_INFO
  4834. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4835. (SELECT BASENAME
  4836. FROM COM_BASE_INFO
  4837. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4838. 'ZCNB'
  4839. WHEN (SELECT PROPERA
  4840. FROM COM_BASE_INFO
  4841. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  4842. (SELECT BASENAME
  4843. FROM COM_BASE_INFO
  4844. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4845. 'ZCWB'
  4846. WHEN (SELECT PROPERA
  4847. FROM COM_BASE_INFO
  4848. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4849. (SELECT BASENAME
  4850. FROM COM_BASE_INFO
  4851. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  4852. 'YCNB'
  4853. WHEN (SELECT PROPERA
  4854. FROM COM_BASE_INFO
  4855. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  4856. (SELECT BASENAME
  4857. FROM COM_BASE_INFO
  4858. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  4859. 'YCWB'
  4860. END TJREASON
  4861. FROM STL_CONTROL_LOG T10
  4862. WHERE T10.PRO_TYPE = '2'
  4863. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4864. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4865. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4866. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4867. AND T10.STOP_TYPE IN ('300101', '300102')
  4868. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  4869. AND EXISTS (SELECT *
  4870. FROM COM_BASE_INFO
  4871. WHERE BASECODE = T10.STOP_REASON
  4872. AND VALIDFLAG = '1')) TA
  4873. GROUP BY TA.PLINENAME, TA.TJREASON),
  4874. T13 AS
  4875. (SELECT 'A' PROCESS_CODE,
  4876. PLINENAME ,
  4877. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  4878. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  4879. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  4880. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  4881. SUM(TJTIME) TJTIMETOTALDAY,
  4882. 24 * 60 TIMETOTALDAY
  4883. FROM T12
  4884. GROUP BY PLINENAME),
  4885. /********炼钢累计数值*******/
  4886. T14 AS
  4887. (
  4888. SELECT * FROM T11
  4889. UNION ALL
  4890. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  4891. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  4892. ),
  4893. /********炼钢日数值*******/
  4894. T15 AS
  4895. (
  4896. SELECT * FROM T13
  4897. UNION ALL
  4898. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  4899. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  4900. ),
  4901. /**********************************轧管时间范围查询**************************************/
  4902. T AS
  4903. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4904. FROM (SELECT T.CONTROL_ID,
  4905. T.STOP_REASON,
  4906. T.LOGS_BEG,
  4907. T.LOGS_END,
  4908. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4909. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4910. (SELECT BASENAME
  4911. FROM COM_BASE_INFO
  4912. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4913. (SELECT PROPERA
  4914. FROM COM_BASE_INFO
  4915. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4916. (SELECT PLINE_NAME
  4917. FROM COM_BASE_PLINE
  4918. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4919. CASE
  4920. WHEN (SELECT PROPERA
  4921. FROM COM_BASE_INFO
  4922. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4923. (SELECT BASENAME
  4924. FROM COM_BASE_INFO
  4925. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4926. 'ZCNB'
  4927. WHEN (SELECT PROPERA
  4928. FROM COM_BASE_INFO
  4929. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4930. (SELECT BASENAME
  4931. FROM COM_BASE_INFO
  4932. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4933. 'ZCWB'
  4934. WHEN (SELECT PROPERA
  4935. FROM COM_BASE_INFO
  4936. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4937. (SELECT BASENAME
  4938. FROM COM_BASE_INFO
  4939. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4940. 'YCNB'
  4941. WHEN (SELECT PROPERA
  4942. FROM COM_BASE_INFO
  4943. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  4944. (SELECT BASENAME
  4945. FROM COM_BASE_INFO
  4946. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  4947. 'YCWB'
  4948. END TJREASON
  4949. FROM MIL_CONTROL_LOG T
  4950. WHERE T.PRO_TYPE = '2'
  4951. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  4952. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4953. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  4954. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  4955. AND T.STOP_TYPE IN ('500601', '500602')
  4956. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  4957. AND EXISTS (SELECT *
  4958. FROM COM_BASE_INFO
  4959. WHERE BASECODE = T.STOP_REASON
  4960. AND VALIDFLAG = '1')) TA
  4961. GROUP BY TA.PLINENAME, TA.TJREASON),
  4962. T1 AS
  4963. (SELECT 'D' PROCESS_CODE,
  4964. PLINENAME,
  4965. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  4966. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  4967. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  4968. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  4969. SUM(TJTIME) TJTIMETOTAL,
  4970. 24 * 60 * #DAYS# TIMETOTAL
  4971. FROM T
  4972. GROUP BY PLINENAME),
  4973. /**********************************轧管日范围查询**************************************/
  4974. T2 AS
  4975. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  4976. FROM (SELECT T.CONTROL_ID,
  4977. T.STOP_REASON,
  4978. T.LOGS_BEG,
  4979. T.LOGS_END,
  4980. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  4981. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  4982. (SELECT BASENAME
  4983. FROM COM_BASE_INFO
  4984. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  4985. (SELECT PROPERA
  4986. FROM COM_BASE_INFO
  4987. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  4988. (SELECT PLINE_NAME
  4989. FROM COM_BASE_PLINE
  4990. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  4991. CASE
  4992. WHEN (SELECT PROPERA
  4993. FROM COM_BASE_INFO
  4994. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  4995. (SELECT BASENAME
  4996. FROM COM_BASE_INFO
  4997. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  4998. 'ZCNB'
  4999. WHEN (SELECT PROPERA
  5000. FROM COM_BASE_INFO
  5001. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5002. (SELECT BASENAME
  5003. FROM COM_BASE_INFO
  5004. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5005. 'ZCWB'
  5006. WHEN (SELECT PROPERA
  5007. FROM COM_BASE_INFO
  5008. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5009. (SELECT BASENAME
  5010. FROM COM_BASE_INFO
  5011. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5012. 'YCNB'
  5013. WHEN (SELECT PROPERA
  5014. FROM COM_BASE_INFO
  5015. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5016. (SELECT BASENAME
  5017. FROM COM_BASE_INFO
  5018. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5019. 'YCWB'
  5020. END TJREASON
  5021. FROM MIL_CONTROL_LOG T
  5022. WHERE T.PRO_TYPE = '2'
  5023. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5024. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5025. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5026. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5027. AND T.STOP_TYPE IN ('500601', '500602')
  5028. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  5029. AND EXISTS (SELECT *
  5030. FROM COM_BASE_INFO
  5031. WHERE BASECODE = T.STOP_REASON
  5032. AND VALIDFLAG = '1')) TA
  5033. GROUP BY TA.PLINENAME, TA.TJREASON),
  5034. T3 AS
  5035. (SELECT 'D' PROCESS_CODE,
  5036. PLINENAME ,
  5037. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  5038. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  5039. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  5040. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  5041. SUM(TJTIME) TJTIMETOTALDAY,
  5042. 24 * 60 TIMETOTALDAY
  5043. FROM T2
  5044. GROUP BY PLINENAME),
  5045. /********轧管累计数值*******/
  5046. T4 AS
  5047. (
  5048. SELECT * FROM T1
  5049. UNION ALL
  5050. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  5051. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  5052. ),
  5053. /********轧管日数值*******/
  5054. T5 AS
  5055. (
  5056. SELECT * FROM T3
  5057. UNION ALL
  5058. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  5059. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  5060. ),
  5061. /**********************************热处理时间范围查询**************************************/
  5062. T30 AS
  5063. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  5064. FROM (SELECT T.CONTROL_ID,
  5065. T.STOP_REASON,
  5066. T.LOGS_BEG,
  5067. T.LOGS_END,
  5068. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5069. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5070. (SELECT BASENAME
  5071. FROM COM_BASE_INFO
  5072. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  5073. (SELECT PROPERA
  5074. FROM COM_BASE_INFO
  5075. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  5076. (SELECT PLINE_NAME
  5077. FROM COM_BASE_PLINE
  5078. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  5079. CASE
  5080. WHEN (SELECT PROPERA
  5081. FROM COM_BASE_INFO
  5082. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5083. (SELECT BASENAME
  5084. FROM COM_BASE_INFO
  5085. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5086. 'ZCNB'
  5087. WHEN (SELECT PROPERA
  5088. FROM COM_BASE_INFO
  5089. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5090. (SELECT BASENAME
  5091. FROM COM_BASE_INFO
  5092. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5093. 'ZCWB'
  5094. WHEN (SELECT PROPERA
  5095. FROM COM_BASE_INFO
  5096. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5097. (SELECT BASENAME
  5098. FROM COM_BASE_INFO
  5099. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5100. 'YCNB'
  5101. WHEN (SELECT PROPERA
  5102. FROM COM_BASE_INFO
  5103. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5104. (SELECT BASENAME
  5105. FROM COM_BASE_INFO
  5106. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5107. 'YCWB'
  5108. END TJREASON,
  5109. PLINE_CODE,
  5110. STATION
  5111. FROM (SELECT T.CONTROL_ID,
  5112. T.LOGS_BEG,
  5113. T.LOGS_END,
  5114. T.PLINE_CODE,
  5115. T.STOP_TYPE,
  5116. T.STOP_REASON,
  5117. T.STOP_SMALL,
  5118. T.STATION
  5119. FROM HTT_CONTROL_LOG T
  5120. WHERE T.PRO_TYPE = '2'
  5121. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5122. TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5123. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5124. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5125. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  5126. AND T.STATION IN ('0','1')
  5127. UNION ALL
  5128. SELECT T.CONTROL_ID,
  5129. T.LOGS_BEG,
  5130. T.LOGS_END,
  5131. T.PLINE_CODE,
  5132. T.STOP_TYPE,
  5133. T.STOP_REASON,
  5134. T.STOP_SMALL,
  5135. T.STATION
  5136. FROM HTT_CONTROL_LOG T
  5137. WHERE T.PRO_TYPE = '2'
  5138. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5139. TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  5140. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5141. TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  5142. AND T.PLINE_CODE IN ('C049','C050')
  5143. AND T.STATION IN ('0','1')
  5144. ) T
  5145. WHERE 1=1
  5146. AND EXISTS (SELECT *
  5147. FROM COM_BASE_INFO
  5148. WHERE BASECODE = T.STOP_REASON
  5149. AND VALIDFLAG = '1')) TA
  5150. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  5151. T31 AS
  5152. (SELECT
  5153. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  5154. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  5155. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  5156. ELSE NULL END PROCESS_CODE,
  5157. PLINENAME,
  5158. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  5159. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  5160. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  5161. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  5162. SUM(TJTIME) TJTIMETOTAL,
  5163. 24 * 60 * #DAYS# TIMETOTAL,
  5164. STATION,
  5165. CASE WHEN PLINE_CODE='C022' AND STATION ='0' THEN 6
  5166. WHEN PLINE_CODE='C023' AND STATION ='0' THEN 7
  5167. WHEN PLINE_CODE='C024' AND STATION ='0' THEN 8
  5168. WHEN PLINE_CODE='C025' AND STATION ='0' THEN 9
  5169. WHEN PLINE_CODE='C026' AND STATION ='0' THEN 10
  5170. WHEN PLINE_CODE='C049' AND STATION ='0' THEN 15
  5171. WHEN PLINE_CODE='C050' AND STATION ='0' THEN 16
  5172. WHEN PLINE_CODE='C054' AND STATION ='0' THEN 20
  5173. WHEN PLINE_CODE='C055' AND STATION ='0' THEN 21
  5174. WHEN PLINE_CODE='C048' AND STATION ='0' THEN 22
  5175. WHEN PLINE_CODE='C022' AND STATION ='1' THEN 30
  5176. WHEN PLINE_CODE='C023' AND STATION ='1' THEN 31
  5177. WHEN PLINE_CODE='C024' AND STATION ='1' THEN 32
  5178. WHEN PLINE_CODE='C025' AND STATION ='1' THEN 33
  5179. WHEN PLINE_CODE='C026' AND STATION ='1' THEN 34
  5180. WHEN PLINE_CODE='C049' AND STATION ='1' THEN 41
  5181. WHEN PLINE_CODE='C050' AND STATION ='1' THEN 42
  5182. WHEN PLINE_CODE='C054' AND STATION ='1' THEN 45
  5183. WHEN PLINE_CODE='C055' AND STATION ='1' THEN 46
  5184. WHEN PLINE_CODE='C048' AND STATION ='1' THEN 47
  5185. ELSE NULL END PLINEORDER
  5186. FROM T30
  5187. GROUP BY PLINENAME,PLINE_CODE,STATION),
  5188. /**********************************热处理日范围查询**************************************/
  5189. T32 AS
  5190. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  5191. FROM (SELECT T.CONTROL_ID,
  5192. T.STOP_REASON,
  5193. T.LOGS_BEG,
  5194. T.LOGS_END,
  5195. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5196. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5197. (SELECT BASENAME
  5198. FROM COM_BASE_INFO
  5199. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  5200. (SELECT PROPERA
  5201. FROM COM_BASE_INFO
  5202. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  5203. (SELECT PLINE_NAME
  5204. FROM COM_BASE_PLINE
  5205. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  5206. CASE
  5207. WHEN (SELECT PROPERA
  5208. FROM COM_BASE_INFO
  5209. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5210. (SELECT BASENAME
  5211. FROM COM_BASE_INFO
  5212. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5213. 'ZCNB'
  5214. WHEN (SELECT PROPERA
  5215. FROM COM_BASE_INFO
  5216. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5217. (SELECT BASENAME
  5218. FROM COM_BASE_INFO
  5219. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5220. 'ZCWB'
  5221. WHEN (SELECT PROPERA
  5222. FROM COM_BASE_INFO
  5223. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5224. (SELECT BASENAME
  5225. FROM COM_BASE_INFO
  5226. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5227. 'YCNB'
  5228. WHEN (SELECT PROPERA
  5229. FROM COM_BASE_INFO
  5230. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5231. (SELECT BASENAME
  5232. FROM COM_BASE_INFO
  5233. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5234. 'YCWB'
  5235. END TJREASON,
  5236. PLINE_CODE,
  5237. STATION
  5238. FROM (SELECT T.CONTROL_ID,
  5239. T.LOGS_BEG,
  5240. T.LOGS_END,
  5241. T.PLINE_CODE,
  5242. T.STOP_TYPE,
  5243. T.STOP_REASON,
  5244. T.STOP_SMALL,
  5245. T.STATION
  5246. FROM HTT_CONTROL_LOG T
  5247. WHERE T.PRO_TYPE = '2'
  5248. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5249. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5250. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5251. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5252. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  5253. AND T.STATION IN ('0','1')
  5254. UNION ALL
  5255. SELECT T.CONTROL_ID,
  5256. T.LOGS_BEG,
  5257. T.LOGS_END,
  5258. T.PLINE_CODE,
  5259. T.STOP_TYPE,
  5260. T.STOP_REASON,
  5261. T.STOP_SMALL,
  5262. T.STATION
  5263. FROM HTT_CONTROL_LOG T
  5264. WHERE T.PRO_TYPE = '2'
  5265. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5266. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  5267. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5268. TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  5269. AND T.PLINE_CODE IN ('C049','C050')
  5270. AND T.STATION IN ('0','1')
  5271. ) T
  5272. WHERE 1=1
  5273. AND EXISTS (SELECT *
  5274. FROM COM_BASE_INFO
  5275. WHERE BASECODE = T.STOP_REASON
  5276. AND VALIDFLAG = '1')) TA
  5277. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  5278. T33 AS
  5279. (SELECT
  5280. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  5281. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  5282. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  5283. ELSE NULL END PROCESS_CODE,
  5284. PLINENAME,
  5285. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  5286. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  5287. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  5288. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  5289. SUM(TJTIME) TJTIMETOTALDAY,
  5290. 24 * 60 TIMETOTALDAY,
  5291. STATION,
  5292. CASE WHEN PLINE_CODE='C022' AND STATION ='0' THEN 6
  5293. WHEN PLINE_CODE='C023' AND STATION ='0' THEN 7
  5294. WHEN PLINE_CODE='C024' AND STATION ='0' THEN 8
  5295. WHEN PLINE_CODE='C025' AND STATION ='0' THEN 9
  5296. WHEN PLINE_CODE='C026' AND STATION ='0' THEN 10
  5297. WHEN PLINE_CODE='C049' AND STATION ='0' THEN 15
  5298. WHEN PLINE_CODE='C050' AND STATION ='0' THEN 16
  5299. WHEN PLINE_CODE='C054' AND STATION ='0' THEN 20
  5300. WHEN PLINE_CODE='C055' AND STATION ='0' THEN 21
  5301. WHEN PLINE_CODE='C048' AND STATION ='0' THEN 22
  5302. WHEN PLINE_CODE='C022' AND STATION ='1' THEN 30
  5303. WHEN PLINE_CODE='C023' AND STATION ='1' THEN 31
  5304. WHEN PLINE_CODE='C024' AND STATION ='1' THEN 32
  5305. WHEN PLINE_CODE='C025' AND STATION ='1' THEN 33
  5306. WHEN PLINE_CODE='C026' AND STATION ='1' THEN 34
  5307. WHEN PLINE_CODE='C049' AND STATION ='1' THEN 41
  5308. WHEN PLINE_CODE='C050' AND STATION ='1' THEN 42
  5309. WHEN PLINE_CODE='C054' AND STATION ='1' THEN 45
  5310. WHEN PLINE_CODE='C055' AND STATION ='1' THEN 46
  5311. WHEN PLINE_CODE='C048' AND STATION ='1' THEN 47
  5312. ELSE NULL END PLINEORDER
  5313. FROM T32
  5314. GROUP BY PLINENAME,PLINE_CODE,STATION),
  5315. /********热处理累计数值*******/
  5316. T34 AS
  5317. (
  5318. SELECT * FROM T31
  5319. UNION ALL
  5320. SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  5321. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION,
  5322. CASE WHEN PROCESS_CODE='F1' AND STATION ='0' THEN 11
  5323. WHEN PROCESS_CODE='F2' AND STATION ='0' THEN 17
  5324. WHEN PROCESS_CODE='F3' AND STATION ='0' THEN 23
  5325. WHEN PROCESS_CODE='F1' AND STATION ='1' THEN 35
  5326. WHEN PROCESS_CODE='F2' AND STATION ='1' THEN 43
  5327. WHEN PROCESS_CODE='F3' AND STATION ='1' THEN 48
  5328. END PLINEORDER
  5329. FROM T31 GROUP BY PROCESS_CODE,STATION
  5330. UNION ALL
  5331. SELECT '热处理' PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  5332. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION,
  5333. CASE WHEN STATION ='0' THEN 24
  5334. WHEN STATION ='1' THEN 49
  5335. END PLINEORDER
  5336. FROM T31 GROUP BY STATION
  5337. ),
  5338. /********热处理日数值*******/
  5339. T35 AS
  5340. (
  5341. SELECT * FROM T33
  5342. UNION ALL
  5343. SELECT PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  5344. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION,
  5345. CASE WHEN PROCESS_CODE='F1' AND STATION ='0' THEN 11
  5346. WHEN PROCESS_CODE='F2' AND STATION ='0' THEN 17
  5347. WHEN PROCESS_CODE='F3' AND STATION ='0' THEN 23
  5348. WHEN PROCESS_CODE='F1' AND STATION ='1' THEN 35
  5349. WHEN PROCESS_CODE='F2' AND STATION ='1' THEN 43
  5350. WHEN PROCESS_CODE='F3' AND STATION ='1' THEN 48
  5351. END PLINEORDER FROM T33 GROUP BY PROCESS_CODE,STATION
  5352. UNION ALL
  5353. SELECT '热处理' PROCESS_CODE ,DECODE(station,'0','管加工热处理(炉)','1','管加工热处理(探伤)') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  5354. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION,
  5355. CASE WHEN STATION ='0' THEN 24
  5356. WHEN STATION ='1' THEN 49
  5357. END PLINEORDER
  5358. FROM T33 GROUP BY STATION
  5359. ),
  5360. /**********************************加工时间范围查询**************************************/
  5361. T40 AS
  5362. (SELECT SUM(TJTIME) AS TJTIME, TJREASON, PLINE_CODE
  5363. FROM (SELECT T.CONTROL_ID,
  5364. T.STOP_REASON,
  5365. T.LOGS_BEG,
  5366. T.LOGS_END,
  5367. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5368. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5369. (SELECT BASENAME
  5370. FROM COM_BASE_INFO
  5371. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  5372. (SELECT PROPERA
  5373. FROM COM_BASE_INFO
  5374. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  5375. (SELECT PLINE_NAME
  5376. FROM COM_BASE_PLINE
  5377. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  5378. CASE
  5379. WHEN (SELECT PROPERA
  5380. FROM COM_BASE_INFO
  5381. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5382. (SELECT BASENAME
  5383. FROM COM_BASE_INFO
  5384. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5385. 'ZCNB'
  5386. WHEN (SELECT PROPERA
  5387. FROM COM_BASE_INFO
  5388. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5389. (SELECT BASENAME
  5390. FROM COM_BASE_INFO
  5391. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5392. 'ZCWB'
  5393. WHEN (SELECT PROPERA
  5394. FROM COM_BASE_INFO
  5395. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5396. (SELECT BASENAME
  5397. FROM COM_BASE_INFO
  5398. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5399. 'YCNB'
  5400. WHEN (SELECT PROPERA
  5401. FROM COM_BASE_INFO
  5402. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5403. (SELECT BASENAME
  5404. FROM COM_BASE_INFO
  5405. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5406. 'YCWB'
  5407. END TJREASON,
  5408. PLINE_CODE
  5409. FROM (SELECT T.CONTROL_ID,
  5410. T.LOGS_BEG,
  5411. T.LOGS_END,
  5412. T.PLINE_CODE,
  5413. T.STOP_TYPE,
  5414. T.STOP_REASON,
  5415. T.STOP_SMALL
  5416. FROM HTT_CONTROL_LOG T
  5417. WHERE T.PRO_TYPE = '2'
  5418. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5419. TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5420. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5421. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5422. AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056',
  5423. 'C039','C051','C038','C057',
  5424. 'C052','C078','C058'
  5425. )
  5426. ) T
  5427. WHERE 1=1
  5428. AND EXISTS (SELECT *
  5429. FROM COM_BASE_INFO
  5430. WHERE BASECODE = T.STOP_REASON
  5431. AND VALIDFLAG = '1')) TA
  5432. GROUP BY TA.TJREASON,TA.PLINE_CODE) ,
  5433. T41 AS
  5434. (SELECT
  5435. CASE WHEN
  5436. PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1'
  5437. WHEN
  5438. PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2'
  5439. WHEN
  5440. PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3'
  5441. ELSE NULL END PROCESS_CODE,
  5442. PLINE_CODE,
  5443. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  5444. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  5445. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  5446. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  5447. SUM(TJTIME) TJTIMETOTAL,
  5448. 24*60*7 TIMETOTAL,
  5449. CASE WHEN PLINE_CODE='C028' THEN 55
  5450. WHEN PLINE_CODE='C029' THEN 56
  5451. WHEN PLINE_CODE='C030' THEN 57
  5452. WHEN PLINE_CODE='C031' THEN 58
  5453. WHEN PLINE_CODE='C032' THEN 59
  5454. WHEN PLINE_CODE='C033' THEN 60
  5455. WHEN PLINE_CODE='C034' THEN 61
  5456. WHEN PLINE_CODE='C035' THEN 62
  5457. WHEN PLINE_CODE='C036' THEN 63
  5458. WHEN PLINE_CODE='C037' THEN 64
  5459. WHEN PLINE_CODE='C053' THEN 65
  5460. WHEN PLINE_CODE='C056' THEN 66
  5461. WHEN PLINE_CODE='C039' THEN 70
  5462. WHEN PLINE_CODE='C051' THEN 71
  5463. WHEN PLINE_CODE='C038' THEN 72
  5464. WHEN PLINE_CODE='C057' THEN 73
  5465. WHEN PLINE_CODE='C052' THEN 80
  5466. WHEN PLINE_CODE='C078' THEN 81
  5467. WHEN PLINE_CODE='C058' THEN 82
  5468. ELSE NULL END PLINEORDER
  5469. FROM T40
  5470. GROUP BY PLINE_CODE),
  5471. /**********************************加工线日范围查询**************************************/
  5472. T42 AS
  5473. (SELECT SUM(TJTIME) AS TJTIME, TJREASON, PLINE_CODE
  5474. FROM (SELECT T.CONTROL_ID,
  5475. T.STOP_REASON,
  5476. T.LOGS_BEG,
  5477. T.LOGS_END,
  5478. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5479. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5480. (SELECT BASENAME
  5481. FROM COM_BASE_INFO
  5482. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  5483. (SELECT PROPERA
  5484. FROM COM_BASE_INFO
  5485. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  5486. (SELECT PLINE_NAME
  5487. FROM COM_BASE_PLINE
  5488. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  5489. CASE
  5490. WHEN (SELECT PROPERA
  5491. FROM COM_BASE_INFO
  5492. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5493. (SELECT BASENAME
  5494. FROM COM_BASE_INFO
  5495. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5496. 'ZCNB'
  5497. WHEN (SELECT PROPERA
  5498. FROM COM_BASE_INFO
  5499. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  5500. (SELECT BASENAME
  5501. FROM COM_BASE_INFO
  5502. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5503. 'ZCWB'
  5504. WHEN (SELECT PROPERA
  5505. FROM COM_BASE_INFO
  5506. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5507. (SELECT BASENAME
  5508. FROM COM_BASE_INFO
  5509. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  5510. 'YCNB'
  5511. WHEN (SELECT PROPERA
  5512. FROM COM_BASE_INFO
  5513. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  5514. (SELECT BASENAME
  5515. FROM COM_BASE_INFO
  5516. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  5517. 'YCWB'
  5518. END TJREASON,
  5519. PLINE_CODE
  5520. FROM (SELECT T.CONTROL_ID,
  5521. T.LOGS_BEG,
  5522. T.LOGS_END,
  5523. T.PLINE_CODE,
  5524. T.STOP_TYPE,
  5525. T.STOP_REASON,
  5526. T.STOP_SMALL
  5527. FROM HTT_CONTROL_LOG T
  5528. WHERE T.PRO_TYPE = '2'
  5529. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5530. TO_DATE('#ENDDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5531. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5532. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  5533. AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056',
  5534. 'C039','C051','C038','C057',
  5535. 'C052','C078','C058'
  5536. )
  5537. ) T
  5538. WHERE 1=1
  5539. AND EXISTS (SELECT *
  5540. FROM COM_BASE_INFO
  5541. WHERE BASECODE = T.STOP_REASON
  5542. AND VALIDFLAG = '1')) TA
  5543. GROUP BY TA.TJREASON,TA.PLINE_CODE),
  5544. T43 AS
  5545. (SELECT
  5546. CASE WHEN
  5547. PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1'
  5548. WHEN
  5549. PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2'
  5550. WHEN
  5551. PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3'
  5552. ELSE NULL END PROCESS_CODE,
  5553. PLINE_CODE,
  5554. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  5555. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  5556. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  5557. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  5558. SUM(TJTIME) TJTIMETOTALDAY,
  5559. 24*60 TIMETOTALDAY,
  5560. CASE WHEN PLINE_CODE='C028' THEN 55
  5561. WHEN PLINE_CODE='C029' THEN 56
  5562. WHEN PLINE_CODE='C030' THEN 57
  5563. WHEN PLINE_CODE='C031' THEN 58
  5564. WHEN PLINE_CODE='C032' THEN 59
  5565. WHEN PLINE_CODE='C033' THEN 60
  5566. WHEN PLINE_CODE='C034' THEN 61
  5567. WHEN PLINE_CODE='C035' THEN 62
  5568. WHEN PLINE_CODE='C036' THEN 63
  5569. WHEN PLINE_CODE='C037' THEN 64
  5570. WHEN PLINE_CODE='C053' THEN 65
  5571. WHEN PLINE_CODE='C056' THEN 66
  5572. WHEN PLINE_CODE='C039' THEN 70
  5573. WHEN PLINE_CODE='C051' THEN 71
  5574. WHEN PLINE_CODE='C038' THEN 72
  5575. WHEN PLINE_CODE='C057' THEN 73
  5576. WHEN PLINE_CODE='C052' THEN 80
  5577. WHEN PLINE_CODE='C078' THEN 81
  5578. WHEN PLINE_CODE='C058' THEN 82
  5579. ELSE NULL END PLINEORDER
  5580. FROM T42
  5581. GROUP BY PLINE_CODE),
  5582. /********加工线累计数值*******/
  5583. T44 AS
  5584. (
  5585. SELECT * FROM T41
  5586. UNION ALL
  5587. SELECT PROCESS_CODE ,DECODE(PROCESS_CODE,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') || '合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  5588. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,
  5589. CASE WHEN PROCESS_CODE='G1' THEN 67
  5590. WHEN PROCESS_CODE='G2' THEN 74
  5591. WHEN PROCESS_CODE='G3' THEN 83
  5592. END PLINEORDER
  5593. FROM T41 GROUP BY PROCESS_CODE
  5594. UNION ALL
  5595. SELECT 'G' PROCESS_CODE ,
  5596. '管加工加工线合计' PLINENAME,
  5597. SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  5598. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,
  5599. 100 PLINEORDER
  5600. FROM T41
  5601. ),
  5602. /********加工线日数值*******/
  5603. T45 AS
  5604. (
  5605. SELECT * FROM T43
  5606. UNION ALL
  5607. SELECT PROCESS_CODE ,DECODE(PROCESS_CODE,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') || '合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY) ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  5608. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,
  5609. CASE WHEN PROCESS_CODE='G1' THEN 67
  5610. WHEN PROCESS_CODE='G2' THEN 74
  5611. WHEN PROCESS_CODE='G3' THEN 83
  5612. END PLINEORDER
  5613. FROM T43 GROUP BY PROCESS_CODE
  5614. UNION ALL
  5615. SELECT 'G' PROCESS_CODE ,
  5616. '管加工加工线合计' PLINENAME,
  5617. SUM(ZCNBDAY) ZCNB,SUM(ZCWBDAY)ZCWB,SUM(YCNBDAY) YCNB,SUM(YCWBDAY) YCWB,
  5618. SUM(TJTIMETOTALDAY) TJTIMETOTAL,SUM(TIMETOTALDAY) TIMETOTAL,
  5619. 100 PLINEORDER
  5620. FROM T43
  5621. ),
  5622. T99 AS
  5623. (
  5624. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,T00.PLINE_CODE,
  5625. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),
  5626. 'D',NVL(T4.ZCNB,T00.ZCNB),
  5627. 'F1',NVL(T34.ZCNB,T00.ZCNB),
  5628. 'F2',NVL(T34.ZCNB,T00.ZCNB),
  5629. 'F3',NVL(T34.ZCNB,T00.ZCNB),
  5630. 'G1',NVL(T44.ZCNB,T00.ZCNB),
  5631. 'G2',NVL(T44.ZCNB,T00.ZCNB),
  5632. 'G3',NVL(T44.ZCNB,T00.ZCNB),
  5633. 'G',NVL(T44.ZCNB,T00.ZCNB),
  5634. T00.ZCNB) ZCNB,
  5635. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),
  5636. 'D',NVL(T4.ZCWB,T00.ZCWB),
  5637. 'F1',NVL(T34.ZCWB,T00.ZCWB),
  5638. 'F2',NVL(T34.ZCWB,T00.ZCWB),
  5639. 'F3',NVL(T34.ZCWB,T00.ZCWB),
  5640. 'G1',NVL(T44.ZCWB,T00.ZCWB),
  5641. 'G2',NVL(T44.ZCWB,T00.ZCWB),
  5642. 'G3',NVL(T44.ZCWB,T00.ZCWB),
  5643. 'G',NVL(T44.ZCWB,T00.ZCWB),
  5644. T00.ZCWB) ZCWB,
  5645. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),
  5646. 'D',NVL(T4.YCNB,T00.YCNB),
  5647. 'F1',NVL(T34.YCNB,T00.YCNB),
  5648. 'F2',NVL(T34.YCNB,T00.YCNB),
  5649. 'F3',NVL(T34.YCNB,T00.YCNB),
  5650. 'G1',NVL(T44.YCNB,T00.YCNB),
  5651. 'G2',NVL(T44.YCNB,T00.YCNB),
  5652. 'G3',NVL(T44.YCNB,T00.YCNB),
  5653. 'G',NVL(T44.YCNB,T00.YCNB),
  5654. T00.YCNB) YCNB,
  5655. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),
  5656. 'D',NVL(T4.YCWB,T00.YCWB),
  5657. 'F1',NVL(T34.YCWB,T00.YCWB),
  5658. 'F2',NVL(T34.YCWB,T00.YCWB),
  5659. 'F3',NVL(T34.YCWB,T00.YCWB),
  5660. 'G1',NVL(T44.YCWB,T00.YCWB),
  5661. 'G2',NVL(T44.YCWB,T00.YCWB),
  5662. 'G3',NVL(T44.YCWB,T00.YCWB),
  5663. 'G',NVL(T44.YCWB,T00.YCWB),
  5664. T00.YCWB) YCWB,
  5665. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),
  5666. 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),
  5667. 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  5668. 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  5669. 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  5670. 'G1',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL),
  5671. 'G2',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL),
  5672. 'G3',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL),
  5673. 'G',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL),
  5674. T00.TJTIMETOTAL) TJTIMETOTAL,
  5675. T00.TIMETOTAL1 TIMETOTAL,
  5676. YXNB,YXZH,DAYZYL,
  5677. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),
  5678. 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),
  5679. 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  5680. 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  5681. 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  5682. 'G1',NVL(T45.ZCNBDAY,T00.ZCNBDAY),
  5683. 'G2',NVL(T45.ZCNBDAY,T00.ZCNBDAY),
  5684. 'G3',NVL(T45.ZCNBDAY,T00.ZCNBDAY),
  5685. 'G',NVL(T45.ZCNBDAY,T00.ZCNBDAY),
  5686. T00.ZCNBDAY) ZCNBDAY,
  5687. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),
  5688. 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),
  5689. 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  5690. 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  5691. 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  5692. 'G1',NVL(T45.ZCWBDAY,T00.ZCWBDAY),
  5693. 'G2',NVL(T45.ZCWBDAY,T00.ZCWBDAY),
  5694. 'G3',NVL(T45.ZCWBDAY,T00.ZCWBDAY),
  5695. 'G',NVL(T45.ZCWBDAY,T00.ZCWBDAY),
  5696. T00.ZCWBDAY) ZCWBDAY,
  5697. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),
  5698. 'D',NVL(T5.YCNBDAY,T00.YCNBDAY),
  5699. 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY),
  5700. 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY),
  5701. 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY),
  5702. 'G1',NVL(T45.YCNBDAY,T00.YCNBDAY),
  5703. 'G2',NVL(T45.YCNBDAY,T00.YCNBDAY),
  5704. 'G3',NVL(T45.YCNBDAY,T00.YCNBDAY),
  5705. 'G',NVL(T45.YCNBDAY,T00.YCNBDAY),
  5706. T00.YCNBDAY) YCNBDAY,
  5707. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),
  5708. 'D',NVL(T5.YCWBDAY,T00.YCWBDAY),
  5709. 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY),
  5710. 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY),
  5711. 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY),
  5712. 'G1',NVL(T45.YCWBDAY,T00.YCWBDAY),
  5713. 'G2',NVL(T45.YCWBDAY,T00.YCWBDAY),
  5714. 'G3',NVL(T45.YCWBDAY,T00.YCWBDAY),
  5715. 'G',NVL(T45.YCWBDAY,T00.YCWBDAY),
  5716. T00.YCWBDAY) YCWBDAY,
  5717. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5718. 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5719. 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5720. 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5721. 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5722. 'G1',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5723. 'G2',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5724. 'G3',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5725. 'G',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  5726. T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  5727. T00.TIMETOTALDAY1 TIMETOTALDAY,
  5728. YXNBDAY,YXZHDAY,DAYZYLDAY
  5729. FROM T00,T14,T15,T4,T5,T34,T35,T44,T45
  5730. WHERE 1=1
  5731. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  5732. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  5733. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  5734. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  5735. AND T00.PLINEORDER = T34.PLINEORDER(+)
  5736. AND T00.PLINEORDER = T35.PLINEORDER(+)
  5737. AND T00.PLINEORDER = T44.PLINEORDER(+)
  5738. AND T00.PLINEORDER = T45.PLINEORDER(+)
  5739. ),
  5740. T100
  5741. AS
  5742. (
  5743. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  5744. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  5745. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  5746. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  5747. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  5748. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  5749. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  5750. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  5751. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  5752. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  5753. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  5754. WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00'
  5755. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  5756. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  5757. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  5758. FROM T99
  5759. )
  5760. SELECT PLINEORDER,
  5761. CASE WHEN PLINEORDER IN ( 6,7,8,9,10,11,15,16,17,20,21,22,23,24) THEN '管加工热处理(炉)'
  5762. WHEN PLINEORDER IN ( 30,31,32,33,34,35,41,42,43,44,45,46,47,48,49) THEN '管加工热处理(探伤)'
  5763. WHEN PLINEORDER IN (55,56,57,58,59,60,61,62,63,64,65,66,67,70,71,72,73,74,80,81,82,83,100) THEN '管加工加工线'
  5764. ELSE PROCESS_DESC END DEPT,
  5765. PLINE_NAME PLINENAME,
  5766. CASE WHEN PLINEORDER IN ( 6,7,8,9,10,11,15,16,17,20,21,22,23,24) THEN PLINE_CODE || '0'
  5767. WHEN PLINEORDER IN ( 30,31,32,33,34,35,41,42,43,44,45,46,47,48,49) THEN PLINE_CODE || '1'
  5768. ELSE PLINE_CODE END PLINECODE,
  5769. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  5770. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  5771. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  5772. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  5773. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  5774. TIMETOTAL,
  5775. YXNB,YXZH,DAYZYL,
  5776. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  5777. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  5778. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  5779. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  5780. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  5781. TIMETOTALDAY,
  5782. YXNBDAY,YXZHDAY,DAYZYLDAY
  5783. FROM T100
  5784. ORDER BY PLINEORDER
  5785. ]]>
  5786. </query>
  5787. <query id="BuyGpDAL.selectRptDaySCKB_2021_01_12" desc="日生产运行快报(总调)数据">
  5788. <![CDATA[
  5789. WITH
  5790. /**********************************形成表结构**************************************/
  5791. T01 AS
  5792. (
  5793. SELECT T.PLINE_CODE,
  5794. T.PLINE_NAME || '(热处理)' PLINE_NAME,
  5795. T.PROCESS_DESC,
  5796. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  5797. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  5798. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  5799. ELSE T.PROCESS_CODE END PROCESS_CODE,
  5800. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  5801. 'C026',10,'C049',30,'C050',31,'C054',40,'C055',41,'C048',42) PLINEORDER
  5802. FROM COM_BASE_PLINE T
  5803. WHERE T.PROCESS_CODE IN ('F')
  5804. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  5805. UNION ALL
  5806. SELECT T.PLINE_CODE,
  5807. T.PLINE_NAME || '(探伤)' PLINE_NAME,
  5808. T.PROCESS_DESC,
  5809. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  5810. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  5811. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  5812. ELSE T.PROCESS_CODE END PROCESS_CODE,
  5813. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',20,'C023',21,'C024',22,'C025',23,
  5814. 'C026',24,'C049',35,'C050',36,'C054',50,'C055',51,'C048',52) PLINEORDER
  5815. FROM COM_BASE_PLINE T
  5816. WHERE T.PROCESS_CODE IN ('F')
  5817. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  5818. ORDER BY PLINE_CODE,PLINE_NAME
  5819. ),
  5820. T00 AS
  5821. (
  5822. SELECT * FROM
  5823. (
  5824. SELECT T.PLINE_CODE,
  5825. T.PLINE_NAME,
  5826. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  5827. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  5828. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  5829. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  5830. ELSE T.PROCESS_CODE END PROCESS_CODE,
  5831. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  5832. 'C026',10,'C049',12,'C050',13,'C054',15,'C055',16,'C048',17) PLINEORDER
  5833. FROM COM_BASE_PLINE T
  5834. WHERE T.PROCESS_CODE IN ('A', 'D','F')
  5835. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017')
  5836. UNION ALL
  5837. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  5838. UNION ALL
  5839. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  5840. UNION ALL
  5841. SELECT NULL ,'热处理小计','热处理(本部)','F1',11 FROM DUAL
  5842. UNION ALL
  5843. SELECT NULL,'探伤小计','热处理(本部)','F1',25 FROM DUAL
  5844. UNION ALL
  5845. SELECT NULL,'热处理小计','热处理(元通)','F2',32 FROM DUAL
  5846. UNION ALL
  5847. SELECT NULL,'探伤小计','热处理(元通)','F2',37 FROM DUAL
  5848. UNION ALL
  5849. SELECT NULL,'热处理小计','热处理(深加工)','F3',43 FROM DUAL
  5850. UNION ALL
  5851. SELECT NULL,'探伤小计','热处理(深加工)','F3',53 FROM DUAL
  5852. UNION ALL
  5853. SELECT * FROM T01
  5854. UNION ALL
  5855. SELECT 'G1','本部加工线','加工','G',60 FROM DUAL
  5856. UNION ALL
  5857. SELECT 'G2','元通加工线','加工','G',61 FROM DUAL
  5858. UNION ALL
  5859. SELECT 'G3','深加工加工线','加工','G',62 FROM DUAL
  5860. UNION ALL
  5861. SELECT NULL,'合计','加工','G',63 FROM DUAL
  5862. )ta,
  5863. (
  5864. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  5865. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  5866. FROM DUAL
  5867. )tb
  5868. ),
  5869. /**********************************炼钢时间范围查询**************************************/
  5870. T10 AS
  5871. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  5872. FROM (SELECT T10.CONTROL_ID,
  5873. T10.STOP_REASON,
  5874. T10.LOGS_BEG,
  5875. T10.LOGS_END,
  5876. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5877. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5878. (SELECT BASENAME
  5879. FROM COM_BASE_INFO
  5880. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  5881. (SELECT PROPERA
  5882. FROM COM_BASE_INFO
  5883. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  5884. (SELECT PLINE_NAME
  5885. FROM COM_BASE_PLINE
  5886. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  5887. CASE
  5888. WHEN (SELECT PROPERA
  5889. FROM COM_BASE_INFO
  5890. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  5891. (SELECT BASENAME
  5892. FROM COM_BASE_INFO
  5893. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  5894. 'ZCNB'
  5895. WHEN (SELECT PROPERA
  5896. FROM COM_BASE_INFO
  5897. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  5898. (SELECT BASENAME
  5899. FROM COM_BASE_INFO
  5900. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  5901. 'ZCWB'
  5902. WHEN (SELECT PROPERA
  5903. FROM COM_BASE_INFO
  5904. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  5905. (SELECT BASENAME
  5906. FROM COM_BASE_INFO
  5907. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  5908. 'YCNB'
  5909. WHEN (SELECT PROPERA
  5910. FROM COM_BASE_INFO
  5911. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  5912. (SELECT BASENAME
  5913. FROM COM_BASE_INFO
  5914. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  5915. 'YCWB'
  5916. END TJREASON
  5917. FROM STL_CONTROL_LOG T10
  5918. WHERE T10.PRO_TYPE = '2'
  5919. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5920. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5921. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5922. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5923. AND T10.STOP_TYPE IN ('300101', '300102')
  5924. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  5925. AND EXISTS (SELECT *
  5926. FROM COM_BASE_INFO
  5927. WHERE BASECODE = T10.STOP_REASON
  5928. AND VALIDFLAG = '1')) TA
  5929. GROUP BY TA.PLINENAME, TA.TJREASON),
  5930. T11 AS
  5931. (SELECT 'A' PROCESS_CODE,
  5932. PLINENAME,
  5933. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  5934. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  5935. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  5936. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  5937. SUM(TJTIME) TJTIMETOTAL,
  5938. 24 * 60 * #DAYS# TIMETOTAL
  5939. FROM T10
  5940. GROUP BY PLINENAME),
  5941. /**********************************炼钢日范围查询**************************************/
  5942. T12 AS
  5943. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  5944. FROM (SELECT T10.CONTROL_ID,
  5945. T10.STOP_REASON,
  5946. T10.LOGS_BEG,
  5947. T10.LOGS_END,
  5948. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  5949. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  5950. (SELECT BASENAME
  5951. FROM COM_BASE_INFO
  5952. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  5953. (SELECT PROPERA
  5954. FROM COM_BASE_INFO
  5955. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  5956. (SELECT PLINE_NAME
  5957. FROM COM_BASE_PLINE
  5958. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  5959. CASE
  5960. WHEN (SELECT PROPERA
  5961. FROM COM_BASE_INFO
  5962. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  5963. (SELECT BASENAME
  5964. FROM COM_BASE_INFO
  5965. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  5966. 'ZCNB'
  5967. WHEN (SELECT PROPERA
  5968. FROM COM_BASE_INFO
  5969. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  5970. (SELECT BASENAME
  5971. FROM COM_BASE_INFO
  5972. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  5973. 'ZCWB'
  5974. WHEN (SELECT PROPERA
  5975. FROM COM_BASE_INFO
  5976. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  5977. (SELECT BASENAME
  5978. FROM COM_BASE_INFO
  5979. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  5980. 'YCNB'
  5981. WHEN (SELECT PROPERA
  5982. FROM COM_BASE_INFO
  5983. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  5984. (SELECT BASENAME
  5985. FROM COM_BASE_INFO
  5986. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  5987. 'YCWB'
  5988. END TJREASON
  5989. FROM STL_CONTROL_LOG T10
  5990. WHERE T10.PRO_TYPE = '2'
  5991. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  5992. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5993. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  5994. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  5995. AND T10.STOP_TYPE IN ('300101', '300102')
  5996. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  5997. AND EXISTS (SELECT *
  5998. FROM COM_BASE_INFO
  5999. WHERE BASECODE = T10.STOP_REASON
  6000. AND VALIDFLAG = '1')) TA
  6001. GROUP BY TA.PLINENAME, TA.TJREASON),
  6002. T13 AS
  6003. (SELECT 'A' PROCESS_CODE,
  6004. PLINENAME ,
  6005. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  6006. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  6007. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  6008. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  6009. SUM(TJTIME) TJTIMETOTALDAY,
  6010. 24 * 60 TIMETOTALDAY
  6011. FROM T12
  6012. GROUP BY PLINENAME),
  6013. /********炼钢累计数值*******/
  6014. T14 AS
  6015. (
  6016. SELECT * FROM T11
  6017. UNION ALL
  6018. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  6019. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  6020. ),
  6021. /********炼钢日数值*******/
  6022. T15 AS
  6023. (
  6024. SELECT * FROM T13
  6025. UNION ALL
  6026. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  6027. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  6028. ),
  6029. /**********************************轧管时间范围查询**************************************/
  6030. T AS
  6031. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  6032. FROM (SELECT T.CONTROL_ID,
  6033. T.STOP_REASON,
  6034. T.LOGS_BEG,
  6035. T.LOGS_END,
  6036. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6037. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6038. (SELECT BASENAME
  6039. FROM COM_BASE_INFO
  6040. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6041. (SELECT PROPERA
  6042. FROM COM_BASE_INFO
  6043. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6044. (SELECT PLINE_NAME
  6045. FROM COM_BASE_PLINE
  6046. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6047. CASE
  6048. WHEN (SELECT PROPERA
  6049. FROM COM_BASE_INFO
  6050. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6051. (SELECT BASENAME
  6052. FROM COM_BASE_INFO
  6053. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6054. 'ZCNB'
  6055. WHEN (SELECT PROPERA
  6056. FROM COM_BASE_INFO
  6057. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6058. (SELECT BASENAME
  6059. FROM COM_BASE_INFO
  6060. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6061. 'ZCWB'
  6062. WHEN (SELECT PROPERA
  6063. FROM COM_BASE_INFO
  6064. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6065. (SELECT BASENAME
  6066. FROM COM_BASE_INFO
  6067. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6068. 'YCNB'
  6069. WHEN (SELECT PROPERA
  6070. FROM COM_BASE_INFO
  6071. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6072. (SELECT BASENAME
  6073. FROM COM_BASE_INFO
  6074. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6075. 'YCWB'
  6076. END TJREASON
  6077. FROM MIL_CONTROL_LOG T
  6078. WHERE T.PRO_TYPE = '2'
  6079. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6080. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6081. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6082. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6083. AND T.STOP_TYPE IN ('500601', '500602')
  6084. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  6085. AND EXISTS (SELECT *
  6086. FROM COM_BASE_INFO
  6087. WHERE BASECODE = T.STOP_REASON
  6088. AND VALIDFLAG = '1')) TA
  6089. GROUP BY TA.PLINENAME, TA.TJREASON),
  6090. T1 AS
  6091. (SELECT 'D' PROCESS_CODE,
  6092. PLINENAME,
  6093. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  6094. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  6095. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  6096. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  6097. SUM(TJTIME) TJTIMETOTAL,
  6098. 24 * 60 * #DAYS# TIMETOTAL
  6099. FROM T
  6100. GROUP BY PLINENAME),
  6101. /**********************************轧管日范围查询**************************************/
  6102. T2 AS
  6103. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  6104. FROM (SELECT T.CONTROL_ID,
  6105. T.STOP_REASON,
  6106. T.LOGS_BEG,
  6107. T.LOGS_END,
  6108. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6109. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6110. (SELECT BASENAME
  6111. FROM COM_BASE_INFO
  6112. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6113. (SELECT PROPERA
  6114. FROM COM_BASE_INFO
  6115. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6116. (SELECT PLINE_NAME
  6117. FROM COM_BASE_PLINE
  6118. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6119. CASE
  6120. WHEN (SELECT PROPERA
  6121. FROM COM_BASE_INFO
  6122. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6123. (SELECT BASENAME
  6124. FROM COM_BASE_INFO
  6125. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6126. 'ZCNB'
  6127. WHEN (SELECT PROPERA
  6128. FROM COM_BASE_INFO
  6129. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6130. (SELECT BASENAME
  6131. FROM COM_BASE_INFO
  6132. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6133. 'ZCWB'
  6134. WHEN (SELECT PROPERA
  6135. FROM COM_BASE_INFO
  6136. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6137. (SELECT BASENAME
  6138. FROM COM_BASE_INFO
  6139. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6140. 'YCNB'
  6141. WHEN (SELECT PROPERA
  6142. FROM COM_BASE_INFO
  6143. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6144. (SELECT BASENAME
  6145. FROM COM_BASE_INFO
  6146. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6147. 'YCWB'
  6148. END TJREASON
  6149. FROM MIL_CONTROL_LOG T
  6150. WHERE T.PRO_TYPE = '2'
  6151. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6152. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6153. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6154. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6155. AND T.STOP_TYPE IN ('500601', '500602')
  6156. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  6157. AND EXISTS (SELECT *
  6158. FROM COM_BASE_INFO
  6159. WHERE BASECODE = T.STOP_REASON
  6160. AND VALIDFLAG = '1')) TA
  6161. GROUP BY TA.PLINENAME, TA.TJREASON),
  6162. T3 AS
  6163. (SELECT 'D' PROCESS_CODE,
  6164. PLINENAME ,
  6165. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  6166. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  6167. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  6168. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  6169. SUM(TJTIME) TJTIMETOTALDAY,
  6170. 24 * 60 TIMETOTALDAY
  6171. FROM T2
  6172. GROUP BY PLINENAME),
  6173. /********轧管累计数值*******/
  6174. T4 AS
  6175. (
  6176. SELECT * FROM T1
  6177. UNION ALL
  6178. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  6179. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  6180. ),
  6181. /********轧管日数值*******/
  6182. T5 AS
  6183. (
  6184. SELECT * FROM T3
  6185. UNION ALL
  6186. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  6187. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  6188. ),
  6189. /**********************************热处理时间范围查询**************************************/
  6190. T30 AS
  6191. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  6192. FROM (SELECT T.CONTROL_ID,
  6193. T.STOP_REASON,
  6194. T.LOGS_BEG,
  6195. T.LOGS_END,
  6196. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6197. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6198. (SELECT BASENAME
  6199. FROM COM_BASE_INFO
  6200. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6201. (SELECT PROPERA
  6202. FROM COM_BASE_INFO
  6203. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6204. (SELECT PLINE_NAME
  6205. FROM COM_BASE_PLINE
  6206. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6207. CASE
  6208. WHEN (SELECT PROPERA
  6209. FROM COM_BASE_INFO
  6210. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6211. (SELECT BASENAME
  6212. FROM COM_BASE_INFO
  6213. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6214. 'ZCNB'
  6215. WHEN (SELECT PROPERA
  6216. FROM COM_BASE_INFO
  6217. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6218. (SELECT BASENAME
  6219. FROM COM_BASE_INFO
  6220. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6221. 'ZCWB'
  6222. WHEN (SELECT PROPERA
  6223. FROM COM_BASE_INFO
  6224. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6225. (SELECT BASENAME
  6226. FROM COM_BASE_INFO
  6227. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6228. 'YCNB'
  6229. WHEN (SELECT PROPERA
  6230. FROM COM_BASE_INFO
  6231. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6232. (SELECT BASENAME
  6233. FROM COM_BASE_INFO
  6234. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6235. 'YCWB'
  6236. END TJREASON,
  6237. PLINE_CODE,
  6238. STATION
  6239. FROM (SELECT T.CONTROL_ID,
  6240. T.LOGS_BEG,
  6241. T.LOGS_END,
  6242. T.PLINE_CODE,
  6243. T.STOP_TYPE,
  6244. T.STOP_REASON,
  6245. T.STOP_SMALL,
  6246. T.STATION
  6247. FROM HTT_CONTROL_LOG T
  6248. --, HTT_CONTROL_LOG_DETAIL T1
  6249. WHERE T.PRO_TYPE = '2'
  6250. --AND T.CONTROL_ID = T1.CONTROL_ID
  6251. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6252. TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6253. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6254. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6255. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  6256. AND T.STATION IN ('0','1')
  6257. UNION ALL
  6258. SELECT T.CONTROL_ID,
  6259. T.LOGS_BEG,
  6260. T.LOGS_END,
  6261. T.PLINE_CODE,
  6262. T.STOP_TYPE,
  6263. T.STOP_REASON,
  6264. T.STOP_SMALL,
  6265. T.STATION
  6266. FROM HTT_CONTROL_LOG T
  6267. --, HTT_CONTROL_LOG_DETAIL T1
  6268. WHERE T.PRO_TYPE = '2'
  6269. --AND T.CONTROL_ID = T1.CONTROL_ID
  6270. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6271. TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  6272. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6273. TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  6274. AND T.PLINE_CODE IN ('C049','C050')
  6275. AND T.STATION IN ('0','1')
  6276. ) T
  6277. WHERE 1=1
  6278. --AND T.STOP_TYPE IN ('500601', '500602')
  6279. AND EXISTS (SELECT *
  6280. FROM COM_BASE_INFO
  6281. WHERE BASECODE = T.STOP_REASON
  6282. AND VALIDFLAG = '1')) TA
  6283. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  6284. T31 AS
  6285. (SELECT
  6286. --'F' PROCESS_CODE,
  6287. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  6288. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  6289. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  6290. ELSE NULL END PROCESS_CODE,
  6291. PLINENAME,
  6292. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  6293. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  6294. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  6295. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  6296. SUM(TJTIME) TJTIMETOTAL,
  6297. 24 * 60 * #DAYS# TIMETOTAL,
  6298. STATION
  6299. FROM T30
  6300. GROUP BY PLINENAME,PLINE_CODE,STATION),
  6301. /**********************************热处理日范围查询**************************************/
  6302. T32 AS
  6303. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  6304. FROM (SELECT T.CONTROL_ID,
  6305. T.STOP_REASON,
  6306. T.LOGS_BEG,
  6307. T.LOGS_END,
  6308. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6309. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6310. (SELECT BASENAME
  6311. FROM COM_BASE_INFO
  6312. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6313. (SELECT PROPERA
  6314. FROM COM_BASE_INFO
  6315. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6316. (SELECT PLINE_NAME
  6317. FROM COM_BASE_PLINE
  6318. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6319. CASE
  6320. WHEN (SELECT PROPERA
  6321. FROM COM_BASE_INFO
  6322. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6323. (SELECT BASENAME
  6324. FROM COM_BASE_INFO
  6325. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6326. 'ZCNB'
  6327. WHEN (SELECT PROPERA
  6328. FROM COM_BASE_INFO
  6329. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6330. (SELECT BASENAME
  6331. FROM COM_BASE_INFO
  6332. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6333. 'ZCWB'
  6334. WHEN (SELECT PROPERA
  6335. FROM COM_BASE_INFO
  6336. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6337. (SELECT BASENAME
  6338. FROM COM_BASE_INFO
  6339. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6340. 'YCNB'
  6341. WHEN (SELECT PROPERA
  6342. FROM COM_BASE_INFO
  6343. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6344. (SELECT BASENAME
  6345. FROM COM_BASE_INFO
  6346. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6347. 'YCWB'
  6348. END TJREASON,
  6349. PLINE_CODE,
  6350. STATION
  6351. FROM (SELECT T.CONTROL_ID,
  6352. T.LOGS_BEG,
  6353. T.LOGS_END,
  6354. T.PLINE_CODE,
  6355. T.STOP_TYPE,
  6356. T.STOP_REASON,
  6357. T.STOP_SMALL,
  6358. T.STATION
  6359. FROM HTT_CONTROL_LOG T
  6360. --, HTT_CONTROL_LOG_DETAIL T1
  6361. WHERE T.PRO_TYPE = '2'
  6362. --AND T.CONTROL_ID = T1.CONTROL_ID
  6363. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6364. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6365. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6366. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6367. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  6368. AND T.STATION IN ('0','1')
  6369. UNION ALL
  6370. SELECT T.CONTROL_ID,
  6371. T.LOGS_BEG,
  6372. T.LOGS_END,
  6373. T.PLINE_CODE,
  6374. T.STOP_TYPE,
  6375. T.STOP_REASON,
  6376. T.STOP_SMALL,
  6377. T.STATION
  6378. FROM HTT_CONTROL_LOG T
  6379. --, HTT_CONTROL_LOG_DETAIL T1
  6380. WHERE T.PRO_TYPE = '2'
  6381. --AND T.CONTROL_ID = T1.CONTROL_ID
  6382. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6383. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  6384. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6385. TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  6386. AND T.PLINE_CODE IN ('C049','C050')
  6387. AND T.STATION IN ('0','1')
  6388. ) T
  6389. WHERE 1=1
  6390. --AND T.STOP_TYPE IN ('500601', '500602')
  6391. AND EXISTS (SELECT *
  6392. FROM COM_BASE_INFO
  6393. WHERE BASECODE = T.STOP_REASON
  6394. AND VALIDFLAG = '1')) TA
  6395. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  6396. T33 AS
  6397. (SELECT
  6398. --'F' PROCESS_CODE,
  6399. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  6400. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  6401. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  6402. ELSE NULL END PROCESS_CODE,
  6403. PLINENAME,
  6404. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  6405. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  6406. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  6407. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  6408. SUM(TJTIME) TJTIMETOTALDAY,
  6409. 24 * 60 TIMETOTALDAY,
  6410. STATION
  6411. FROM T32
  6412. GROUP BY PLINENAME,PLINE_CODE,STATION),
  6413. /********热处理累计数值*******/
  6414. T34 AS
  6415. (
  6416. SELECT * FROM T31
  6417. UNION ALL
  6418. SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  6419. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION FROM T31 GROUP BY PROCESS_CODE,STATION
  6420. ),
  6421. /********热处理日数值*******/
  6422. T35 AS
  6423. (
  6424. SELECT * FROM T33
  6425. UNION ALL
  6426. SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  6427. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION FROM T33 GROUP BY PROCESS_CODE,STATION
  6428. ),
  6429. /**********************************加工时间范围查询**************************************/
  6430. T40 AS
  6431. (SELECT SUM(TJTIME) AS TJTIME, DECODE(STATION,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') PLINENAME, TJREASON,STATION PLINE_CODE
  6432. FROM (SELECT T.CONTROL_ID,
  6433. T.STOP_REASON,
  6434. T.LOGS_BEG,
  6435. T.LOGS_END,
  6436. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6437. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6438. (SELECT BASENAME
  6439. FROM COM_BASE_INFO
  6440. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6441. (SELECT PROPERA
  6442. FROM COM_BASE_INFO
  6443. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6444. (SELECT PLINE_NAME
  6445. FROM COM_BASE_PLINE
  6446. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6447. CASE
  6448. WHEN (SELECT PROPERA
  6449. FROM COM_BASE_INFO
  6450. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6451. (SELECT BASENAME
  6452. FROM COM_BASE_INFO
  6453. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6454. 'ZCNB'
  6455. WHEN (SELECT PROPERA
  6456. FROM COM_BASE_INFO
  6457. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6458. (SELECT BASENAME
  6459. FROM COM_BASE_INFO
  6460. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6461. 'ZCWB'
  6462. WHEN (SELECT PROPERA
  6463. FROM COM_BASE_INFO
  6464. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6465. (SELECT BASENAME
  6466. FROM COM_BASE_INFO
  6467. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6468. 'YCNB'
  6469. WHEN (SELECT PROPERA
  6470. FROM COM_BASE_INFO
  6471. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6472. (SELECT BASENAME
  6473. FROM COM_BASE_INFO
  6474. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6475. 'YCWB'
  6476. END TJREASON,
  6477. PLINE_CODE,
  6478. CASE WHEN
  6479. PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1'
  6480. WHEN
  6481. PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2'
  6482. WHEN
  6483. PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3'
  6484. END STATION
  6485. FROM (SELECT T.CONTROL_ID,
  6486. T.LOGS_BEG,
  6487. T.LOGS_END,
  6488. T.PLINE_CODE,
  6489. T.STOP_TYPE,
  6490. T.STOP_REASON,
  6491. T.STOP_SMALL,
  6492. T.STATION
  6493. FROM HTT_CONTROL_LOG T
  6494. WHERE T.PRO_TYPE = '2'
  6495. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6496. TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6497. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6498. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6499. AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056',
  6500. 'C039','C051','C038','C057',
  6501. 'C052','C078','C058'
  6502. )
  6503. ) T
  6504. WHERE 1=1
  6505. AND EXISTS (SELECT *
  6506. FROM COM_BASE_INFO
  6507. WHERE BASECODE = T.STOP_REASON
  6508. AND VALIDFLAG = '1')) TA
  6509. GROUP BY TA.TJREASON,TA.STATION),
  6510. T41 AS
  6511. (SELECT
  6512. 'G' PROCESS_CODE,
  6513. PLINENAME,
  6514. PLINE_CODE,
  6515. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  6516. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  6517. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  6518. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  6519. SUM(TJTIME) TJTIMETOTAL,
  6520. DECODE(PLINE_CODE ,'G1',24 * 60*12 * #DAYS#,'G2',24 * 60* 4 * #DAYS#,'G3',24 * 60 * 3 * #DAYS#) TIMETOTAL
  6521. FROM T40
  6522. GROUP BY PLINENAME,PLINE_CODE),
  6523. /**********************************加工线日范围查询**************************************/
  6524. T42 AS
  6525. (SELECT SUM(TJTIME) AS TJTIME, DECODE(STATION,'G1','本部加工线','G2','元通加工线','G3','深加工加工线') PLINENAME, TJREASON,STATION PLINE_CODE
  6526. FROM (SELECT T.CONTROL_ID,
  6527. T.STOP_REASON,
  6528. T.LOGS_BEG,
  6529. T.LOGS_END,
  6530. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6531. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6532. (SELECT BASENAME
  6533. FROM COM_BASE_INFO
  6534. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  6535. (SELECT PROPERA
  6536. FROM COM_BASE_INFO
  6537. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  6538. (SELECT PLINE_NAME
  6539. FROM COM_BASE_PLINE
  6540. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  6541. CASE
  6542. WHEN (SELECT PROPERA
  6543. FROM COM_BASE_INFO
  6544. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6545. (SELECT BASENAME
  6546. FROM COM_BASE_INFO
  6547. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6548. 'ZCNB'
  6549. WHEN (SELECT PROPERA
  6550. FROM COM_BASE_INFO
  6551. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  6552. (SELECT BASENAME
  6553. FROM COM_BASE_INFO
  6554. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6555. 'ZCWB'
  6556. WHEN (SELECT PROPERA
  6557. FROM COM_BASE_INFO
  6558. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6559. (SELECT BASENAME
  6560. FROM COM_BASE_INFO
  6561. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  6562. 'YCNB'
  6563. WHEN (SELECT PROPERA
  6564. FROM COM_BASE_INFO
  6565. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  6566. (SELECT BASENAME
  6567. FROM COM_BASE_INFO
  6568. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  6569. 'YCWB'
  6570. END TJREASON,
  6571. PLINE_CODE,
  6572. CASE WHEN
  6573. PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056') THEN 'G1'
  6574. WHEN
  6575. PLINE_CODE IN ( 'C039','C051','C038','C057') THEN 'G2'
  6576. WHEN
  6577. PLINE_CODE IN ( 'C052','C078','C058') THEN 'G3'
  6578. END STATION
  6579. FROM (SELECT T.CONTROL_ID,
  6580. T.LOGS_BEG,
  6581. T.LOGS_END,
  6582. T.PLINE_CODE,
  6583. T.STOP_TYPE,
  6584. T.STOP_REASON,
  6585. T.STOP_SMALL,
  6586. T.STATION
  6587. FROM HTT_CONTROL_LOG T
  6588. WHERE T.PRO_TYPE = '2'
  6589. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6590. TO_DATE('#ENDDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6591. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6592. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  6593. AND T.PLINE_CODE IN ('C028','C029','C030','C031','C032','C033','C034','C035','C036','C037','C053','C056',
  6594. 'C039','C051','C038','C057',
  6595. 'C052','C078','C058'
  6596. )
  6597. ) T
  6598. WHERE 1=1
  6599. AND EXISTS (SELECT *
  6600. FROM COM_BASE_INFO
  6601. WHERE BASECODE = T.STOP_REASON
  6602. AND VALIDFLAG = '1')) TA
  6603. GROUP BY TA.TJREASON,TA.STATION),
  6604. T43 AS
  6605. (SELECT
  6606. 'G' PROCESS_CODE,
  6607. PLINENAME,
  6608. PLINE_CODE,
  6609. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  6610. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  6611. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  6612. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  6613. SUM(TJTIME) TJTIMETOTAL,
  6614. DECODE(PLINE_CODE ,'G1',24 * 60*12 * 1,'G2',24 * 60* 4 * 1,'G3',24 * 60* 4 * 1) TIMETOTAL
  6615. FROM T42
  6616. GROUP BY PLINENAME,PLINE_CODE),
  6617. /********加工线累计数值*******/
  6618. T44 AS
  6619. (
  6620. SELECT PROCESS_CODE,PLINENAME,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL FROM T41
  6621. UNION ALL
  6622. SELECT 'G' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  6623. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T41
  6624. ),
  6625. /********加工线日数值*******/
  6626. T45 AS
  6627. (
  6628. SELECT PROCESS_CODE,PLINENAME,ZCNB ZCNBDAY,ZCWB ZCWBDAY,YCNB YCNBDAY,YCWB YCWBDAY,TJTIMETOTAL TJTIMETOTALDAY,TIMETOTAL TIMETOTALDAY FROM T43
  6629. UNION ALL
  6630. SELECT 'G' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  6631. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T43
  6632. ),
  6633. T99
  6634. AS
  6635. (
  6636. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE,
  6637. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),
  6638. 'D',NVL(T4.ZCNB,T00.ZCNB),
  6639. 'F1',NVL(T34.ZCNB,T00.ZCNB),
  6640. 'F2',NVL(T34.ZCNB,T00.ZCNB),
  6641. 'F3',NVL(T34.ZCNB,T00.ZCNB),
  6642. 'F4',NVL(T34.ZCNB,T00.ZCNB),
  6643. 'G',NVL(T44.ZCNB,T00.ZCNB),
  6644. T00.ZCNB) ZCNB,
  6645. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),
  6646. 'D',NVL(T4.ZCWB,T00.ZCWB),
  6647. 'F1',NVL(T34.ZCWB,T00.ZCWB),
  6648. 'F2',NVL(T34.ZCWB,T00.ZCWB),
  6649. 'F3',NVL(T34.ZCWB,T00.ZCWB),
  6650. 'F4',NVL(T34.ZCWB,T00.ZCWB),
  6651. 'G',NVL(T44.ZCWB,T00.ZCWB),
  6652. T00.ZCWB) ZCWB,
  6653. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),
  6654. 'D',NVL(T4.YCNB,T00.YCNB),
  6655. 'F1',NVL(T34.YCNB,T00.YCNB),
  6656. 'F2',NVL(T34.YCNB,T00.YCNB),
  6657. 'F3',NVL(T34.YCNB,T00.YCNB),
  6658. 'F4',NVL(T34.YCNB,T00.YCNB),
  6659. 'G',NVL(T44.YCNB,T00.YCNB),
  6660. T00.YCNB) YCNB,
  6661. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),
  6662. 'D',NVL(T4.YCWB,T00.YCWB),
  6663. 'F1',NVL(T34.YCWB,T00.YCWB),
  6664. 'F2',NVL(T34.YCWB,T00.YCWB),
  6665. 'F3',NVL(T34.YCWB,T00.YCWB),
  6666. 'F4',NVL(T34.YCWB,T00.YCWB),
  6667. 'G',NVL(T44.YCWB,T00.YCWB),
  6668. T00.YCWB) YCWB,
  6669. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),
  6670. 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),
  6671. 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  6672. 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  6673. 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  6674. 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  6675. 'G',NVL(T44.TJTIMETOTAL,T00.TJTIMETOTAL),
  6676. T00.TJTIMETOTAL) TJTIMETOTAL,
  6677. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),
  6678. 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),
  6679. 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  6680. 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  6681. 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  6682. 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  6683. 'G',NVL(T44.TIMETOTAL,T00.TIMETOTAL),
  6684. T00.TIMETOTAL) TIMETOTAL,
  6685. YXNB,YXZH,DAYZYL,
  6686. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),
  6687. 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),
  6688. 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  6689. 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  6690. 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  6691. 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  6692. 'G',NVL(T45.ZCNBDAY,T00.ZCNBDAY),
  6693. T00.ZCNBDAY) ZCNBDAY,
  6694. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),
  6695. 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),
  6696. 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  6697. 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  6698. 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  6699. 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  6700. 'G',NVL(T45.ZCWBDAY,T00.ZCWBDAY),
  6701. T00.ZCWBDAY) ZCWBDAY,
  6702. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),
  6703. 'D',NVL(T5.YCNBDAY,T00.YCNBDAY),
  6704. 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY),
  6705. 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY),
  6706. 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY),
  6707. 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY),
  6708. 'G',NVL(T45.YCNBDAY,T00.YCNBDAY),
  6709. T00.YCNBDAY) YCNBDAY,
  6710. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),
  6711. 'D',NVL(T5.YCWBDAY,T00.YCWBDAY),
  6712. 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY),
  6713. 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY),
  6714. 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY),
  6715. 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY),
  6716. 'G',NVL(T45.YCWBDAY,T00.YCWBDAY),
  6717. T00.YCWBDAY) YCWBDAY,
  6718. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6719. 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6720. 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6721. 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6722. 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6723. 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6724. 'G',NVL(T45.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  6725. T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  6726. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),
  6727. 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),
  6728. 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  6729. 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  6730. 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  6731. 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  6732. 'G',NVL(T45.TIMETOTALDAY,T00.TIMETOTALDAY),
  6733. T00.TIMETOTALDAY) TIMETOTALDAY,
  6734. YXNBDAY,YXZHDAY,DAYZYLDAY
  6735. FROM T00,T14,T15,T4,T5,T34,T35,T44,T45
  6736. WHERE 1=1
  6737. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  6738. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  6739. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  6740. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  6741. AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+)
  6742. AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+)
  6743. AND T00.PROCESS_CODE = T44.PROCESS_CODE(+) AND T00.PLINE_NAME = T44.PLINENAME(+)
  6744. AND T00.PROCESS_CODE = T45.PROCESS_CODE(+) AND T00.PLINE_NAME = T45.PLINENAME(+)
  6745. ),
  6746. T100
  6747. AS
  6748. (
  6749. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  6750. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  6751. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  6752. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  6753. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  6754. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  6755. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  6756. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  6757. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  6758. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  6759. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  6760. WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00'
  6761. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  6762. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  6763. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  6764. FROM T99
  6765. )
  6766. SELECT PLINEORDER,
  6767. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)'
  6768. WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)'
  6769. WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)'
  6770. ELSE PROCESS_DESC END DEPT,
  6771. PLINE_NAME PLINENAME,
  6772. CASE WHEN PLINEORDER IN (6,7,8,9,10,30,31,40,41,42) THEN PLINE_CODE || '0'
  6773. WHEN PLINEORDER IN (20,21,22,23,24,35,36,50,51,52) THEN PLINE_CODE || '1'
  6774. ELSE PLINE_CODE END PLINECODE,
  6775. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  6776. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  6777. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  6778. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  6779. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  6780. TIMETOTAL,
  6781. YXNB,YXZH,DAYZYL,
  6782. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  6783. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  6784. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  6785. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  6786. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  6787. TIMETOTALDAY,
  6788. YXNBDAY,YXZHDAY,DAYZYLDAY
  6789. FROM T100
  6790. ORDER BY PLINEORDER
  6791. ]]>
  6792. </query>
  6793. <query id="BuyGpDAL.selectRptDaySCKB20210104" desc="日生产运行快报(总调)数据">
  6794. <![CDATA[
  6795. WITH
  6796. /**********************************形成表结构**************************************/
  6797. T01 AS
  6798. (
  6799. SELECT T.PLINE_CODE,
  6800. T.PLINE_NAME || '(热处理)' PLINE_NAME,
  6801. T.PROCESS_DESC,
  6802. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  6803. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  6804. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  6805. ELSE T.PROCESS_CODE END PROCESS_CODE,
  6806. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  6807. 'C026',10,'C049',30,'C050',31,'C054',40,'C055',41,'C048',42) PLINEORDER
  6808. FROM COM_BASE_PLINE T
  6809. WHERE T.PROCESS_CODE IN ('F')
  6810. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  6811. UNION ALL
  6812. SELECT T.PLINE_CODE,
  6813. T.PLINE_NAME || '(探伤)' PLINE_NAME,
  6814. T.PROCESS_DESC,
  6815. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  6816. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  6817. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  6818. ELSE T.PROCESS_CODE END PROCESS_CODE,
  6819. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',20,'C023',21,'C024',22,'C025',23,
  6820. 'C026',24,'C049',35,'C050',36,'C054',50,'C055',51,'C048',52) PLINEORDER
  6821. FROM COM_BASE_PLINE T
  6822. WHERE T.PROCESS_CODE IN ('F')
  6823. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  6824. ORDER BY PLINE_CODE,PLINE_NAME
  6825. ),
  6826. T00 AS
  6827. (
  6828. SELECT * FROM
  6829. (
  6830. SELECT T.PLINE_CODE,
  6831. T.PLINE_NAME,
  6832. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  6833. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  6834. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  6835. WHEN T.PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  6836. ELSE T.PROCESS_CODE END PROCESS_CODE,
  6837. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  6838. 'C026',10,'C049',12,'C050',13,'C054',15,'C055',16,'C048',17) PLINEORDER
  6839. FROM COM_BASE_PLINE T
  6840. WHERE T.PROCESS_CODE IN ('A', 'D','F')
  6841. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017')
  6842. UNION ALL
  6843. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  6844. UNION ALL
  6845. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  6846. UNION ALL
  6847. SELECT NULL ,'热处理小计','热处理(本部)','F1',11 FROM DUAL
  6848. UNION ALL
  6849. SELECT NULL,'探伤小计','热处理(本部)','F1',25 FROM DUAL
  6850. UNION ALL
  6851. SELECT NULL,'热处理小计','热处理(元通)','F2',32 FROM DUAL
  6852. UNION ALL
  6853. SELECT NULL,'探伤小计','热处理(元通)','F2',37 FROM DUAL
  6854. UNION ALL
  6855. SELECT NULL,'热处理小计','热处理(深加工)','F3',43 FROM DUAL
  6856. UNION ALL
  6857. SELECT NULL,'探伤小计','热处理(深加工)','F3',53 FROM DUAL
  6858. UNION ALL
  6859. SELECT * FROM T01
  6860. )ta,
  6861. (
  6862. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  6863. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  6864. FROM DUAL
  6865. )tb
  6866. ),
  6867. /**********************************炼钢时间范围查询**************************************/
  6868. T10 AS
  6869. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  6870. FROM (SELECT T10.CONTROL_ID,
  6871. T10.STOP_REASON,
  6872. T10.LOGS_BEG,
  6873. T10.LOGS_END,
  6874. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6875. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6876. (SELECT BASENAME
  6877. FROM COM_BASE_INFO
  6878. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  6879. (SELECT PROPERA
  6880. FROM COM_BASE_INFO
  6881. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  6882. (SELECT PLINE_NAME
  6883. FROM COM_BASE_PLINE
  6884. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  6885. CASE
  6886. WHEN (SELECT PROPERA
  6887. FROM COM_BASE_INFO
  6888. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  6889. (SELECT BASENAME
  6890. FROM COM_BASE_INFO
  6891. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  6892. 'ZCNB'
  6893. WHEN (SELECT PROPERA
  6894. FROM COM_BASE_INFO
  6895. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  6896. (SELECT BASENAME
  6897. FROM COM_BASE_INFO
  6898. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  6899. 'ZCWB'
  6900. WHEN (SELECT PROPERA
  6901. FROM COM_BASE_INFO
  6902. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  6903. (SELECT BASENAME
  6904. FROM COM_BASE_INFO
  6905. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  6906. 'YCNB'
  6907. WHEN (SELECT PROPERA
  6908. FROM COM_BASE_INFO
  6909. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  6910. (SELECT BASENAME
  6911. FROM COM_BASE_INFO
  6912. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  6913. 'YCWB'
  6914. END TJREASON
  6915. FROM STL_CONTROL_LOG T10
  6916. WHERE T10.PRO_TYPE = '2'
  6917. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6918. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6919. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6920. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6921. AND T10.STOP_TYPE IN ('300101', '300102')
  6922. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  6923. AND EXISTS (SELECT *
  6924. FROM COM_BASE_INFO
  6925. WHERE BASECODE = T10.STOP_REASON
  6926. AND VALIDFLAG = '1')) TA
  6927. GROUP BY TA.PLINENAME, TA.TJREASON),
  6928. T11 AS
  6929. (SELECT 'A' PROCESS_CODE,
  6930. PLINENAME,
  6931. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  6932. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  6933. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  6934. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  6935. SUM(TJTIME) TJTIMETOTAL,
  6936. 24 * 60 * #DAYS# TIMETOTAL
  6937. FROM T10
  6938. GROUP BY PLINENAME),
  6939. /**********************************炼钢日范围查询**************************************/
  6940. T12 AS
  6941. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  6942. FROM (SELECT T10.CONTROL_ID,
  6943. T10.STOP_REASON,
  6944. T10.LOGS_BEG,
  6945. T10.LOGS_END,
  6946. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  6947. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  6948. (SELECT BASENAME
  6949. FROM COM_BASE_INFO
  6950. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  6951. (SELECT PROPERA
  6952. FROM COM_BASE_INFO
  6953. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  6954. (SELECT PLINE_NAME
  6955. FROM COM_BASE_PLINE
  6956. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  6957. CASE
  6958. WHEN (SELECT PROPERA
  6959. FROM COM_BASE_INFO
  6960. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  6961. (SELECT BASENAME
  6962. FROM COM_BASE_INFO
  6963. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  6964. 'ZCNB'
  6965. WHEN (SELECT PROPERA
  6966. FROM COM_BASE_INFO
  6967. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  6968. (SELECT BASENAME
  6969. FROM COM_BASE_INFO
  6970. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  6971. 'ZCWB'
  6972. WHEN (SELECT PROPERA
  6973. FROM COM_BASE_INFO
  6974. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  6975. (SELECT BASENAME
  6976. FROM COM_BASE_INFO
  6977. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  6978. 'YCNB'
  6979. WHEN (SELECT PROPERA
  6980. FROM COM_BASE_INFO
  6981. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  6982. (SELECT BASENAME
  6983. FROM COM_BASE_INFO
  6984. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  6985. 'YCWB'
  6986. END TJREASON
  6987. FROM STL_CONTROL_LOG T10
  6988. WHERE T10.PRO_TYPE = '2'
  6989. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  6990. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6991. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  6992. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  6993. AND T10.STOP_TYPE IN ('300101', '300102')
  6994. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  6995. AND EXISTS (SELECT *
  6996. FROM COM_BASE_INFO
  6997. WHERE BASECODE = T10.STOP_REASON
  6998. AND VALIDFLAG = '1')) TA
  6999. GROUP BY TA.PLINENAME, TA.TJREASON),
  7000. T13 AS
  7001. (SELECT 'A' PROCESS_CODE,
  7002. PLINENAME ,
  7003. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  7004. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  7005. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  7006. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  7007. SUM(TJTIME) TJTIMETOTALDAY,
  7008. 24 * 60 TIMETOTALDAY
  7009. FROM T12
  7010. GROUP BY PLINENAME),
  7011. /********炼钢累计数值*******/
  7012. T14 AS
  7013. (
  7014. SELECT * FROM T11
  7015. UNION ALL
  7016. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  7017. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  7018. ),
  7019. /********炼钢日数值*******/
  7020. T15 AS
  7021. (
  7022. SELECT * FROM T13
  7023. UNION ALL
  7024. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  7025. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  7026. ),
  7027. /**********************************轧管时间范围查询**************************************/
  7028. T AS
  7029. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7030. FROM (SELECT T.CONTROL_ID,
  7031. T.STOP_REASON,
  7032. T.LOGS_BEG,
  7033. T.LOGS_END,
  7034. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7035. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7036. (SELECT BASENAME
  7037. FROM COM_BASE_INFO
  7038. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7039. (SELECT PROPERA
  7040. FROM COM_BASE_INFO
  7041. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7042. (SELECT PLINE_NAME
  7043. FROM COM_BASE_PLINE
  7044. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7045. CASE
  7046. WHEN (SELECT PROPERA
  7047. FROM COM_BASE_INFO
  7048. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7049. (SELECT BASENAME
  7050. FROM COM_BASE_INFO
  7051. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7052. 'ZCNB'
  7053. WHEN (SELECT PROPERA
  7054. FROM COM_BASE_INFO
  7055. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7056. (SELECT BASENAME
  7057. FROM COM_BASE_INFO
  7058. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7059. 'ZCWB'
  7060. WHEN (SELECT PROPERA
  7061. FROM COM_BASE_INFO
  7062. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7063. (SELECT BASENAME
  7064. FROM COM_BASE_INFO
  7065. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7066. 'YCNB'
  7067. WHEN (SELECT PROPERA
  7068. FROM COM_BASE_INFO
  7069. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7070. (SELECT BASENAME
  7071. FROM COM_BASE_INFO
  7072. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7073. 'YCWB'
  7074. END TJREASON
  7075. FROM MIL_CONTROL_LOG T
  7076. WHERE T.PRO_TYPE = '2'
  7077. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7078. TO_DATE('#LASTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7079. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7080. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7081. AND T.STOP_TYPE IN ('500601', '500602')
  7082. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  7083. AND EXISTS (SELECT *
  7084. FROM COM_BASE_INFO
  7085. WHERE BASECODE = T.STOP_REASON
  7086. AND VALIDFLAG = '1')) TA
  7087. GROUP BY TA.PLINENAME, TA.TJREASON),
  7088. T1 AS
  7089. (SELECT 'D' PROCESS_CODE,
  7090. PLINENAME,
  7091. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  7092. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  7093. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  7094. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  7095. SUM(TJTIME) TJTIMETOTAL,
  7096. 24 * 60 * #DAYS# TIMETOTAL
  7097. FROM T
  7098. GROUP BY PLINENAME),
  7099. /**********************************轧管日范围查询**************************************/
  7100. T2 AS
  7101. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7102. FROM (SELECT T.CONTROL_ID,
  7103. T.STOP_REASON,
  7104. T.LOGS_BEG,
  7105. T.LOGS_END,
  7106. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7107. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7108. (SELECT BASENAME
  7109. FROM COM_BASE_INFO
  7110. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7111. (SELECT PROPERA
  7112. FROM COM_BASE_INFO
  7113. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7114. (SELECT PLINE_NAME
  7115. FROM COM_BASE_PLINE
  7116. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7117. CASE
  7118. WHEN (SELECT PROPERA
  7119. FROM COM_BASE_INFO
  7120. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7121. (SELECT BASENAME
  7122. FROM COM_BASE_INFO
  7123. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7124. 'ZCNB'
  7125. WHEN (SELECT PROPERA
  7126. FROM COM_BASE_INFO
  7127. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7128. (SELECT BASENAME
  7129. FROM COM_BASE_INFO
  7130. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7131. 'ZCWB'
  7132. WHEN (SELECT PROPERA
  7133. FROM COM_BASE_INFO
  7134. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7135. (SELECT BASENAME
  7136. FROM COM_BASE_INFO
  7137. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7138. 'YCNB'
  7139. WHEN (SELECT PROPERA
  7140. FROM COM_BASE_INFO
  7141. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7142. (SELECT BASENAME
  7143. FROM COM_BASE_INFO
  7144. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7145. 'YCWB'
  7146. END TJREASON
  7147. FROM MIL_CONTROL_LOG T
  7148. WHERE T.PRO_TYPE = '2'
  7149. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7150. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7151. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7152. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7153. AND T.STOP_TYPE IN ('500601', '500602')
  7154. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  7155. AND EXISTS (SELECT *
  7156. FROM COM_BASE_INFO
  7157. WHERE BASECODE = T.STOP_REASON
  7158. AND VALIDFLAG = '1')) TA
  7159. GROUP BY TA.PLINENAME, TA.TJREASON),
  7160. T3 AS
  7161. (SELECT 'D' PROCESS_CODE,
  7162. PLINENAME ,
  7163. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  7164. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  7165. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  7166. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  7167. SUM(TJTIME) TJTIMETOTALDAY,
  7168. 24 * 60 TIMETOTALDAY
  7169. FROM T2
  7170. GROUP BY PLINENAME),
  7171. /********轧管累计数值*******/
  7172. T4 AS
  7173. (
  7174. SELECT * FROM T1
  7175. UNION ALL
  7176. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  7177. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  7178. ),
  7179. /********轧管日数值*******/
  7180. T5 AS
  7181. (
  7182. SELECT * FROM T3
  7183. UNION ALL
  7184. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  7185. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  7186. ),
  7187. /**********************************热处理时间范围查询**************************************/
  7188. T30 AS
  7189. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  7190. FROM (SELECT T.CONTROL_ID,
  7191. T.STOP_REASON,
  7192. T.LOGS_BEG,
  7193. T.LOGS_END,
  7194. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7195. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7196. (SELECT BASENAME
  7197. FROM COM_BASE_INFO
  7198. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7199. (SELECT PROPERA
  7200. FROM COM_BASE_INFO
  7201. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7202. (SELECT PLINE_NAME
  7203. FROM COM_BASE_PLINE
  7204. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7205. CASE
  7206. WHEN (SELECT PROPERA
  7207. FROM COM_BASE_INFO
  7208. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7209. (SELECT BASENAME
  7210. FROM COM_BASE_INFO
  7211. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7212. 'ZCNB'
  7213. WHEN (SELECT PROPERA
  7214. FROM COM_BASE_INFO
  7215. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7216. (SELECT BASENAME
  7217. FROM COM_BASE_INFO
  7218. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7219. 'ZCWB'
  7220. WHEN (SELECT PROPERA
  7221. FROM COM_BASE_INFO
  7222. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7223. (SELECT BASENAME
  7224. FROM COM_BASE_INFO
  7225. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7226. 'YCNB'
  7227. WHEN (SELECT PROPERA
  7228. FROM COM_BASE_INFO
  7229. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7230. (SELECT BASENAME
  7231. FROM COM_BASE_INFO
  7232. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7233. 'YCWB'
  7234. END TJREASON,
  7235. PLINE_CODE,
  7236. STATION
  7237. FROM (SELECT T.CONTROL_ID,
  7238. T.LOGS_BEG,
  7239. T.LOGS_END,
  7240. T.PLINE_CODE,
  7241. T.STOP_TYPE,
  7242. T.STOP_REASON,
  7243. T.STOP_SMALL,
  7244. T.STATION
  7245. FROM HTT_CONTROL_LOG T
  7246. --, HTT_CONTROL_LOG_DETAIL T1
  7247. WHERE T.PRO_TYPE = '2'
  7248. --AND T.CONTROL_ID = T1.CONTROL_ID
  7249. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7250. TO_DATE('#LASTDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  7251. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7252. TO_DATE('#BGEINDATE#' || '2100', 'yyyy-mm-dd hh24:mi:ss')
  7253. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  7254. AND T.STATION IN ('0','1')
  7255. UNION ALL
  7256. SELECT T.CONTROL_ID,
  7257. T.LOGS_BEG,
  7258. T.LOGS_END,
  7259. T.PLINE_CODE,
  7260. T.STOP_TYPE,
  7261. T.STOP_REASON,
  7262. T.STOP_SMALL,
  7263. T.STATION
  7264. FROM HTT_CONTROL_LOG T
  7265. --, HTT_CONTROL_LOG_DETAIL T1
  7266. WHERE T.PRO_TYPE = '2'
  7267. --AND T.CONTROL_ID = T1.CONTROL_ID
  7268. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7269. TO_DATE('#LASTDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  7270. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7271. TO_DATE('#BGEINDATE#' || '2000', 'yyyy-mm-dd hh24:mi:ss')
  7272. AND T.PLINE_CODE IN ('C049','C050')
  7273. AND T.STATION IN ('0','1')
  7274. ) T
  7275. WHERE 1=1
  7276. --AND T.STOP_TYPE IN ('500601', '500602')
  7277. AND EXISTS (SELECT *
  7278. FROM COM_BASE_INFO
  7279. WHERE BASECODE = T.STOP_REASON
  7280. AND VALIDFLAG = '1')) TA
  7281. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  7282. T31 AS
  7283. (SELECT
  7284. --'F' PROCESS_CODE,
  7285. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  7286. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  7287. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  7288. ELSE NULL END PROCESS_CODE,
  7289. PLINENAME,
  7290. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  7291. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  7292. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  7293. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  7294. SUM(TJTIME) TJTIMETOTAL,
  7295. 24 * 60 * #DAYS# TIMETOTAL,
  7296. STATION
  7297. FROM T30
  7298. GROUP BY PLINENAME,PLINE_CODE,STATION),
  7299. /**********************************热处理日范围查询**************************************/
  7300. T32 AS
  7301. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME || DECODE(STATION,'0','(热处理)','1','(探伤)') PLINENAME, TJREASON,PLINE_CODE,STATION
  7302. FROM (SELECT T.CONTROL_ID,
  7303. T.STOP_REASON,
  7304. T.LOGS_BEG,
  7305. T.LOGS_END,
  7306. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7307. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7308. (SELECT BASENAME
  7309. FROM COM_BASE_INFO
  7310. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7311. (SELECT PROPERA
  7312. FROM COM_BASE_INFO
  7313. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7314. (SELECT PLINE_NAME
  7315. FROM COM_BASE_PLINE
  7316. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7317. CASE
  7318. WHEN (SELECT PROPERA
  7319. FROM COM_BASE_INFO
  7320. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7321. (SELECT BASENAME
  7322. FROM COM_BASE_INFO
  7323. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7324. 'ZCNB'
  7325. WHEN (SELECT PROPERA
  7326. FROM COM_BASE_INFO
  7327. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7328. (SELECT BASENAME
  7329. FROM COM_BASE_INFO
  7330. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7331. 'ZCWB'
  7332. WHEN (SELECT PROPERA
  7333. FROM COM_BASE_INFO
  7334. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7335. (SELECT BASENAME
  7336. FROM COM_BASE_INFO
  7337. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7338. 'YCNB'
  7339. WHEN (SELECT PROPERA
  7340. FROM COM_BASE_INFO
  7341. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7342. (SELECT BASENAME
  7343. FROM COM_BASE_INFO
  7344. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7345. 'YCWB'
  7346. END TJREASON,
  7347. PLINE_CODE,
  7348. STATION
  7349. FROM (SELECT T.CONTROL_ID,
  7350. T.LOGS_BEG,
  7351. T.LOGS_END,
  7352. T.PLINE_CODE,
  7353. T.STOP_TYPE,
  7354. T.STOP_REASON,
  7355. T.STOP_SMALL,
  7356. T.STATION
  7357. FROM HTT_CONTROL_LOG T
  7358. --, HTT_CONTROL_LOG_DETAIL T1
  7359. WHERE T.PRO_TYPE = '2'
  7360. --AND T.CONTROL_ID = T1.CONTROL_ID
  7361. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7362. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7363. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7364. TO_DATE('#BGEINDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  7365. AND T.PLINE_CODE IN ('C022','C023','C024','C025','C026','C054','C055','C048')
  7366. AND T.STATION IN ('0','1')
  7367. UNION ALL
  7368. SELECT T.CONTROL_ID,
  7369. T.LOGS_BEG,
  7370. T.LOGS_END,
  7371. T.PLINE_CODE,
  7372. T.STOP_TYPE,
  7373. T.STOP_REASON,
  7374. T.STOP_SMALL,
  7375. T.STATION
  7376. FROM HTT_CONTROL_LOG T
  7377. --, HTT_CONTROL_LOG_DETAIL T1
  7378. WHERE T.PRO_TYPE = '2'
  7379. --AND T.CONTROL_ID = T1.CONTROL_ID
  7380. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7381. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  7382. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7383. TO_DATE('#BGEINDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  7384. AND T.PLINE_CODE IN ('C049','C050')
  7385. AND T.STATION IN ('0','1')
  7386. ) T
  7387. WHERE 1=1
  7388. --AND T.STOP_TYPE IN ('500601', '500602')
  7389. AND EXISTS (SELECT *
  7390. FROM COM_BASE_INFO
  7391. WHERE BASECODE = T.STOP_REASON
  7392. AND VALIDFLAG = '1')) TA
  7393. GROUP BY TA.PLINENAME,TA.PLINE_CODE,TA.TJREASON,TA.STATION),
  7394. T33 AS
  7395. (SELECT
  7396. --'F' PROCESS_CODE,
  7397. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  7398. WHEN PLINE_CODE IN ('C049','C050') THEN 'F2'
  7399. WHEN PLINE_CODE IN ('C048','C054','C055') THEN 'F3'
  7400. ELSE NULL END PROCESS_CODE,
  7401. PLINENAME,
  7402. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  7403. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  7404. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  7405. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  7406. SUM(TJTIME) TJTIMETOTALDAY,
  7407. 24 * 60 TIMETOTALDAY,
  7408. STATION
  7409. FROM T32
  7410. GROUP BY PLINENAME,PLINE_CODE,STATION),
  7411. /********热处理累计数值*******/
  7412. T34 AS
  7413. (
  7414. SELECT * FROM T31
  7415. UNION ALL
  7416. SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  7417. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL,STATION FROM T31 GROUP BY PROCESS_CODE,STATION
  7418. ),
  7419. /********热处理日数值*******/
  7420. T35 AS
  7421. (
  7422. SELECT * FROM T33
  7423. UNION ALL
  7424. SELECT PROCESS_CODE ,DECODE(station,'0','热处理','1','探伤') || '小计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  7425. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY,STATION FROM T33 GROUP BY PROCESS_CODE,STATION
  7426. ),
  7427. T99
  7428. AS
  7429. (
  7430. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE,
  7431. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),
  7432. 'D',NVL(T4.ZCNB,T00.ZCNB),
  7433. 'F1',NVL(T34.ZCNB,T00.ZCNB),
  7434. 'F2',NVL(T34.ZCNB,T00.ZCNB),
  7435. 'F3',NVL(T34.ZCNB,T00.ZCNB),
  7436. 'F4',NVL(T34.ZCNB,T00.ZCNB),
  7437. T00.ZCNB) ZCNB,
  7438. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),
  7439. 'D',NVL(T4.ZCWB,T00.ZCWB),
  7440. 'F1',NVL(T34.ZCWB,T00.ZCWB),
  7441. 'F2',NVL(T34.ZCWB,T00.ZCWB),
  7442. 'F3',NVL(T34.ZCWB,T00.ZCWB),
  7443. 'F4',NVL(T34.ZCWB,T00.ZCWB),
  7444. T00.ZCWB) ZCWB,
  7445. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),
  7446. 'D',NVL(T4.YCNB,T00.YCNB),
  7447. 'F1',NVL(T34.YCNB,T00.YCNB),
  7448. 'F2',NVL(T34.YCNB,T00.YCNB),
  7449. 'F3',NVL(T34.YCNB,T00.YCNB),
  7450. 'F4',NVL(T34.YCNB,T00.YCNB),
  7451. T00.YCNB) YCNB,
  7452. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),
  7453. 'D',NVL(T4.YCWB,T00.YCWB),
  7454. 'F1',NVL(T34.YCWB,T00.YCWB),
  7455. 'F2',NVL(T34.YCWB,T00.YCWB),
  7456. 'F3',NVL(T34.YCWB,T00.YCWB),
  7457. 'F4',NVL(T34.YCWB,T00.YCWB),
  7458. T00.YCWB) YCWB,
  7459. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),
  7460. 'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),
  7461. 'F1',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  7462. 'F2',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  7463. 'F3',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  7464. 'F4',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),
  7465. T00.TJTIMETOTAL) TJTIMETOTAL,
  7466. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),
  7467. 'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),
  7468. 'F1',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  7469. 'F2',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  7470. 'F3',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  7471. 'F4',NVL(T34.TIMETOTAL,T00.TIMETOTAL),
  7472. T00.TIMETOTAL) TIMETOTAL,
  7473. YXNB,YXZH,DAYZYL,
  7474. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),
  7475. 'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),
  7476. 'F1',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  7477. 'F2',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  7478. 'F3',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  7479. 'F4',NVL(T35.ZCNBDAY,T00.ZCNBDAY),
  7480. T00.ZCNBDAY) ZCNBDAY,
  7481. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),
  7482. 'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),
  7483. 'F1',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  7484. 'F2',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  7485. 'F3',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  7486. 'F4',NVL(T35.ZCWBDAY,T00.ZCWBDAY),
  7487. T00.ZCWBDAY) ZCWBDAY,
  7488. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),
  7489. 'D',NVL(T5.YCNBDAY,T00.YCNBDAY),
  7490. 'F1',NVL(T35.YCNBDAY,T00.YCNBDAY),
  7491. 'F2',NVL(T35.YCNBDAY,T00.YCNBDAY),
  7492. 'F3',NVL(T35.YCNBDAY,T00.YCNBDAY),
  7493. 'F4',NVL(T35.YCNBDAY,T00.YCNBDAY),
  7494. T00.YCNBDAY) YCNBDAY,
  7495. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),
  7496. 'D',NVL(T5.YCWBDAY,T00.YCWBDAY),
  7497. 'F1',NVL(T35.YCWBDAY,T00.YCWBDAY),
  7498. 'F2',NVL(T35.YCWBDAY,T00.YCWBDAY),
  7499. 'F3',NVL(T35.YCWBDAY,T00.YCWBDAY),
  7500. 'F4',NVL(T35.YCWBDAY,T00.YCWBDAY),
  7501. T00.YCWBDAY) YCWBDAY,
  7502. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7503. 'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7504. 'F1',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7505. 'F2',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7506. 'F3',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7507. 'F4',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),
  7508. T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  7509. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),
  7510. 'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),
  7511. 'F1',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  7512. 'F2',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  7513. 'F3',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  7514. 'F4',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),
  7515. T00.TIMETOTALDAY) TIMETOTALDAY,
  7516. YXNBDAY,YXZHDAY,DAYZYLDAY
  7517. FROM T00,T14,T15,T4,T5,T34,T35
  7518. WHERE 1=1
  7519. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  7520. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  7521. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  7522. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  7523. AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+)
  7524. AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+)
  7525. ),
  7526. T100
  7527. AS
  7528. (
  7529. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  7530. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  7531. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  7532. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  7533. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  7534. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  7535. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  7536. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  7537. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  7538. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  7539. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  7540. WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00'
  7541. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  7542. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  7543. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  7544. FROM T99
  7545. )
  7546. SELECT PLINEORDER,
  7547. CASE WHEN PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN '热处理(本部)'
  7548. WHEN PLINE_CODE IN ('C049','C050') THEN '热处理(元通)'
  7549. WHEN PLINE_CODE IN ('C048','C054','C055') THEN '热处理(深加工)'
  7550. ELSE PROCESS_DESC END DEPT,
  7551. PLINE_NAME PLINENAME,
  7552. CASE WHEN PLINEORDER IN (6,7,8,9,10,30,31,40,41,42) THEN PLINE_CODE || '0'
  7553. WHEN PLINEORDER IN (20,21,22,23,24,35,36,50,51,52) THEN PLINE_CODE || '1'
  7554. ELSE PLINE_CODE END PLINECODE,
  7555. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  7556. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  7557. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  7558. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  7559. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  7560. TIMETOTAL,
  7561. YXNB,YXZH,DAYZYL,
  7562. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  7563. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  7564. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  7565. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  7566. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  7567. TIMETOTALDAY,
  7568. YXNBDAY,YXZHDAY,DAYZYLDAY
  7569. FROM T100
  7570. ORDER BY PLINEORDER
  7571. ]]>
  7572. </query>
  7573. <query id="BuyGpDAL.selectRptDaySCKB4" desc="日生产运行快报(总调)数据">
  7574. <![CDATA[
  7575. WITH
  7576. /**********************************形成表结构**************************************/
  7577. T00 AS
  7578. (
  7579. SELECT * FROM
  7580. (
  7581. SELECT T.PLINE_CODE,
  7582. T.PLINE_NAME,
  7583. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  7584. CASE WHEN T.PLINE_CODE IN ('C022','C023','C024','C025','C026') THEN 'F1'
  7585. WHEN T.PLINE_CODE IN ('C049','C050') THEN 'F2'
  7586. WHEN T.PLINE_CODE IN ('C054','C055','C048') THEN 'F3'
  7587. ELSE T.PROCESS_CODE END PROCESS_CODE,
  7588. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4,'C022',6,'C023',7,'C024',8,'C025',9,
  7589. 'C026',10,'C049',12,'C050',13,'C054',15,'C055',16,'C048',17) PLINEORDER
  7590. FROM COM_BASE_PLINE T
  7591. WHERE T.PROCESS_CODE IN ('A', 'D','F')
  7592. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017','C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')
  7593. UNION ALL
  7594. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  7595. UNION ALL
  7596. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  7597. UNION ALL
  7598. SELECT NULL,'合计','本部','F',11 FROM DUAL
  7599. UNION ALL
  7600. SELECT NULL,'合计','元通','F',14 FROM DUAL
  7601. UNION ALL
  7602. SELECT NULL,'合计','深加工','F',18 FROM DUAL
  7603. )ta,
  7604. (
  7605. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  7606. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  7607. FROM DUAL
  7608. )tb
  7609. ),
  7610. /**********************************炼钢时间范围查询**************************************/
  7611. T10 AS
  7612. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7613. FROM (SELECT T10.CONTROL_ID,
  7614. T10.STOP_REASON,
  7615. T10.LOGS_BEG,
  7616. T10.LOGS_END,
  7617. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7618. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7619. (SELECT BASENAME
  7620. FROM COM_BASE_INFO
  7621. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  7622. (SELECT PROPERA
  7623. FROM COM_BASE_INFO
  7624. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  7625. (SELECT PLINE_NAME
  7626. FROM COM_BASE_PLINE
  7627. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  7628. CASE
  7629. WHEN (SELECT PROPERA
  7630. FROM COM_BASE_INFO
  7631. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  7632. (SELECT BASENAME
  7633. FROM COM_BASE_INFO
  7634. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  7635. 'ZCNB'
  7636. WHEN (SELECT PROPERA
  7637. FROM COM_BASE_INFO
  7638. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  7639. (SELECT BASENAME
  7640. FROM COM_BASE_INFO
  7641. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  7642. 'ZCWB'
  7643. WHEN (SELECT PROPERA
  7644. FROM COM_BASE_INFO
  7645. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  7646. (SELECT BASENAME
  7647. FROM COM_BASE_INFO
  7648. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  7649. 'YCNB'
  7650. WHEN (SELECT PROPERA
  7651. FROM COM_BASE_INFO
  7652. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  7653. (SELECT BASENAME
  7654. FROM COM_BASE_INFO
  7655. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  7656. 'YCWB'
  7657. END TJREASON
  7658. FROM STL_CONTROL_LOG T10
  7659. WHERE T10.PRO_TYPE = '2'
  7660. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7661. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7662. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7663. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7664. AND T10.STOP_TYPE IN ('300101', '300102')
  7665. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  7666. AND EXISTS (SELECT *
  7667. FROM COM_BASE_INFO
  7668. WHERE BASECODE = T10.STOP_REASON
  7669. AND VALIDFLAG = '1')) TA
  7670. GROUP BY TA.PLINENAME, TA.TJREASON),
  7671. T11 AS
  7672. (SELECT 'A' PROCESS_CODE,
  7673. PLINENAME,
  7674. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  7675. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  7676. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  7677. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  7678. SUM(TJTIME) TJTIMETOTAL,
  7679. 24 * 60 * #DAYS# TIMETOTAL
  7680. FROM T10
  7681. GROUP BY PLINENAME),
  7682. /**********************************炼钢日范围查询**************************************/
  7683. T12 AS
  7684. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7685. FROM (SELECT T10.CONTROL_ID,
  7686. T10.STOP_REASON,
  7687. T10.LOGS_BEG,
  7688. T10.LOGS_END,
  7689. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7690. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7691. (SELECT BASENAME
  7692. FROM COM_BASE_INFO
  7693. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  7694. (SELECT PROPERA
  7695. FROM COM_BASE_INFO
  7696. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  7697. (SELECT PLINE_NAME
  7698. FROM COM_BASE_PLINE
  7699. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  7700. CASE
  7701. WHEN (SELECT PROPERA
  7702. FROM COM_BASE_INFO
  7703. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  7704. (SELECT BASENAME
  7705. FROM COM_BASE_INFO
  7706. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  7707. 'ZCNB'
  7708. WHEN (SELECT PROPERA
  7709. FROM COM_BASE_INFO
  7710. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  7711. (SELECT BASENAME
  7712. FROM COM_BASE_INFO
  7713. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  7714. 'ZCWB'
  7715. WHEN (SELECT PROPERA
  7716. FROM COM_BASE_INFO
  7717. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  7718. (SELECT BASENAME
  7719. FROM COM_BASE_INFO
  7720. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  7721. 'YCNB'
  7722. WHEN (SELECT PROPERA
  7723. FROM COM_BASE_INFO
  7724. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  7725. (SELECT BASENAME
  7726. FROM COM_BASE_INFO
  7727. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  7728. 'YCWB'
  7729. END TJREASON
  7730. FROM STL_CONTROL_LOG T10
  7731. WHERE T10.PRO_TYPE = '2'
  7732. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7733. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7734. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7735. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7736. AND T10.STOP_TYPE IN ('300101', '300102')
  7737. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  7738. AND EXISTS (SELECT *
  7739. FROM COM_BASE_INFO
  7740. WHERE BASECODE = T10.STOP_REASON
  7741. AND VALIDFLAG = '1')) TA
  7742. GROUP BY TA.PLINENAME, TA.TJREASON),
  7743. T13 AS
  7744. (SELECT 'A' PROCESS_CODE,
  7745. PLINENAME ,
  7746. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  7747. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  7748. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  7749. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  7750. SUM(TJTIME) TJTIMETOTALDAY,
  7751. 24 * 60 TIMETOTALDAY
  7752. FROM T12
  7753. GROUP BY PLINENAME),
  7754. /********炼钢累计数值*******/
  7755. T14 AS
  7756. (
  7757. SELECT * FROM T11
  7758. UNION ALL
  7759. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  7760. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  7761. ),
  7762. /********炼钢日数值*******/
  7763. T15 AS
  7764. (
  7765. SELECT * FROM T13
  7766. UNION ALL
  7767. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  7768. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  7769. ),
  7770. /**********************************轧管时间范围查询**************************************/
  7771. T AS
  7772. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7773. FROM (SELECT T.CONTROL_ID,
  7774. T.STOP_REASON,
  7775. T.LOGS_BEG,
  7776. T.LOGS_END,
  7777. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7778. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7779. (SELECT BASENAME
  7780. FROM COM_BASE_INFO
  7781. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7782. (SELECT PROPERA
  7783. FROM COM_BASE_INFO
  7784. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7785. (SELECT PLINE_NAME
  7786. FROM COM_BASE_PLINE
  7787. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7788. CASE
  7789. WHEN (SELECT PROPERA
  7790. FROM COM_BASE_INFO
  7791. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7792. (SELECT BASENAME
  7793. FROM COM_BASE_INFO
  7794. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7795. 'ZCNB'
  7796. WHEN (SELECT PROPERA
  7797. FROM COM_BASE_INFO
  7798. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7799. (SELECT BASENAME
  7800. FROM COM_BASE_INFO
  7801. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7802. 'ZCWB'
  7803. WHEN (SELECT PROPERA
  7804. FROM COM_BASE_INFO
  7805. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7806. (SELECT BASENAME
  7807. FROM COM_BASE_INFO
  7808. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7809. 'YCNB'
  7810. WHEN (SELECT PROPERA
  7811. FROM COM_BASE_INFO
  7812. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7813. (SELECT BASENAME
  7814. FROM COM_BASE_INFO
  7815. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7816. 'YCWB'
  7817. END TJREASON
  7818. FROM MIL_CONTROL_LOG T
  7819. WHERE T.PRO_TYPE = '2'
  7820. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7821. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7822. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7823. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7824. AND T.STOP_TYPE IN ('500601', '500602')
  7825. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  7826. AND EXISTS (SELECT *
  7827. FROM COM_BASE_INFO
  7828. WHERE BASECODE = T.STOP_REASON
  7829. AND VALIDFLAG = '1')) TA
  7830. GROUP BY TA.PLINENAME, TA.TJREASON),
  7831. T1 AS
  7832. (SELECT 'D' PROCESS_CODE,
  7833. PLINENAME,
  7834. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  7835. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  7836. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  7837. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  7838. SUM(TJTIME) TJTIMETOTAL,
  7839. 24 * 60 * #DAYS# TIMETOTAL
  7840. FROM T
  7841. GROUP BY PLINENAME),
  7842. /**********************************轧管日范围查询**************************************/
  7843. T2 AS
  7844. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7845. FROM (SELECT T.CONTROL_ID,
  7846. T.STOP_REASON,
  7847. T.LOGS_BEG,
  7848. T.LOGS_END,
  7849. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7850. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7851. (SELECT BASENAME
  7852. FROM COM_BASE_INFO
  7853. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7854. (SELECT PROPERA
  7855. FROM COM_BASE_INFO
  7856. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7857. (SELECT PLINE_NAME
  7858. FROM COM_BASE_PLINE
  7859. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7860. CASE
  7861. WHEN (SELECT PROPERA
  7862. FROM COM_BASE_INFO
  7863. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7864. (SELECT BASENAME
  7865. FROM COM_BASE_INFO
  7866. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7867. 'ZCNB'
  7868. WHEN (SELECT PROPERA
  7869. FROM COM_BASE_INFO
  7870. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7871. (SELECT BASENAME
  7872. FROM COM_BASE_INFO
  7873. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7874. 'ZCWB'
  7875. WHEN (SELECT PROPERA
  7876. FROM COM_BASE_INFO
  7877. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7878. (SELECT BASENAME
  7879. FROM COM_BASE_INFO
  7880. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7881. 'YCNB'
  7882. WHEN (SELECT PROPERA
  7883. FROM COM_BASE_INFO
  7884. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7885. (SELECT BASENAME
  7886. FROM COM_BASE_INFO
  7887. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7888. 'YCWB'
  7889. END TJREASON
  7890. FROM MIL_CONTROL_LOG T
  7891. WHERE T.PRO_TYPE = '2'
  7892. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7893. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7894. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7895. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7896. AND T.STOP_TYPE IN ('500601', '500602')
  7897. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  7898. AND EXISTS (SELECT *
  7899. FROM COM_BASE_INFO
  7900. WHERE BASECODE = T.STOP_REASON
  7901. AND VALIDFLAG = '1')) TA
  7902. GROUP BY TA.PLINENAME, TA.TJREASON),
  7903. T3 AS
  7904. (SELECT 'D' PROCESS_CODE,
  7905. PLINENAME ,
  7906. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  7907. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  7908. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  7909. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  7910. SUM(TJTIME) TJTIMETOTALDAY,
  7911. 24 * 60 TIMETOTALDAY
  7912. FROM T2
  7913. GROUP BY PLINENAME),
  7914. /********轧管累计数值*******/
  7915. T4 AS
  7916. (
  7917. SELECT * FROM T1
  7918. UNION ALL
  7919. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  7920. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  7921. ),
  7922. /********轧管日数值*******/
  7923. T5 AS
  7924. (
  7925. SELECT * FROM T3
  7926. UNION ALL
  7927. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  7928. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  7929. ),
  7930. /**********************************热处理时间范围查询**************************************/
  7931. T30 AS
  7932. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  7933. FROM (SELECT T.CONTROL_ID,
  7934. T.STOP_REASON,
  7935. T.LOGS_BEG,
  7936. T.LOGS_END,
  7937. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  7938. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  7939. (SELECT BASENAME
  7940. FROM COM_BASE_INFO
  7941. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  7942. (SELECT PROPERA
  7943. FROM COM_BASE_INFO
  7944. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  7945. (SELECT PLINE_NAME
  7946. FROM COM_BASE_PLINE
  7947. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  7948. CASE
  7949. WHEN (SELECT PROPERA
  7950. FROM COM_BASE_INFO
  7951. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7952. (SELECT BASENAME
  7953. FROM COM_BASE_INFO
  7954. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7955. 'ZCNB'
  7956. WHEN (SELECT PROPERA
  7957. FROM COM_BASE_INFO
  7958. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  7959. (SELECT BASENAME
  7960. FROM COM_BASE_INFO
  7961. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7962. 'ZCWB'
  7963. WHEN (SELECT PROPERA
  7964. FROM COM_BASE_INFO
  7965. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7966. (SELECT BASENAME
  7967. FROM COM_BASE_INFO
  7968. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  7969. 'YCNB'
  7970. WHEN (SELECT PROPERA
  7971. FROM COM_BASE_INFO
  7972. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  7973. (SELECT BASENAME
  7974. FROM COM_BASE_INFO
  7975. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  7976. 'YCWB'
  7977. END TJREASON
  7978. FROM (SELECT t1.control_id,t1.logs_beg,t1.logs_end,
  7979. t.pline_code,t1.stop_type,t1.stop_reason,t1.stop_small
  7980. FROM HTT_CONTROL_LOG t,HTT_CONTROL_LOG_DETAIL t1
  7981. WHERE t.pro_type ='2' AND t.control_id = t1.control_id
  7982. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  7983. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7984. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  7985. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  7986. AND t.pline_code IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T
  7987. WHERE 1=1
  7988. AND EXISTS (SELECT *
  7989. FROM COM_BASE_INFO
  7990. WHERE BASECODE = T.STOP_REASON
  7991. AND VALIDFLAG = '1')) TA
  7992. GROUP BY TA.PLINENAME, TA.TJREASON),
  7993. T31 AS
  7994. (SELECT 'F' PROCESS_CODE,
  7995. PLINENAME,
  7996. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  7997. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  7998. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  7999. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  8000. SUM(TJTIME) TJTIMETOTAL,
  8001. 24 * 60 * 8 TIMETOTAL
  8002. FROM T30
  8003. GROUP BY PLINENAME),
  8004. /**********************************热处理日范围查询**************************************/
  8005. T32 AS
  8006. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8007. FROM (SELECT T.CONTROL_ID,
  8008. T.STOP_REASON,
  8009. T.LOGS_BEG,
  8010. T.LOGS_END,
  8011. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8012. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8013. (SELECT BASENAME
  8014. FROM COM_BASE_INFO
  8015. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  8016. (SELECT PROPERA
  8017. FROM COM_BASE_INFO
  8018. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  8019. (SELECT PLINE_NAME
  8020. FROM COM_BASE_PLINE
  8021. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  8022. CASE
  8023. WHEN (SELECT PROPERA
  8024. FROM COM_BASE_INFO
  8025. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8026. (SELECT BASENAME
  8027. FROM COM_BASE_INFO
  8028. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8029. 'ZCNB'
  8030. WHEN (SELECT PROPERA
  8031. FROM COM_BASE_INFO
  8032. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8033. (SELECT BASENAME
  8034. FROM COM_BASE_INFO
  8035. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8036. 'ZCWB'
  8037. WHEN (SELECT PROPERA
  8038. FROM COM_BASE_INFO
  8039. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8040. (SELECT BASENAME
  8041. FROM COM_BASE_INFO
  8042. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8043. 'YCNB'
  8044. WHEN (SELECT PROPERA
  8045. FROM COM_BASE_INFO
  8046. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8047. (SELECT BASENAME
  8048. FROM COM_BASE_INFO
  8049. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8050. 'YCWB'
  8051. END TJREASON
  8052. FROM (SELECT t1.control_id,t1.logs_beg,t1.logs_end,
  8053. t.pline_code,t1.stop_type,t1.stop_reason,t1.stop_small
  8054. FROM HTT_CONTROL_LOG t,HTT_CONTROL_LOG_DETAIL t1
  8055. WHERE t.pro_type ='2' AND t.control_id = t1.control_id
  8056. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8057. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8058. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8059. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8060. AND t.pline_code IN ('C022','C023','C024','C025','C026','C049','C050','C054','C055','C048')) T
  8061. WHERE 1=1
  8062. AND EXISTS (SELECT *
  8063. FROM COM_BASE_INFO
  8064. WHERE BASECODE = T.STOP_REASON
  8065. AND VALIDFLAG = '1')) TA
  8066. GROUP BY TA.PLINENAME, TA.TJREASON),
  8067. T33 AS
  8068. (SELECT 'F' PROCESS_CODE,
  8069. PLINENAME ,
  8070. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  8071. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  8072. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  8073. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  8074. SUM(TJTIME) TJTIMETOTALDAY,
  8075. 24 * 60 TIMETOTALDAY
  8076. FROM T32
  8077. GROUP BY PLINENAME),
  8078. /********热处理累计数值*******/
  8079. T34 AS
  8080. (
  8081. SELECT * FROM T31
  8082. UNION ALL
  8083. SELECT 'F' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  8084. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T31
  8085. ),
  8086. /********热处理日数值*******/
  8087. T35 AS
  8088. (
  8089. SELECT * FROM T33
  8090. UNION ALL
  8091. SELECT 'F' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  8092. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  8093. ),
  8094. T99
  8095. AS
  8096. (
  8097. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE,
  8098. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),'D',NVL(T4.ZCNB,T00.ZCNB),'F',NVL(T34.ZCNB,T00.ZCNB),T00.ZCNB) ZCNB,
  8099. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),'D',NVL(T4.ZCWB,T00.ZCWB),'F',NVL(T34.ZCWB,T00.ZCWB),T00.ZCWB) ZCWB,
  8100. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),'D',NVL(T4.YCNB,T00.YCNB),'F',NVL(T34.YCNB,T00.YCNB),T00.YCNB) YCNB,
  8101. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),'D',NVL(T4.YCWB,T00.YCWB),'F',NVL(T34.YCWB,T00.YCWB),T00.YCWB) YCWB,
  8102. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),'F',NVL(T34.TJTIMETOTAL,T00.TJTIMETOTAL),T00.TJTIMETOTAL) TJTIMETOTAL,
  8103. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),'F',NVL(T34.TIMETOTAL,T00.TIMETOTAL),T00.TIMETOTAL) TIMETOTAL,
  8104. YXNB,YXZH,DAYZYL,
  8105. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),'F',NVL(T35.ZCNBDAY,T00.ZCNBDAY),T00.ZCNBDAY) ZCNBDAY,
  8106. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),'F',NVL(T35.ZCWBDAY,T00.ZCWBDAY),T00.ZCWBDAY) ZCWBDAY,
  8107. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),'D',NVL(T5.YCNBDAY,T00.YCNBDAY),'F',NVL(T35.YCNBDAY,T00.YCNBDAY),T00.YCNBDAY) YCNBDAY,
  8108. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),'D',NVL(T5.YCWBDAY,T00.YCWBDAY),'F',NVL(T5.YCWBDAY,T00.YCWBDAY),T00.YCWBDAY) YCWBDAY,
  8109. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'F',NVL(T35.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  8110. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),'F',NVL(T35.TIMETOTALDAY,T00.TIMETOTALDAY),T00.TIMETOTALDAY) TIMETOTALDAY,
  8111. YXNBDAY,YXZHDAY,DAYZYLDAY
  8112. FROM T00,T14,T15,T4,T5,T34,T35
  8113. WHERE 1=1
  8114. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  8115. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  8116. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  8117. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  8118. AND T00.PROCESS_CODE = T34.PROCESS_CODE(+) AND T00.PLINE_NAME = T34.PLINENAME(+)
  8119. AND T00.PROCESS_CODE = T35.PROCESS_CODE(+) AND T00.PLINE_NAME = T35.PLINENAME(+)
  8120. ),
  8121. T100
  8122. AS
  8123. (
  8124. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  8125. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  8126. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  8127. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  8128. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  8129. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  8130. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  8131. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  8132. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  8133. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  8134. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  8135. WHEN NVL(YCNBDAY,0) + NVL(YCWBDAY,0) =0 THEN '100.00'
  8136. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  8137. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  8138. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  8139. FROM T99
  8140. )
  8141. SELECT PLINEORDER,PROCESS_DESC DEPT,PLINE_NAME PLINENAME,PLINE_CODE PLINECODE,
  8142. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  8143. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  8144. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  8145. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  8146. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  8147. TIMETOTAL,
  8148. YXNB,YXZH,DAYZYL,
  8149. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  8150. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  8151. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  8152. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  8153. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  8154. TIMETOTALDAY,
  8155. YXNBDAY,YXZHDAY,DAYZYLDAY
  8156. FROM T100
  8157. ORDER BY PLINEORDER
  8158. ]]>
  8159. </query>
  8160. <query id="BuyGpDAL.selectRptDaySCKB3" desc="日生产运行快报(总调)数据">
  8161. <![CDATA[
  8162. WITH
  8163. /**********************************形成表结构**************************************/
  8164. T00 AS
  8165. (
  8166. SELECT * FROM
  8167. (
  8168. SELECT T.PLINE_CODE,
  8169. T.PLINE_NAME,
  8170. DECODE(T.PROCESS_DESC, '轧制', '轧管', T.PROCESS_DESC) PROCESS_DESC,
  8171. T.PROCESS_CODE,
  8172. DECODE(T.PLINE_CODE,'C001',-5,'C003',-4,'C008',1,'C009',2,'C010',3,'C017',4) PLINEORDER
  8173. FROM COM_BASE_PLINE T
  8174. WHERE T.PROCESS_CODE IN ('A', 'D')
  8175. AND T.PLINE_CODE IN ('C001', 'C003', 'C008', 'C009', 'C010', 'C017')
  8176. UNION ALL
  8177. SELECT NULL,'合计','炼钢','A',-1 FROM DUAL
  8178. UNION ALL
  8179. SELECT NULL,'合计','轧管','D',5 FROM DUAL
  8180. )ta,
  8181. (
  8182. SELECT NULL ZCNB,NULL ZCWB,NULL YCNB,NULL YCWB,NULL TJTIMETOTAL,NULL TIMETOTAL,NULL YXNB,NULL YXZH,NULL DAYZYL,
  8183. NULL ZCNBDAY,NULL ZCWBDAY,NULL YCNBDAY,NULL YCWBDAY,NULL TJTIMETOTALDAY,NULL TIMETOTALDAY,NULL YXNBDAY,NULL YXZHDAY,NULL DAYZYLDAY
  8184. FROM DUAL
  8185. )tb
  8186. ),
  8187. /**********************************炼钢时间范围查询**************************************/
  8188. T10 AS
  8189. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8190. FROM (SELECT T10.CONTROL_ID,
  8191. T10.STOP_REASON,
  8192. T10.LOGS_BEG,
  8193. T10.LOGS_END,
  8194. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8195. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8196. (SELECT BASENAME
  8197. FROM COM_BASE_INFO
  8198. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  8199. (SELECT PROPERA
  8200. FROM COM_BASE_INFO
  8201. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  8202. (SELECT PLINE_NAME
  8203. FROM COM_BASE_PLINE
  8204. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  8205. CASE
  8206. WHEN (SELECT PROPERA
  8207. FROM COM_BASE_INFO
  8208. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8209. (SELECT BASENAME
  8210. FROM COM_BASE_INFO
  8211. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8212. 'ZCNB'
  8213. WHEN (SELECT PROPERA
  8214. FROM COM_BASE_INFO
  8215. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8216. (SELECT BASENAME
  8217. FROM COM_BASE_INFO
  8218. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8219. 'ZCWB'
  8220. WHEN (SELECT PROPERA
  8221. FROM COM_BASE_INFO
  8222. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8223. (SELECT BASENAME
  8224. FROM COM_BASE_INFO
  8225. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8226. 'YCNB'
  8227. WHEN (SELECT PROPERA
  8228. FROM COM_BASE_INFO
  8229. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8230. (SELECT BASENAME
  8231. FROM COM_BASE_INFO
  8232. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8233. 'YCWB'
  8234. END TJREASON
  8235. FROM STL_CONTROL_LOG T10
  8236. WHERE T10.PRO_TYPE = '2'
  8237. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8238. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8239. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8240. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8241. AND T10.STOP_TYPE IN ('300101', '300102')
  8242. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  8243. AND EXISTS (SELECT *
  8244. FROM COM_BASE_INFO
  8245. WHERE BASECODE = T10.STOP_REASON
  8246. AND VALIDFLAG = '1')) TA
  8247. GROUP BY TA.PLINENAME, TA.TJREASON),
  8248. T11 AS
  8249. (SELECT 'A' PROCESS_CODE,
  8250. PLINENAME,
  8251. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  8252. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  8253. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  8254. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  8255. SUM(TJTIME) TJTIMETOTAL,
  8256. 24 * 60 * #DAYS# TIMETOTAL
  8257. FROM T10
  8258. GROUP BY PLINENAME),
  8259. /**********************************炼钢日范围查询**************************************/
  8260. T12 AS
  8261. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8262. FROM (SELECT T10.CONTROL_ID,
  8263. T10.STOP_REASON,
  8264. T10.LOGS_BEG,
  8265. T10.LOGS_END,
  8266. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8267. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8268. (SELECT BASENAME
  8269. FROM COM_BASE_INFO
  8270. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  8271. (SELECT PROPERA
  8272. FROM COM_BASE_INFO
  8273. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  8274. (SELECT PLINE_NAME
  8275. FROM COM_BASE_PLINE
  8276. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  8277. CASE
  8278. WHEN (SELECT PROPERA
  8279. FROM COM_BASE_INFO
  8280. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8281. (SELECT BASENAME
  8282. FROM COM_BASE_INFO
  8283. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8284. 'ZCNB'
  8285. WHEN (SELECT PROPERA
  8286. FROM COM_BASE_INFO
  8287. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8288. (SELECT BASENAME
  8289. FROM COM_BASE_INFO
  8290. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8291. 'ZCWB'
  8292. WHEN (SELECT PROPERA
  8293. FROM COM_BASE_INFO
  8294. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8295. (SELECT BASENAME
  8296. FROM COM_BASE_INFO
  8297. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8298. 'YCNB'
  8299. WHEN (SELECT PROPERA
  8300. FROM COM_BASE_INFO
  8301. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8302. (SELECT BASENAME
  8303. FROM COM_BASE_INFO
  8304. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8305. 'YCWB'
  8306. END TJREASON
  8307. FROM STL_CONTROL_LOG T10
  8308. WHERE T10.PRO_TYPE = '2'
  8309. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8310. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8311. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8312. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8313. AND T10.STOP_TYPE IN ('300101', '300102')
  8314. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  8315. AND EXISTS (SELECT *
  8316. FROM COM_BASE_INFO
  8317. WHERE BASECODE = T10.STOP_REASON
  8318. AND VALIDFLAG = '1')) TA
  8319. GROUP BY TA.PLINENAME, TA.TJREASON),
  8320. T13 AS
  8321. (SELECT 'A' PROCESS_CODE,
  8322. PLINENAME ,
  8323. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  8324. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  8325. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  8326. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  8327. SUM(TJTIME) TJTIMETOTALDAY,
  8328. 24 * 60 TIMETOTALDAY
  8329. FROM T12
  8330. GROUP BY PLINENAME),
  8331. /********炼钢累计数值*******/
  8332. T14 AS
  8333. (
  8334. SELECT * FROM T11
  8335. UNION ALL
  8336. SELECT 'A' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  8337. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T11
  8338. ),
  8339. /********炼钢日数值*******/
  8340. T15 AS
  8341. (
  8342. SELECT * FROM T13
  8343. UNION ALL
  8344. SELECT 'A' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  8345. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T13
  8346. ),
  8347. /**********************************轧管时间范围查询**************************************/
  8348. T AS
  8349. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8350. FROM (SELECT T.CONTROL_ID,
  8351. T.STOP_REASON,
  8352. T.LOGS_BEG,
  8353. T.LOGS_END,
  8354. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8355. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8356. (SELECT BASENAME
  8357. FROM COM_BASE_INFO
  8358. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  8359. (SELECT PROPERA
  8360. FROM COM_BASE_INFO
  8361. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  8362. (SELECT PLINE_NAME
  8363. FROM COM_BASE_PLINE
  8364. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  8365. CASE
  8366. WHEN (SELECT PROPERA
  8367. FROM COM_BASE_INFO
  8368. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8369. (SELECT BASENAME
  8370. FROM COM_BASE_INFO
  8371. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8372. 'ZCNB'
  8373. WHEN (SELECT PROPERA
  8374. FROM COM_BASE_INFO
  8375. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8376. (SELECT BASENAME
  8377. FROM COM_BASE_INFO
  8378. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8379. 'ZCWB'
  8380. WHEN (SELECT PROPERA
  8381. FROM COM_BASE_INFO
  8382. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8383. (SELECT BASENAME
  8384. FROM COM_BASE_INFO
  8385. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8386. 'YCNB'
  8387. WHEN (SELECT PROPERA
  8388. FROM COM_BASE_INFO
  8389. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8390. (SELECT BASENAME
  8391. FROM COM_BASE_INFO
  8392. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8393. 'YCWB'
  8394. END TJREASON
  8395. FROM MIL_CONTROL_LOG T
  8396. WHERE T.PRO_TYPE = '2'
  8397. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8398. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8399. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8400. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8401. AND T.STOP_TYPE IN ('500601', '500602')
  8402. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  8403. AND EXISTS (SELECT *
  8404. FROM COM_BASE_INFO
  8405. WHERE BASECODE = T.STOP_REASON
  8406. AND VALIDFLAG = '1')) TA
  8407. GROUP BY TA.PLINENAME, TA.TJREASON),
  8408. T1 AS
  8409. (SELECT 'D' PROCESS_CODE,
  8410. PLINENAME,
  8411. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  8412. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  8413. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  8414. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  8415. SUM(TJTIME) TJTIMETOTAL,
  8416. 24 * 60 * #DAYS# TIMETOTAL
  8417. FROM T
  8418. GROUP BY PLINENAME),
  8419. /**********************************轧管日范围查询**************************************/
  8420. T2 AS
  8421. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8422. FROM (SELECT T.CONTROL_ID,
  8423. T.STOP_REASON,
  8424. T.LOGS_BEG,
  8425. T.LOGS_END,
  8426. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8427. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8428. (SELECT BASENAME
  8429. FROM COM_BASE_INFO
  8430. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  8431. (SELECT PROPERA
  8432. FROM COM_BASE_INFO
  8433. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  8434. (SELECT PLINE_NAME
  8435. FROM COM_BASE_PLINE
  8436. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  8437. CASE
  8438. WHEN (SELECT PROPERA
  8439. FROM COM_BASE_INFO
  8440. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8441. (SELECT BASENAME
  8442. FROM COM_BASE_INFO
  8443. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8444. 'ZCNB'
  8445. WHEN (SELECT PROPERA
  8446. FROM COM_BASE_INFO
  8447. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8448. (SELECT BASENAME
  8449. FROM COM_BASE_INFO
  8450. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8451. 'ZCWB'
  8452. WHEN (SELECT PROPERA
  8453. FROM COM_BASE_INFO
  8454. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8455. (SELECT BASENAME
  8456. FROM COM_BASE_INFO
  8457. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8458. 'YCNB'
  8459. WHEN (SELECT PROPERA
  8460. FROM COM_BASE_INFO
  8461. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8462. (SELECT BASENAME
  8463. FROM COM_BASE_INFO
  8464. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8465. 'YCWB'
  8466. END TJREASON
  8467. FROM MIL_CONTROL_LOG T
  8468. WHERE T.PRO_TYPE = '2'
  8469. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8470. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8471. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8472. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8473. AND T.STOP_TYPE IN ('500601', '500602')
  8474. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  8475. AND EXISTS (SELECT *
  8476. FROM COM_BASE_INFO
  8477. WHERE BASECODE = T.STOP_REASON
  8478. AND VALIDFLAG = '1')) TA
  8479. GROUP BY TA.PLINENAME, TA.TJREASON),
  8480. T3 AS
  8481. (SELECT 'D' PROCESS_CODE,
  8482. PLINENAME ,
  8483. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  8484. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  8485. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  8486. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  8487. SUM(TJTIME) TJTIMETOTALDAY,
  8488. 24 * 60 TIMETOTALDAY
  8489. FROM T2
  8490. GROUP BY PLINENAME),
  8491. /********轧管累计数值*******/
  8492. T4 AS
  8493. (
  8494. SELECT * FROM T1
  8495. UNION ALL
  8496. SELECT 'D' PROCESS_CODE ,'合计' PLINENAME,SUM(ZCNB) ZCNB,SUM(ZCWB)ZCWB,SUM(YCNB) YCNB,SUM(YCWB) YCWB,
  8497. SUM(TJTIMETOTAL) TJTIMETOTAL,SUM(TIMETOTAL) TIMETOTAL FROM T1
  8498. ),
  8499. /********轧管日数值*******/
  8500. T5 AS
  8501. (
  8502. SELECT * FROM T3
  8503. UNION ALL
  8504. SELECT 'D' PROCESS_CODE,'合计' PLINENAME,SUM(ZCNBDAY) ZCNBDAY,SUM(ZCWBDAY)ZCWBDAY,SUM(YCNBDAY) YCNBDAY,SUM(YCWBDAY) YCWBDAY,
  8505. SUM(TJTIMETOTALDAY) TJTIMETOTALDAY,SUM(TIMETOTALDAY) TIMETOTALDAY FROM T3
  8506. ),
  8507. T99
  8508. AS
  8509. (
  8510. SELECT T00.PLINEORDER,T00.PROCESS_DESC,T00.PLINE_NAME,PLINE_CODE,
  8511. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCNB,T00.ZCNB),'D',NVL(T4.ZCNB,T00.ZCNB),T00.ZCNB) ZCNB,
  8512. DECODE(T00.PROCESS_CODE,'A',NVL(T14.ZCWB,T00.ZCWB),'D',NVL(T4.ZCWB,T00.ZCWB),T00.ZCWB) ZCWB,
  8513. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCNB,T00.YCNB),'D',NVL(T4.YCNB,T00.YCNB),T00.YCNB) YCNB,
  8514. DECODE(T00.PROCESS_CODE,'A',NVL(T14.YCWB,T00.YCWB),'D',NVL(T4.YCWB,T00.YCWB),T00.YCWB) YCWB,
  8515. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TJTIMETOTAL,T00.TJTIMETOTAL),'D',NVL(T4.TJTIMETOTAL,T00.TJTIMETOTAL),T00.TJTIMETOTAL) TJTIMETOTAL,
  8516. DECODE(T00.PROCESS_CODE,'A',NVL(T14.TIMETOTAL,T00.TIMETOTAL),'D',NVL(T4.TIMETOTAL,T00.TIMETOTAL),T00.TIMETOTAL) TIMETOTAL,
  8517. YXNB,YXZH,DAYZYL,
  8518. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCNBDAY,T00.ZCNBDAY),'D',NVL(T5.ZCNBDAY,T00.ZCNBDAY),T00.ZCNBDAY) ZCNBDAY,
  8519. DECODE(T00.PROCESS_CODE,'A',NVL(T15.ZCWBDAY,T00.ZCWBDAY),'D',NVL(T5.ZCWBDAY,T00.ZCWBDAY),T00.ZCWBDAY) ZCWBDAY,
  8520. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCNBDAY,T00.YCNBDAY),'D',NVL(T5.YCNBDAY,T00.YCNBDAY),T00.YCNBDAY) YCNBDAY,
  8521. DECODE(T00.PROCESS_CODE,'A',NVL(T15.YCWBDAY,T00.YCWBDAY),'D',NVL(T5.YCWBDAY,T00.YCWBDAY),T00.YCWBDAY) YCWBDAY,
  8522. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),'D',NVL(T5.TJTIMETOTALDAY,T00.TJTIMETOTALDAY),T00.TJTIMETOTALDAY) TJTIMETOTALDAY,
  8523. DECODE(T00.PROCESS_CODE,'A',NVL(T15.TIMETOTALDAY,T00.TIMETOTALDAY),'D',NVL(T5.TIMETOTALDAY,T00.TIMETOTALDAY),T00.TIMETOTALDAY) TIMETOTALDAY,
  8524. YXNBDAY,YXZHDAY,DAYZYLDAY
  8525. FROM T00,T14,T15,T4,T5
  8526. WHERE 1=1
  8527. AND T00.PROCESS_CODE = T14.PROCESS_CODE(+) AND T00.PLINE_NAME = T14.PLINENAME(+)
  8528. AND T00.PROCESS_CODE = T15.PROCESS_CODE(+) AND T00.PLINE_NAME = T15.PLINENAME(+)
  8529. AND T00.PROCESS_CODE = T4.PROCESS_CODE(+) AND T00.PLINE_NAME = T4.PLINENAME(+)
  8530. AND T00.PROCESS_CODE = T5.PROCESS_CODE(+) AND T00.PLINE_NAME = T5.PLINENAME(+)
  8531. ),
  8532. T100
  8533. AS
  8534. (
  8535. SELECT PLINEORDER,PROCESS_DESC,PLINE_NAME,PLINE_CODE,ZCNB,ZCWB,YCNB,YCWB,TJTIMETOTAL,TIMETOTAL,
  8536. CASE WHEN TJTIMETOTAL=TIMETOTAL AND TJTIMETOTAL=YCNB THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00' WHEN TJTIMETOTAL=TIMETOTAL THEN '100.00'
  8537. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),'fm99999999999990.00') END || '%' YXNB,
  8538. CASE WHEN TJTIMETOTAL=TIMETOTAL AND (TJTIMETOTAL=YCNB OR TJTIMETOTAL=YCWB) THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  8539. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /(TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)+NVL(YCWB, 0)),'fm99999999999990.00') END || '%' YXZH,
  8540. CASE WHEN TJTIMETOTAL=TIMETOTAL THEN '0.00' WHEN TJTIMETOTAL IS NULL THEN '100.00'
  8541. ELSE TO_CHAR((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /TIMETOTAL,'fm99999999999990.00') END || '%' DAYZYL,
  8542. ZCNBDAY,ZCWBDAY,YCNBDAY,YCWBDAY,TJTIMETOTALDAY,TIMETOTALDAY,
  8543. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND TJTIMETOTALDAY=YCNBDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00' WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '100.00'
  8544. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)),'fm99999999999990.00') END || '%' YXNBDAY,
  8545. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY AND (TJTIMETOTALDAY=YCNBDAY OR TJTIMETOTALDAY=YCWBDAY) THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  8546. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /(TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) + NVL(YCNBDAY, 0)+NVL(YCWBDAY, 0)),'fm99999999999990.00') END || '%' YXZHDAY,
  8547. CASE WHEN TJTIMETOTALDAY=TIMETOTALDAY THEN '0.00' WHEN TJTIMETOTALDAY IS NULL THEN '100.00'
  8548. ELSE TO_CHAR((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /TIMETOTALDAY,'fm99999999999990.00') END || '%' DAYZYLDAY
  8549. FROM T99
  8550. )
  8551. SELECT PLINEORDER,PROCESS_DESC DEPT,PLINE_NAME PLINENAME,PLINE_CODE PLINECODE,
  8552. TO_CHAR(ZCNB/60,'fm99999999999990.00') ZCNB,
  8553. TO_CHAR(ZCWB/60,'fm99999999999990.00') ZCWB,
  8554. TO_CHAR(YCNB/60,'fm99999999999990.00') YCNB,
  8555. TO_CHAR(YCWB/60,'fm99999999999990.00') YCWB,
  8556. TO_CHAR(TJTIMETOTAL/60,'fm99999999999990.00') TJTIMETOTAL,
  8557. TIMETOTAL,
  8558. YXNB,YXZH,DAYZYL,
  8559. TO_CHAR(ZCNBDAY/60,'fm99999999999990.00') ZCNBDAY,
  8560. TO_CHAR(ZCWBDAY/60,'fm99999999999990.00') ZCWBDAY,
  8561. TO_CHAR(YCNBDAY/60,'fm99999999999990.00') YCNBDAY,
  8562. TO_CHAR(YCWBDAY/60,'fm99999999999990.00') YCWBDAY,
  8563. TO_CHAR(TJTIMETOTALDAY/60,'fm99999999999990.00') TJTIMETOTALDAY,
  8564. TIMETOTALDAY,
  8565. YXNBDAY,YXZHDAY,DAYZYLDAY
  8566. FROM T100
  8567. ORDER BY PLINEORDER
  8568. ]]>
  8569. </query>
  8570. <query id="BuyGpDAL.selectRptDaySCKB2" desc="日生产运行快报(总调)数据">
  8571. <![CDATA[
  8572. WITH T10 AS
  8573. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8574. FROM (SELECT T10.CONTROL_ID,
  8575. T10.STOP_REASON,
  8576. T10.LOGS_BEG,
  8577. T10.LOGS_END,
  8578. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8579. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8580. (SELECT BASENAME
  8581. FROM COM_BASE_INFO
  8582. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  8583. (SELECT PROPERA
  8584. FROM COM_BASE_INFO
  8585. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  8586. (SELECT PLINE_NAME
  8587. FROM COM_BASE_PLINE
  8588. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  8589. CASE
  8590. WHEN (SELECT PROPERA
  8591. FROM COM_BASE_INFO
  8592. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8593. (SELECT BASENAME
  8594. FROM COM_BASE_INFO
  8595. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8596. 'ZCNB'
  8597. WHEN (SELECT PROPERA
  8598. FROM COM_BASE_INFO
  8599. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8600. (SELECT BASENAME
  8601. FROM COM_BASE_INFO
  8602. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8603. 'ZCWB'
  8604. WHEN (SELECT PROPERA
  8605. FROM COM_BASE_INFO
  8606. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8607. (SELECT BASENAME
  8608. FROM COM_BASE_INFO
  8609. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8610. 'YCNB'
  8611. WHEN (SELECT PROPERA
  8612. FROM COM_BASE_INFO
  8613. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8614. (SELECT BASENAME
  8615. FROM COM_BASE_INFO
  8616. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8617. 'YCWB'
  8618. END TJREASON
  8619. FROM STL_CONTROL_LOG T10
  8620. WHERE T10.PRO_TYPE = '2'
  8621. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8622. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8623. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8624. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8625. AND T10.STOP_TYPE IN ('300101', '300102')
  8626. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  8627. AND EXISTS (SELECT *
  8628. FROM COM_BASE_INFO
  8629. WHERE BASECODE = T10.STOP_REASON
  8630. AND VALIDFLAG = '1')) TA
  8631. GROUP BY TA.PLINENAME, TA.TJREASON),
  8632. T11 AS
  8633. (SELECT PLINENAME,
  8634. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  8635. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  8636. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  8637. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  8638. SUM(TJTIME) TJTIMETOTAL,
  8639. 24 * 60 * #DAYS# TIMETOTAL,
  8640. DECODE(PLINENAME,
  8641. '一炼钢电炉',
  8642. -5,
  8643. '二炼钢电炉',
  8644. -4,
  8645. -1) PLINEORDER
  8646. FROM T10
  8647. GROUP BY PLINENAME),
  8648. T12 AS
  8649. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8650. FROM (SELECT T10.CONTROL_ID,
  8651. T10.STOP_REASON,
  8652. T10.LOGS_BEG,
  8653. T10.LOGS_END,
  8654. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8655. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8656. (SELECT BASENAME
  8657. FROM COM_BASE_INFO
  8658. WHERE BASECODE = T10.STOP_TYPE) STOPTYPE,
  8659. (SELECT PROPERA
  8660. FROM COM_BASE_INFO
  8661. WHERE BASECODE = T10.STOP_REASON) STOPREASON,
  8662. (SELECT PLINE_NAME
  8663. FROM COM_BASE_PLINE
  8664. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  8665. CASE
  8666. WHEN (SELECT PROPERA
  8667. FROM COM_BASE_INFO
  8668. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8669. (SELECT BASENAME
  8670. FROM COM_BASE_INFO
  8671. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8672. 'ZCNB'
  8673. WHEN (SELECT PROPERA
  8674. FROM COM_BASE_INFO
  8675. WHERE BASECODE = T10.STOP_REASON) = '正常停机' AND
  8676. (SELECT BASENAME
  8677. FROM COM_BASE_INFO
  8678. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8679. 'ZCWB'
  8680. WHEN (SELECT PROPERA
  8681. FROM COM_BASE_INFO
  8682. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8683. (SELECT BASENAME
  8684. FROM COM_BASE_INFO
  8685. WHERE BASECODE = T10.STOP_TYPE) = '内部原因' THEN
  8686. 'YCNB'
  8687. WHEN (SELECT PROPERA
  8688. FROM COM_BASE_INFO
  8689. WHERE BASECODE = T10.STOP_REASON) = '异常停机' AND
  8690. (SELECT BASENAME
  8691. FROM COM_BASE_INFO
  8692. WHERE BASECODE = T10.STOP_TYPE) = '外部原因' THEN
  8693. 'YCWB'
  8694. END TJREASON
  8695. FROM STL_CONTROL_LOG T10
  8696. WHERE T10.PRO_TYPE = '2'
  8697. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8698. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8699. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8700. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8701. AND T10.STOP_TYPE IN ('300101', '300102')
  8702. AND T10.EF_PLINE_CODE IN ('C001', 'C003')
  8703. AND EXISTS (SELECT *
  8704. FROM COM_BASE_INFO
  8705. WHERE BASECODE = T10.STOP_REASON
  8706. AND VALIDFLAG = '1')) TA
  8707. GROUP BY TA.PLINENAME, TA.TJREASON),
  8708. T13 AS
  8709. (SELECT PLINENAME PLINENAME1,
  8710. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  8711. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  8712. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  8713. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  8714. SUM(TJTIME) TJTIMETOTALDAY,
  8715. 24 * 60 TIMETOTALDAY,
  8716. DECODE(PLINENAME,
  8717. '一炼钢电炉',
  8718. -5,
  8719. '二炼钢电炉',
  8720. -4,
  8721. -1) PLINEORDER1
  8722. FROM T12
  8723. GROUP BY PLINENAME),
  8724. T14 AS
  8725. (SELECT T13.*,
  8726. CASE
  8727. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  8728. '0.00'
  8729. ELSE
  8730. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  8731. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  8732. NVL(YCNBDAY, 0)),
  8733. 2),
  8734. 'fm99999999999990.00')
  8735. END || '%' YXNBDAY,
  8736. CASE
  8737. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  8738. '0.00'
  8739. ELSE
  8740. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  8741. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  8742. NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)),
  8743. 2),
  8744. 'fm99999999999990.00')
  8745. END || '%' YXZHDAY,
  8746. CASE
  8747. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  8748. '0.00'
  8749. ELSE
  8750. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  8751. TIMETOTALDAY,
  8752. 2),
  8753. 'fm99999999999990.00')
  8754. END DAYZYLDAY
  8755. FROM T13),
  8756. T15 AS
  8757. (
  8758. SELECT '炼钢' AS DEPT,
  8759. PLINENAME,
  8760. TO_CHAR(ZCNB) ZCNB,
  8761. TO_CHAR(ZCWB) ZCWB,
  8762. TO_CHAR(YCNB) YCNB,
  8763. TO_CHAR(YCWB) YCWB,
  8764. TJTIMETOTAL,
  8765. TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  8766. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  8767. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),
  8768. 2),
  8769. 'fm99999999999990.00') || '%' YXNB,
  8770. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  8771. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) +
  8772. NVL(YCWB, 0)),
  8773. 2),
  8774. 'fm99999999999990.00') || '%' YXZH,
  8775. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL,
  8776. 2),
  8777. 'fm99999999999990.00') DAYZYL,
  8778. PLINEORDER
  8779. FROM T11
  8780. UNION ALL
  8781. SELECT '炼钢' AS DEPT,
  8782. '合计' PLINENAME,
  8783. TO_CHAR(SUM(ZCNB)) ZCNB,
  8784. TO_CHAR(SUM(ZCWB)) ZCWB,
  8785. TO_CHAR(SUM(YCNB)) YCNB,
  8786. TO_CHAR(SUM(YCWB)) YCWB,
  8787. SUM(TJTIMETOTAL),
  8788. TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  8789. TO_CHAR((2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)), 'fm99999999999990.00') || '%' YXNB ,
  8790. TO_CHAR((2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(2*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)+ROUND(NVL(SUM(YCWB),0),0)), 'fm99999999999990.00') || '%' YXZH,
  8791. NULL DAYZYL,
  8792. -1 PLINEORDER
  8793. FROM T11
  8794. WHERE PLINENAME IS NOT NULL
  8795. ),
  8796. T16 AS (
  8797. SELECT '炼钢' AS DEPT, PLINENAME1,
  8798. TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY,
  8799. TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY,
  8800. TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY,
  8801. TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY,
  8802. TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY,
  8803. TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY,
  8804. NVL(YXNBDAY,'100.00%')YXNBDAY,NVL(YXZHDAY,'100.00%') YXZHDAY,NVL(DAYZYLDAY,'100.00%') DAYZYLDAY,
  8805. 5 AS PLINEORDER FROM T14
  8806. UNION ALL
  8807. SELECT '炼钢' AS DEPT,
  8808. '合计' PLINENAME,
  8809. TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY,
  8810. TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY,
  8811. TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY,
  8812. TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY,
  8813. TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY,
  8814. TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS,
  8815. TO_CHAR((24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0))*100/(24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0)+NVL(ROUND(NVL(SUM(YCNBDAY),0),0),0)), 'fm99999999999990.00') || '%' YXNBDAY,
  8816. TO_CHAR((24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0))*100/(24*60*2-NVL(ROUND(SUM(TJTIMETOTALDAY),0),0)+NVL(ROUND(NVL(SUM(YCNBDAY),0),0),0)+NVL(ROUND(NVL(SUM(YCWBDAY),0),0),0)), 'fm99999999999990.00') || '%' YXZHDAY,
  8817. NULL DAYZYLDAY,
  8818. -1 PLINEORDER
  8819. FROM T14
  8820. ),
  8821. T17 AS
  8822. (
  8823. SELECT '一炼钢电炉' PLINENAME,100 DAYZYLDAY FROM DUAL
  8824. UNION ALL
  8825. SELECT '二炼钢电炉' PLINENAME,100 DAYZYLDAY FROM DUAL
  8826. UNION ALL
  8827. SELECT '合计' PLINENAME,100 DAYZYLDAY FROM DUAL
  8828. ),
  8829. T18 AS
  8830. (
  8831. SELECT '炼钢' AS DEPT, NVL(T16.PLINENAME1,T17.PLINENAME) PLINENAME1,T16.ZCNBDAY,T16.ZCWBDAY,T16.YCNBDAY,T16.YCWBDAY,T16.TJTIMETOTALDAY,T16.TIMETOTALDAY,
  8832. NVL(T16.YXNBDAY,'100.00%') YXNBDAY,NVL(T16.YXZHDAY,'100.00%') YXZHDAY ,NVL(T16.DAYZYLDAY,T17.DAYZYLDAY) DAYZYLDAY,T16.PLINEORDER
  8833. FROM T16,T17 WHERE T16.PLINENAME1(+) =T17.PLINENAME
  8834. ),
  8835. T AS
  8836. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8837. FROM (SELECT T.CONTROL_ID,
  8838. T.STOP_REASON,
  8839. T.LOGS_BEG,
  8840. T.LOGS_END,
  8841. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8842. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8843. (SELECT BASENAME
  8844. FROM COM_BASE_INFO
  8845. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  8846. (SELECT PROPERA
  8847. FROM COM_BASE_INFO
  8848. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  8849. (SELECT PLINE_NAME
  8850. FROM COM_BASE_PLINE
  8851. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  8852. CASE
  8853. WHEN (SELECT PROPERA
  8854. FROM COM_BASE_INFO
  8855. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8856. (SELECT BASENAME
  8857. FROM COM_BASE_INFO
  8858. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8859. 'ZCNB'
  8860. WHEN (SELECT PROPERA
  8861. FROM COM_BASE_INFO
  8862. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8863. (SELECT BASENAME
  8864. FROM COM_BASE_INFO
  8865. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8866. 'ZCWB'
  8867. WHEN (SELECT PROPERA
  8868. FROM COM_BASE_INFO
  8869. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8870. (SELECT BASENAME
  8871. FROM COM_BASE_INFO
  8872. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8873. 'YCNB'
  8874. WHEN (SELECT PROPERA
  8875. FROM COM_BASE_INFO
  8876. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8877. (SELECT BASENAME
  8878. FROM COM_BASE_INFO
  8879. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8880. 'YCWB'
  8881. END TJREASON
  8882. FROM MIL_CONTROL_LOG T
  8883. WHERE T.PRO_TYPE = '2'
  8884. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8885. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8886. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8887. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8888. AND T.STOP_TYPE IN ('500601', '500602')
  8889. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  8890. AND EXISTS (SELECT *
  8891. FROM COM_BASE_INFO
  8892. WHERE BASECODE = T.STOP_REASON
  8893. AND VALIDFLAG = '1')) TA
  8894. GROUP BY TA.PLINENAME, TA.TJREASON),
  8895. T1 AS
  8896. (SELECT PLINENAME,
  8897. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  8898. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  8899. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  8900. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  8901. SUM(TJTIME) TJTIMETOTAL,
  8902. 24 * 60 * #DAYS# TIMETOTAL,
  8903. DECODE(PLINENAME,
  8904. '250机组',
  8905. 1,
  8906. '258机组',
  8907. 2,
  8908. '168机组',
  8909. 3,
  8910. '460机组',
  8911. 4,
  8912. 5) PLINEORDER
  8913. FROM T
  8914. GROUP BY PLINENAME),
  8915. T2 AS
  8916. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  8917. FROM (SELECT T.CONTROL_ID,
  8918. T.STOP_REASON,
  8919. T.LOGS_BEG,
  8920. T.LOGS_END,
  8921. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  8922. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  8923. (SELECT BASENAME
  8924. FROM COM_BASE_INFO
  8925. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  8926. (SELECT PROPERA
  8927. FROM COM_BASE_INFO
  8928. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  8929. (SELECT PLINE_NAME
  8930. FROM COM_BASE_PLINE
  8931. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  8932. CASE
  8933. WHEN (SELECT PROPERA
  8934. FROM COM_BASE_INFO
  8935. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8936. (SELECT BASENAME
  8937. FROM COM_BASE_INFO
  8938. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8939. 'ZCNB'
  8940. WHEN (SELECT PROPERA
  8941. FROM COM_BASE_INFO
  8942. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  8943. (SELECT BASENAME
  8944. FROM COM_BASE_INFO
  8945. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8946. 'ZCWB'
  8947. WHEN (SELECT PROPERA
  8948. FROM COM_BASE_INFO
  8949. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8950. (SELECT BASENAME
  8951. FROM COM_BASE_INFO
  8952. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  8953. 'YCNB'
  8954. WHEN (SELECT PROPERA
  8955. FROM COM_BASE_INFO
  8956. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  8957. (SELECT BASENAME
  8958. FROM COM_BASE_INFO
  8959. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  8960. 'YCWB'
  8961. END TJREASON
  8962. FROM MIL_CONTROL_LOG T
  8963. WHERE T.PRO_TYPE = '2'
  8964. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  8965. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8966. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  8967. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  8968. AND T.STOP_TYPE IN ('500601', '500602')
  8969. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  8970. AND EXISTS (SELECT *
  8971. FROM COM_BASE_INFO
  8972. WHERE BASECODE = T.STOP_REASON
  8973. AND VALIDFLAG = '1')) TA
  8974. GROUP BY TA.PLINENAME, TA.TJREASON),
  8975. T3 AS
  8976. (SELECT PLINENAME PLINENAME1,
  8977. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  8978. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  8979. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  8980. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  8981. SUM(TJTIME) TJTIMETOTALDAY,
  8982. 24 * 60 TIMETOTALDAY,
  8983. DECODE(PLINENAME,
  8984. '250机组',
  8985. 1,
  8986. '258机组',
  8987. 2,
  8988. '168机组',
  8989. 3,
  8990. '460机组',
  8991. 4,
  8992. 5) PLINEORDER1
  8993. FROM T2
  8994. GROUP BY PLINENAME),
  8995. T4 AS
  8996. (SELECT T3.*,
  8997. CASE
  8998. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  8999. '0.00'
  9000. ELSE
  9001. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9002. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  9003. NVL(YCNBDAY, 0)),
  9004. 2),
  9005. 'fm99999999999990.00')
  9006. END || '%' YXNBDAY,
  9007. CASE
  9008. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  9009. '0.00'
  9010. ELSE
  9011. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9012. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  9013. NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)),
  9014. 2),
  9015. 'fm99999999999990.00')
  9016. END || '%' YXZHDAY,
  9017. CASE
  9018. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  9019. '0.00'
  9020. ELSE
  9021. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9022. TIMETOTALDAY,
  9023. 2),
  9024. 'fm99999999999990.00')
  9025. END DAYZYLDAY
  9026. FROM T3),
  9027. T5 AS
  9028. (
  9029. SELECT '轧管' AS DEPT,
  9030. PLINENAME,
  9031. TO_CHAR(ZCNB) ZCNB,
  9032. TO_CHAR(ZCWB) ZCWB,
  9033. TO_CHAR(YCNB) YCNB,
  9034. TO_CHAR(YCWB) YCWB,
  9035. TJTIMETOTAL,
  9036. TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  9037. CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00%' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  9038. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),
  9039. 2),
  9040. 'fm99999999999990.00') || '%' END YXNB,
  9041. CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00%' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  9042. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) +
  9043. NVL(YCWB, 0)),
  9044. 2),
  9045. 'fm99999999999990.00') || '%' END YXZH,
  9046. CASE WHEN TIMETOTAL= TJTIMETOTAL THEN '0.00' ELSE TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL,
  9047. 2),
  9048. 'fm99999999999990.00') END DAYZYL,
  9049. PLINEORDER
  9050. FROM T1
  9051. UNION ALL
  9052. SELECT '轧管' AS DEPT,
  9053. '合计' PLINENAME,
  9054. TO_CHAR(SUM(ZCNB)) ZCNB,
  9055. TO_CHAR(SUM(ZCWB)) ZCWB,
  9056. TO_CHAR(SUM(YCNB)) YCNB,
  9057. TO_CHAR(SUM(YCWB)) YCWB,
  9058. SUM(TJTIMETOTAL),
  9059. TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  9060. TO_CHAR((4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)), 'fm99999999999990.00') || '%' YXNB ,
  9061. TO_CHAR((4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0))*100/(4*24*60*#DAYS#-ROUND(SUM(TJTIMETOTAL),0)+ROUND(NVL(SUM(YCNB),0),0)+ROUND(NVL(SUM(YCWB),0),0)), 'fm99999999999990.00') || '%' YXZH,
  9062. NULL DAYZYL,
  9063. 5 PLINEORDER
  9064. FROM T1
  9065. WHERE PLINENAME IS NOT NULL
  9066. ),
  9067. T6 AS (
  9068. SELECT '轧管' AS DEPT, PLINENAME1,
  9069. TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY,
  9070. TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY,
  9071. TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY,
  9072. TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY,
  9073. TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY,
  9074. TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY,
  9075. YXNBDAY,YXZHDAY,DAYZYLDAY,5 AS PLINEORDER FROM T4
  9076. UNION ALL
  9077. SELECT '轧管' AS DEPT,
  9078. '合计' PLINENAME,
  9079. TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY,
  9080. TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY,
  9081. TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY,
  9082. TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY,
  9083. TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY,
  9084. TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS,
  9085. TO_CHAR((24*60*4-ROUND(SUM(TJTIMETOTALDAY),0))*100/(24*60*4-ROUND(SUM(TJTIMETOTALDAY),0)+ROUND(NVL(SUM(YCNBDAY),0),0)), 'fm99999999999990.00') || '%' YXNBDAY,
  9086. TO_CHAR((24*60*4-ROUND(SUM(TJTIMETOTALDAY),0))*100/(24*60*4-ROUND(SUM(TJTIMETOTALDAY),0)+ROUND(NVL(SUM(YCNBDAY),0),0)+ROUND(NVL(SUM(YCWBDAY),0),0)), 'fm99999999999990.00') || '%' YXZHDAY,
  9087. NULL DAYZYLDAY,
  9088. 5 PLINEORDER
  9089. FROM T4
  9090. )
  9091. SELECT * FROM
  9092. (
  9093. SELECT
  9094. NVL(T15.DEPT,'炼钢') DEPT,NVL(T15.PLINENAME,T18.PLINENAME1) PLINENAME,
  9095. TO_CHAR(T15.ZCNB/60, 'fm99999999999990.00') ZCNB,
  9096. TO_CHAR(T15.ZCWB/60, 'fm99999999999990.00') ZCWB,
  9097. TO_CHAR(T15.YCNB/60, 'fm99999999999990.00') YCNB,
  9098. TO_CHAR(T15.YCWB/60, 'fm99999999999990.00') YCWB,
  9099. TO_CHAR(T15.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL,
  9100. T15.TJTIMEHOURS,NVL(T15.YXNB,'100.00%') YXNB,NVL(T15.YXZH,'100.00%') YXZH,
  9101. TO_CHAR(DECODE(PLINENAME1,'一炼钢电炉',NVL(T15.DAYZYL,'100.00'),'二炼钢电炉',NVL(T15.DAYZYL,'100.00'),
  9102. '合计',(SELECT AVG(DAYZYL) FROM T15 WHERE PLINENAME !='合计')),'fm99999999999990.00') || '%' DAYZYL,
  9103. --T15.PLINEORDER,
  9104. DECODE(PLINENAME1,'一炼钢电炉',-5,'二炼钢电炉',-4,'合计',-1) AS PLINEORDER,
  9105. TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY,
  9106. TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY,
  9107. TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY,
  9108. TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY,
  9109. TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY,
  9110. TIMETOTALDAY,
  9111. DECODE(PLINENAME1,'一炼钢电炉',NVL(YXNBDAY,'100.00%'),'二炼钢电炉',NVL(YXNBDAY,'100.00%'),'合计',YXNBDAY) YXNBDAY,
  9112. DECODE(PLINENAME1,'一炼钢电炉',NVL(YXZHDAY,'100.00%'),'二炼钢电炉',NVL(YXZHDAY,'100.00%'),'合计',YXZHDAY) YXZHDAY,
  9113. TO_CHAR(DECODE(PLINENAME1,'一炼钢电炉',NVL(DAYZYLDAY,'100.00'),'二炼钢电炉',NVL(DAYZYLDAY,'100.00'),'合计',(SELECT AVG(DAYZYLDAY) FROM T18 WHERE PLINENAME1 !='合计')),'fm99999999999990.00') || '%' DAYZYLDAY,
  9114. (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=T15.PLINENAME) AS PLINECODE
  9115. FROM T15, T18
  9116. WHERE T15.PLINENAME(+) = T18.PLINENAME1 AND T15.DEPT(+) = T18.DEPT
  9117. UNION ALL
  9118. SELECT
  9119. T5.DEPT,T5.PLINENAME,
  9120. TO_CHAR(T5.ZCNB/60, 'fm99999999999990.00') ZCNB,
  9121. TO_CHAR(T5.ZCWB/60, 'fm99999999999990.00') ZCWB,
  9122. TO_CHAR(T5.YCNB/60, 'fm99999999999990.00') YCNB,
  9123. TO_CHAR(T5.YCWB/60, 'fm99999999999990.00') YCWB,
  9124. TO_CHAR(T5.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL,
  9125. T5.TJTIMEHOURS,T5.YXNB,T5.YXZH,
  9126. TO_CHAR(DECODE(PLINENAME,'250机组',T5.DAYZYL,'258机组',T5.DAYZYL,
  9127. '168机组',T5.DAYZYL,'460机组',T5.DAYZYL,
  9128. '合计',(SELECT AVG(DAYZYL) FROM T5 WHERE PLINENAME !='合计')),'fm99999999999990.00') || '%' DAYZYL,
  9129. T5.PLINEORDER,
  9130. TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY,
  9131. TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY,
  9132. TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY,
  9133. TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY,
  9134. TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY,
  9135. TIMETOTALDAY,YXNBDAY,YXZHDAY,
  9136. TO_CHAR(DECODE(PLINENAME,'250机组',DAYZYLDAY,'258机组',DAYZYLDAY,
  9137. '168机组',DAYZYLDAY,'460机组',DAYZYLDAY,
  9138. '合计',(SELECT AVG(DAYZYLDAY) FROM T6 WHERE PLINENAME1 !='合计')),'fm99999999999990.00') || '%' DAYZYLDAY,
  9139. (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=t5.PLINENAME) AS PLINECODE
  9140. FROM T5, T6
  9141. WHERE T5.PLINENAME = T6.PLINENAME1(+) AND T5.DEPT = T6.DEPT(+)
  9142. ) ta
  9143. ORDER BY ta.PLINEORDER
  9144. ]]>
  9145. </query>
  9146. <query id="BuyGpDAL.selectRptDaySCKB1" desc="日生产运行快报(总调)数据">
  9147. <![CDATA[
  9148. WITH T AS
  9149. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  9150. FROM (SELECT T.CONTROL_ID,
  9151. T.STOP_REASON,
  9152. T.LOGS_BEG,
  9153. T.LOGS_END,
  9154. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9155. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  9156. (SELECT BASENAME
  9157. FROM COM_BASE_INFO
  9158. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  9159. (SELECT PROPERA
  9160. FROM COM_BASE_INFO
  9161. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  9162. (SELECT PLINE_NAME
  9163. FROM COM_BASE_PLINE
  9164. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  9165. CASE
  9166. WHEN (SELECT PROPERA
  9167. FROM COM_BASE_INFO
  9168. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  9169. (SELECT BASENAME
  9170. FROM COM_BASE_INFO
  9171. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  9172. 'ZCNB'
  9173. WHEN (SELECT PROPERA
  9174. FROM COM_BASE_INFO
  9175. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  9176. (SELECT BASENAME
  9177. FROM COM_BASE_INFO
  9178. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  9179. 'ZCWB'
  9180. WHEN (SELECT PROPERA
  9181. FROM COM_BASE_INFO
  9182. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  9183. (SELECT BASENAME
  9184. FROM COM_BASE_INFO
  9185. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  9186. 'YCNB'
  9187. WHEN (SELECT PROPERA
  9188. FROM COM_BASE_INFO
  9189. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  9190. (SELECT BASENAME
  9191. FROM COM_BASE_INFO
  9192. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  9193. 'YCWB'
  9194. END TJREASON
  9195. FROM MIL_CONTROL_LOG T
  9196. WHERE T.PRO_TYPE = '2'
  9197. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9198. TO_DATE('#LASTDATE#', 'yyyy-mm-dd hh24:mi:ss')
  9199. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  9200. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  9201. AND T.STOP_TYPE IN ('500601', '500602')
  9202. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  9203. AND EXISTS (SELECT *
  9204. FROM COM_BASE_INFO
  9205. WHERE BASECODE = T.STOP_REASON
  9206. AND VALIDFLAG = '1')) TA
  9207. GROUP BY TA.PLINENAME, TA.TJREASON),
  9208. T1 AS
  9209. (SELECT PLINENAME,
  9210. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNB,
  9211. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWB,
  9212. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNB,
  9213. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWB,
  9214. SUM(TJTIME) TJTIMETOTAL,
  9215. 24 * 60 * '#DAYS#' TIMETOTAL,
  9216. DECODE(PLINENAME,
  9217. '250机组',
  9218. 1,
  9219. '258机组',
  9220. 2,
  9221. '168机组',
  9222. 3,
  9223. '460机组',
  9224. 4,
  9225. 5) PLINEORDER
  9226. FROM T
  9227. GROUP BY PLINENAME),
  9228. T2 AS
  9229. (SELECT SUM(TJTIME) AS TJTIME, PLINENAME, TJREASON
  9230. FROM (SELECT T.CONTROL_ID,
  9231. T.STOP_REASON,
  9232. T.LOGS_BEG,
  9233. T.LOGS_END,
  9234. (TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9235. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  9236. (SELECT BASENAME
  9237. FROM COM_BASE_INFO
  9238. WHERE BASECODE = T.STOP_TYPE) STOPTYPE,
  9239. (SELECT PROPERA
  9240. FROM COM_BASE_INFO
  9241. WHERE BASECODE = T.STOP_REASON) STOPREASON,
  9242. (SELECT PLINE_NAME
  9243. FROM COM_BASE_PLINE
  9244. WHERE PLINE_CODE = T.PLINE_CODE) PLINENAME,
  9245. CASE
  9246. WHEN (SELECT PROPERA
  9247. FROM COM_BASE_INFO
  9248. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  9249. (SELECT BASENAME
  9250. FROM COM_BASE_INFO
  9251. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  9252. 'ZCNB'
  9253. WHEN (SELECT PROPERA
  9254. FROM COM_BASE_INFO
  9255. WHERE BASECODE = T.STOP_REASON) = '正常停机' AND
  9256. (SELECT BASENAME
  9257. FROM COM_BASE_INFO
  9258. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  9259. 'ZCWB'
  9260. WHEN (SELECT PROPERA
  9261. FROM COM_BASE_INFO
  9262. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  9263. (SELECT BASENAME
  9264. FROM COM_BASE_INFO
  9265. WHERE BASECODE = T.STOP_TYPE) = '内部原因' THEN
  9266. 'YCNB'
  9267. WHEN (SELECT PROPERA
  9268. FROM COM_BASE_INFO
  9269. WHERE BASECODE = T.STOP_REASON) = '异常停机' AND
  9270. (SELECT BASENAME
  9271. FROM COM_BASE_INFO
  9272. WHERE BASECODE = T.STOP_TYPE) = '外部原因' THEN
  9273. 'YCWB'
  9274. END TJREASON
  9275. FROM MIL_CONTROL_LOG T
  9276. WHERE T.PRO_TYPE = '2'
  9277. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9278. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  9279. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  9280. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss')
  9281. AND T.STOP_TYPE IN ('500601', '500602')
  9282. AND T.PLINE_CODE IN ('C008', 'C009', 'C010', 'C017')
  9283. AND EXISTS (SELECT *
  9284. FROM COM_BASE_INFO
  9285. WHERE BASECODE = T.STOP_REASON
  9286. AND VALIDFLAG = '1')) TA
  9287. GROUP BY TA.PLINENAME, TA.TJREASON),
  9288. T3 AS
  9289. (SELECT PLINENAME PLINENAME1,
  9290. MAX(DECODE(TJREASON, 'ZCNB', TJTIME, NULL)) AS ZCNBDAY,
  9291. MAX(DECODE(TJREASON, 'ZCWB', TJTIME, NULL)) AS ZCWBDAY,
  9292. MAX(DECODE(TJREASON, 'YCNB', TJTIME, NULL)) AS YCNBDAY,
  9293. MAX(DECODE(TJREASON, 'YCWB', TJTIME, NULL)) AS YCWBDAY,
  9294. SUM(TJTIME) TJTIMETOTALDAY,
  9295. 24 * 60 TIMETOTALDAY,
  9296. DECODE(PLINENAME,
  9297. '250机组',
  9298. 1,
  9299. '258机组',
  9300. 2,
  9301. '168机组',
  9302. 3,
  9303. '460机组',
  9304. 4,
  9305. 5) PLINEORDER1
  9306. FROM T2
  9307. GROUP BY PLINENAME),
  9308. T4 AS
  9309. (SELECT T3.*,
  9310. CASE
  9311. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  9312. '0.00'
  9313. ELSE
  9314. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9315. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  9316. NVL(YCNBDAY, 0)),
  9317. 2),
  9318. 'fm99999999999990.00')
  9319. END || '%' YXNBDAY,
  9320. CASE
  9321. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  9322. '0.00'
  9323. ELSE
  9324. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9325. (TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) +
  9326. NVL(YCNBDAY, 0) + NVL(YCWBDAY, 0)),
  9327. 2),
  9328. 'fm99999999999990.00')
  9329. END || '%' YXZHDAY,
  9330. CASE
  9331. WHEN TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0) = 0 THEN
  9332. '0.00'
  9333. ELSE
  9334. TO_CHAR(ROUND((TIMETOTALDAY - NVL(TJTIMETOTALDAY, 0)) * 100 /
  9335. TIMETOTALDAY,
  9336. 2),
  9337. 'fm99999999999990.00')
  9338. END || '%' DAYZYLDAY
  9339. FROM T3),
  9340. T5 AS
  9341. (SELECT '炼钢' AS DEPT,
  9342. '一炼' AS PLINENAME,
  9343. NULL AS ZCNB,
  9344. NULL AS ZCWB,
  9345. NULL AS YCNB,
  9346. NULL AS YCWB,
  9347. NULL AS TJTIMETOTAL,
  9348. NULL AS TJTIMEHOURS,
  9349. NULL AS YXNB,
  9350. NULL AS YXZH,
  9351. NULL AS DAYZYL,
  9352. -2 AS PLINEORDER
  9353. FROM DUAL
  9354. UNION ALL
  9355. SELECT '炼钢' AS DEPT,
  9356. '二炼' AS PLINENAME,
  9357. NULL AS ZCNB,
  9358. NULL AS ZCWB,
  9359. NULL AS YCNB,
  9360. NULL AS YCWB,
  9361. NULL AS TJTIMETOTAL,
  9362. NULL AS TJTIMEHOURS,
  9363. NULL AS YXNB,
  9364. NULL AS YXZH,
  9365. NULL AS DAYZYL,
  9366. -1 AS PLINEORDER
  9367. FROM DUAL
  9368. UNION ALL
  9369. SELECT '轧管' AS DEPT,
  9370. PLINENAME,
  9371. TO_CHAR(ZCNB) ZCNB,
  9372. TO_CHAR(ZCWB) ZCWB,
  9373. TO_CHAR(YCNB) YCNB,
  9374. TO_CHAR(YCWB) YCWB,
  9375. TJTIMETOTAL,
  9376. TO_CHAR(ROUND(TJTIMETOTAL / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  9377. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  9378. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0)),
  9379. 2),
  9380. 'fm99999999999990.00') || '%' YXNB,
  9381. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 /
  9382. (TIMETOTAL - NVL(TJTIMETOTAL, 0) + NVL(YCNB, 0) +
  9383. NVL(YCWB, 0)),
  9384. 2),
  9385. 'fm99999999999990.00') || '%' YXZH,
  9386. TO_CHAR(ROUND((TIMETOTAL - NVL(TJTIMETOTAL, 0)) * 100 / TIMETOTAL,
  9387. 2),
  9388. 'fm99999999999990.00') || '%' DAYZYL,
  9389. PLINEORDER
  9390. FROM T1
  9391. UNION ALL
  9392. SELECT '轧管' AS DEPT,
  9393. '合计' PLINENAME,
  9394. TO_CHAR(SUM(ZCNB)) ZCNB,
  9395. TO_CHAR(SUM(ZCWB)) ZCWB,
  9396. TO_CHAR(SUM(YCNB)) YCNB,
  9397. TO_CHAR(SUM(YCWB)) YCWB,
  9398. SUM(TJTIMETOTAL),
  9399. TO_CHAR(ROUND(SUM(TJTIMETOTAL) / 60, 2), 'fm99999999999990.00') TJTIMEHOURS,
  9400. NULL YXNB,
  9401. NULL YXZH,
  9402. NULL DAYZYL,
  9403. 5 PLINEORDER
  9404. FROM T1
  9405. WHERE PLINENAME IS NOT NULL
  9406. UNION ALL
  9407. SELECT '管加工(加工线)' AS DEPT,
  9408. '本部' AS PLINENAME,
  9409. NULL AS ZCNB,
  9410. NULL AS ZCWB,
  9411. NULL AS YCNB,
  9412. NULL AS YCWB,
  9413. NULL AS TJTIMETOTAL,
  9414. NULL AS TJTIMEHOURS,
  9415. NULL AS YXNB,
  9416. NULL AS YXZH,
  9417. NULL AS DAYZYL,
  9418. 6 AS PLINEORDER
  9419. FROM DUAL
  9420. UNION ALL
  9421. SELECT '管加工(加工线)' AS DEPT,
  9422. '元通' AS PLINENAME,
  9423. NULL AS ZCNB,
  9424. NULL AS ZCWB,
  9425. NULL AS YCNB,
  9426. NULL AS YCWB,
  9427. NULL AS TJTIMETOTAL,
  9428. NULL AS TJTIMEHOURS,
  9429. NULL AS YXNB,
  9430. NULL AS YXZH,
  9431. NULL AS DAYZYL,
  9432. 7 AS PLINEORDER
  9433. FROM DUAL
  9434. UNION ALL
  9435. SELECT '管加工(加工线)' AS DEPT,
  9436. '深加工' AS PLINENAME,
  9437. NULL AS ZCNB,
  9438. NULL AS ZCWB,
  9439. NULL AS YCNB,
  9440. NULL AS YCWB,
  9441. NULL AS TJTIMETOTAL,
  9442. NULL AS TJTIMEHOURS,
  9443. NULL AS YXNB,
  9444. NULL AS YXZH,
  9445. NULL AS DAYZYL,
  9446. 8 AS PLINEORDER
  9447. FROM DUAL
  9448. UNION ALL
  9449. SELECT '管加工(热处理)' AS DEPT,
  9450. '本部' AS PLINENAME,
  9451. NULL AS ZCNB,
  9452. NULL AS ZCWB,
  9453. NULL AS YCNB,
  9454. NULL AS YCWB,
  9455. NULL AS TJTIMETOTAL,
  9456. NULL AS TJTIMEHOURS,
  9457. NULL AS YXNB,
  9458. NULL AS YXZH,
  9459. NULL AS DAYZYL,
  9460. 9 AS PLINEORDER
  9461. FROM DUAL
  9462. UNION ALL
  9463. SELECT '管加工(热处理)' AS DEPT,
  9464. '元通' AS PLINENAME,
  9465. NULL AS ZCNB,
  9466. NULL AS ZCWB,
  9467. NULL AS YCNB,
  9468. NULL AS YCWB,
  9469. NULL AS TJTIMETOTAL,
  9470. NULL AS TJTIMEHOURS,
  9471. NULL AS YXNB,
  9472. NULL AS YXZH,
  9473. NULL AS DAYZYL,
  9474. 10 AS PLINEORDER
  9475. FROM DUAL
  9476. UNION ALL
  9477. SELECT '管加工(热处理)' AS DEPT,
  9478. '深加工' AS PLINENAME,
  9479. NULL AS ZCNB,
  9480. NULL AS ZCWB,
  9481. NULL AS YCNB,
  9482. NULL AS YCWB,
  9483. NULL AS TJTIMETOTAL,
  9484. NULL AS TJTIMEHOURS,
  9485. NULL AS YXNB,
  9486. NULL AS YXZH,
  9487. NULL AS DAYZYL,
  9488. 11 AS PLINEORDER
  9489. FROM DUAL),
  9490. T6 AS (
  9491. SELECT '轧管' AS DEPT, PLINENAME1,
  9492. TO_CHAR(ROUND(ZCNBDAY,0)) ZCNBDAY,
  9493. TO_CHAR(ROUND(ZCWBDAY,0)) ZCWBDAY,
  9494. TO_CHAR(ROUND(YCNBDAY,0)) YCNBDAY,
  9495. TO_CHAR(ROUND(YCWBDAY,0)) YCWBDAY,
  9496. TO_CHAR(ROUND(TJTIMETOTALDAY,0)) TJTIMETOTALDAY,
  9497. TO_CHAR(ROUND(TIMETOTALDAY,0)) TIMETOTALDAY,
  9498. YXNBDAY,YXZHDAY,DAYZYLDAY,5 AS PLINEORDER FROM T4
  9499. UNION ALL
  9500. SELECT '轧管' AS DEPT,
  9501. '合计' PLINENAME,
  9502. TO_CHAR(ROUND(SUM(ZCNBDAY),0)) ZCNBDAY,
  9503. TO_CHAR(ROUND(SUM(ZCWBDAY),0)) ZCWBDAY,
  9504. TO_CHAR(ROUND(SUM(YCNBDAY),0)) YCNBDAY,
  9505. TO_CHAR(ROUND(SUM(YCWBDAY),0)) YCWBDAY,
  9506. TO_CHAR(ROUND(SUM(TJTIMETOTALDAY),0)) TJTIMETOTALDAY,
  9507. TO_CHAR(ROUND(SUM(TIMETOTALDAY),0)) TJTIMEHOURS,
  9508. NULL YXNBDAY,
  9509. NULL YXZHDAY,
  9510. NULL DAYZYLDAY,
  9511. 5 PLINEORDER
  9512. FROM T4
  9513. )
  9514. SELECT
  9515. T5.DEPT,T5.PLINENAME,
  9516. TO_CHAR(T5.ZCNB/60, 'fm99999999999990.00') ZCNB,
  9517. TO_CHAR(T5.ZCWB/60, 'fm99999999999990.00') ZCWB,
  9518. TO_CHAR(T5.YCNB/60, 'fm99999999999990.00') YCNB,
  9519. TO_CHAR(T5.YCWB/60, 'fm99999999999990.00') YCWB,
  9520. TO_CHAR(T5.TJTIMETOTAL/60, 'fm99999999999990.00') TJTIMETOTAL,
  9521. T5.TJTIMEHOURS,T5.YXNB,T5.YXZH,T5.DAYZYL,T5.PLINEORDER,
  9522. TO_CHAR(ZCNBDAY/60, 'fm99999999999990.00') ZCNBDAY,
  9523. TO_CHAR(ZCWBDAY/60, 'fm99999999999990.00') ZCWBDAY,
  9524. TO_CHAR(YCNBDAY/60, 'fm99999999999990.00') YCNBDAY,
  9525. TO_CHAR(YCWBDAY/60, 'fm99999999999990.00') YCWBDAY,
  9526. TO_CHAR(TJTIMETOTALDAY/60, 'fm99999999999990.00') TJTIMETOTALDAY,
  9527. TIMETOTALDAY,YXNBDAY,YXZHDAY,DAYZYLDAY,
  9528. (SELECT PLINE_CODE FROM com_base_pline ta WHERE ta.PLINE_NAME=t5.PLINENAME) AS PLINECODE
  9529. FROM T5, T6
  9530. WHERE T5.PLINENAME = T6.PLINENAME1(+) AND T5.DEPT = T6.DEPT(+)
  9531. ORDER BY T5.PLINEORDER
  9532. ]]>
  9533. </query>
  9534. <query id="BuyGpDAL.selectRptJGONLINE" desc="获取接箍在线数据">
  9535. <![CDATA[
  9536. SELECT TO_CHAR(SYSDATE, 'yyyyMM') SCMONTH,
  9537. '管加工' AS FACTORY,
  9538. PLINE_NAME,
  9539. '接箍料' KIND,
  9540. STEELNAME,
  9541. STEELNAME,
  9542. GRADENAME,
  9543. SPEC_JG_DESC,
  9544. MODEL_DESC,
  9545. JUDGE_STOVE_NO,
  9546. BATCH_NO,
  9547. REAL_BL_NUM,
  9548. REAL_BL_WT
  9549. FROM PLN_ZY_JG_WORKBILL T
  9550. WHERE 1 = 1
  9551. AND T.PLINE_CODE IN
  9552. ('C081', 'C041', 'C042', 'C043', 'C044', 'C045', 'C046', 'C047')
  9553. AND T.ZY_BILL_STATUS IN ('2')
  9554. ORDER BY T.GX_PRO_SEQ ASC
  9555. ]]>
  9556. </query>
  9557. <query id="BuyGpDAL.selectRptJGHSK" desc="获取接箍核算科数据">
  9558. <![CDATA[
  9559. SELECT
  9560. '接箍' KIND,
  9561. MAX(TA.STEELNAME) STEELNAME, --钢级
  9562. MAX(TA.GRADENAME) GRADENAME, --钢种
  9563. MAX(JG.MIN_D) AS WAIJING,
  9564. MAX(JG.MIN_H) AS BIHOU,
  9565. MAX(t3.model_desc) MODEL_DESC,
  9566. TA.JUDGE_STOVE_NO,
  9567. SUM(TA.LOAD_PIECES) LOAD_PIECES,
  9568. SUM(TA.LOAD_WEIGHT) LOAD_WEIGHT,
  9569. (SELECT SUM(M.COL_COUNT) FROM COUPLING_PHOSPHATE_RESULT M WHERE TA.JUDGE_STOVE_NO = M.JUDGE_STOVE_NO) PRO_NUM,
  9570. (SELECT SUM(M.REJECTED_PCS) FROM COUPLING_THREADING_RESULT M WHERE TA.JUDGE_STOVE_NO = M.JUDGE_STOVE_NO) REJECTED_PCS
  9571. FROM COUPLING_LOADING_RESULT TA,PLN_ZY_JG_WORKBILL t3,COM_MSC_JG JG
  9572. WHERE TA.LOAD_TIME BETWEEN
  9573. TO_DATE('#BGEINDATE#', 'yyyy-mm-dd hh24:mi:ss') AND
  9574. TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss')
  9575. AND TA.WO_ID = t3.WO_ID AND T3.CODE_JG = JG.CODE_JG
  9576. --AND TA.JUDGE_STOVE_NO ='695177'
  9577. GROUP BY TA.JUDGE_STOVE_NO
  9578. ]]>
  9579. </query>
  9580. <query id="IndDAL.getGRCLYB" desc="查询个人产量月报数据 ">
  9581. <![CDATA[
  9582. SELECT 班次,机床,姓名,产量,机床号 FROM
  9583. (
  9584. SELECT DECODE(T.COL_GROUP, '1', '甲', '2', '乙', '3', '丙', '4', '丁', '') AS 班次,
  9585. '车丝' AS 机床,
  9586. T.COL_OPERATOR1 AS 姓名,
  9587. SUM(T.QUALIRIED_PCS) AS 产量,
  9588. --T.MACHINE_NO,
  9589. --T.CREATE_TIME,
  9590. TO_CHAR(WM_CONCAT(DISTINCT T.MACHINE_NO)) AS 机床号,
  9591. 1 AS 排序,
  9592. T.COL_GROUP AS 排序1
  9593. FROM COUPLING_THREADING_RESULT T
  9594. WHERE T.COL_OPERATOR1 IS NOT NULL
  9595. AND T.CREATE_TIME >=
  9596. TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss')
  9597. AND
  9598. T.CREATE_TIME <
  9599. TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss')
  9600. GROUP BY T.COL_GROUP, T.COL_OPERATOR1
  9601. UNION ALL
  9602. SELECT DECODE(T.COL_GROUP, '1', '甲', '2', '乙', '3', '丙', '4', '丁', '') AS 班次,
  9603. '磷化' AS 机床,
  9604. T.COL_OPERATOR AS 姓名,
  9605. SUM(T.Col_Count) AS 产量,
  9606. --T.MACHINE_NO,
  9607. --T.CREATE_TIME,
  9608. NULL AS 机床号,
  9609. 2 AS 排序,
  9610. T.COL_GROUP AS 排序1
  9611. FROM COUPLING_PHOSPHATE_RESULT T
  9612. WHERE T.COL_OPERATOR IS NOT NULL
  9613. AND T.CREATE_TIME >=
  9614. TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss')
  9615. AND
  9616. T.CREATE_TIME <
  9617. TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss')
  9618. GROUP BY T.COL_GROUP, T.COL_OPERATOR
  9619. UNION ALL
  9620. SELECT DECODE(T.COL_GROUP, '1', '甲', '2', '乙', '3', '丙', '4', '丁', '') AS 班次,
  9621. '切管' AS 机床,
  9622. T.COL_OPERATOR AS 姓名,
  9623. SUM(T.Qualified_Number) AS 产量,
  9624. --T.MACHINE_NO,
  9625. --T.CREATE_TIME,
  9626. NULL AS 机床号,
  9627. 3 AS 排序,
  9628. T.COL_GROUP AS 排序1
  9629. FROM COUPLING_CUT_RESULT T
  9630. WHERE T.COL_OPERATOR IS NOT NULL
  9631. AND T.CREATE_TIME >=
  9632. TO_DATE(#RPT_YM1#, 'yyyy-mm-dd hh24:mi:ss')
  9633. AND
  9634. T.CREATE_TIME <
  9635. TO_DATE(#RPT_YM2#, 'yyyy-mm-dd hh24:mi:ss')
  9636. GROUP BY T.COL_GROUP, T.COL_OPERATOR
  9637. ) ta
  9638. ORDER BY ta.排序1,ta.排序
  9639. ]]>
  9640. </query>
  9641. <query id="IndDAL.getJGSCYB" desc="查询生产准备数据 ">
  9642. <![CDATA[
  9643. WITH t
  9644. AS
  9645. (
  9646. SELECT t.code_jg ,t.Gradename,t.steelname,t.spec_jg_desc,t.outdiameter,t.wallthick,t.model_desc,t.deal_num,t.GOWHERE_NAME
  9647. FROM COUPLING_MAT_DEAL T
  9648. WHERE 1=1
  9649. AND T.GOWHERE_NAME IN ('加工线01#(管加工1#线)',
  9650. '加工线02#(管加工2#线)',
  9651. '加工线03#(管加工3#线)',
  9652. '加工线04#(管加工4#线)',
  9653. '加工线05#(管加工5#线)',
  9654. '加工线06#(管加工6#线)',
  9655. '加工线07#(管加工油套线)',
  9656. '加工线08#(管加工试验线)',
  9657. '加工线09#(管加工油特线)',
  9658. '加工线10#(管加工特扣线)',
  9659. '加工线11#(元通油管线)',
  9660. '加工线12#(元通1#套管线)',
  9661. '加工线13#(元通2#套管线)',
  9662. '加工线15#(管加工短节线)')
  9663. AND T.CREATE_TIME BETWEEN
  9664. TO_DATE(#RPT_YM1#, 'YYYY-MM-DD HH24:MI:SS') AND
  9665. TO_DATE(#RPT_YM2#, 'YYYY-MM-DD HH24:MI:SS')
  9666. AND T.DEAL_TYPE_CODE = '800801'
  9667. AND T.OUT_FLAG = '2'
  9668. AND T.HANDLE_FLAG = '0'
  9669. )
  9670. SELECT *
  9671. from t
  9672. pivot(
  9673. SUM(t.deal_num)
  9674. for GOWHERE_NAME IN ('加工线01#(管加工1#线)',
  9675. '加工线02#(管加工2#线)',
  9676. '加工线03#(管加工3#线)',
  9677. '加工线04#(管加工4#线)',
  9678. '加工线05#(管加工5#线)',
  9679. '加工线06#(管加工6#线)',
  9680. '加工线07#(管加工油套线)',
  9681. '加工线08#(管加工试验线)',
  9682. '加工线09#(管加工油特线)',
  9683. '加工线10#(管加工特扣线)',
  9684. '加工线11#(元通油管线)',
  9685. '加工线12#(元通1#套管线)',
  9686. '加工线13#(元通2#套管线)',
  9687. '加工线15#(管加工短节线)')
  9688. )
  9689. ORDER BY steelname,gradename,spec_jg_desc,model_desc
  9690. ]]>
  9691. </query>
  9692. <query id="BuyGpDAL.selectZGTJ" desc="获取调度停机数据">
  9693. <![CDATA[
  9694. WITH t1
  9695. AS
  9696. (
  9697. SELECT CASE
  9698. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9699. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  9700. 'yyyy-mm-dd hh24:mi:ss')) THEN
  9701. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  9702. 'yyyy-MM-dd')
  9703. ELSE
  9704. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  9705. 'yyyy-MM-dd')
  9706. END TJ_DATE,
  9707. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9708. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  9709. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  9710. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  9711. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME,
  9712. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  9713. DECODE(T.PRO_BZ,
  9714. '1',
  9715. '甲',
  9716. '2',
  9717. '乙',
  9718. '3',
  9719. '丙',
  9720. '4',
  9721. '丁',
  9722. T.PRO_BZ) PRO_BZ,
  9723. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  9724. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  9725. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  9726. T.MEMO,
  9727. DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  9728. T.USER_NAME,
  9729. T.CONFIRM_NAME,
  9730. T.USER_DATE,
  9731. T.CONFIRM_TIME,
  9732. 0 AS flag,
  9733. NULL AS TJHOURS
  9734. FROM MIL_CONTROL_LOG T
  9735. WHERE T.PRO_TYPE = '2'
  9736. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date(to_char(last_day(add_months(TO_DATE('#DATE#', 'yyyy-mm-dd hh24:mi:ss'),-1)),'yyyyMMdd')||'2100', 'yyyy-mm-dd hh24:mi:ss')
  9737. AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9738. AND T.PLINE_CODE ='#PLINECODE#'
  9739. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  9740. ),
  9741. t2
  9742. AS
  9743. (
  9744. SELECT * FROM t1
  9745. UNION ALL
  9746. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1
  9747. GROUP BY TJ_DATE,PLINE_NAME
  9748. UNION ALL
  9749. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1
  9750. GROUP BY PLINE_NAME
  9751. )
  9752. SELECT * FROM t2
  9753. ORDER BY TJ_DATE DESC,FLAG
  9754. ]]>
  9755. </query>
  9756. <query id="BuyGpDAL.selectLGTJ" desc="获取调度停机数据(炼钢)">
  9757. <![CDATA[
  9758. WITH t1
  9759. AS
  9760. (
  9761. SELECT CASE
  9762. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9763. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  9764. 'yyyy-mm-dd hh24:mi:ss')) THEN
  9765. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  9766. 'yyyy-MM-dd')
  9767. ELSE
  9768. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  9769. 'yyyy-MM-dd')
  9770. END TJ_DATE,
  9771. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9772. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  9773. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  9774. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  9775. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.EF_PLINE_CODE) PLINE_NAME,
  9776. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  9777. DECODE(T.PRO_BZ,
  9778. '1',
  9779. '甲',
  9780. '2',
  9781. '乙',
  9782. '3',
  9783. '丙',
  9784. '4',
  9785. '丁',
  9786. T.PRO_BZ) PRO_BZ,
  9787. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  9788. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  9789. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  9790. T.MEMO,
  9791. DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  9792. T.USER_NAME,
  9793. T.CONFIRM_NAME,
  9794. T.USER_DATE,
  9795. T.CONFIRM_TIME,
  9796. 0 AS flag,
  9797. NULL AS TJHOURS
  9798. FROM STL_CONTROL_LOG T
  9799. WHERE T.PRO_TYPE = '2'
  9800. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date(to_char(last_day(add_months(TO_DATE('#DATE#', 'yyyy-mm-dd hh24:mi:ss'),-1)),'yyyyMMdd')||'2100', 'yyyy-mm-dd hh24:mi:ss')
  9801. AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9802. AND T.EF_PLINE_CODE ='#PLINECODE#'
  9803. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  9804. ),
  9805. t2
  9806. AS
  9807. (
  9808. SELECT * FROM t1
  9809. UNION ALL
  9810. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1
  9811. GROUP BY TJ_DATE,PLINE_NAME
  9812. UNION ALL
  9813. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2) FROM t1
  9814. GROUP BY PLINE_NAME
  9815. )
  9816. SELECT * FROM t2
  9817. ORDER BY TJ_DATE DESC,FLAG
  9818. ]]>
  9819. </query>
  9820. <query id="BuyGpDAL.selectZGTJ1" desc="获取调度停机数据新">
  9821. <![CDATA[
  9822. WITH t1
  9823. AS
  9824. (
  9825. SELECT CASE
  9826. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9827. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  9828. 'yyyy-mm-dd hh24:mi:ss')) THEN
  9829. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  9830. 'yyyy-MM-dd')
  9831. ELSE
  9832. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  9833. 'yyyy-MM-dd')
  9834. END TJ_DATE,
  9835. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9836. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  9837. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  9838. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  9839. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME,
  9840. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  9841. DECODE(T.PRO_BZ,
  9842. '1',
  9843. '甲',
  9844. '2',
  9845. '乙',
  9846. '3',
  9847. '丙',
  9848. '4',
  9849. '丁',
  9850. T.PRO_BZ) PRO_BZ,
  9851. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  9852. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  9853. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  9854. T.MEMO,
  9855. DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  9856. T.USER_NAME,
  9857. T.CONFIRM_NAME,
  9858. T.USER_DATE,
  9859. T.CONFIRM_TIME,
  9860. 0 AS flag,
  9861. NULL AS TJHOURS,
  9862. (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT
  9863. FROM MIL_CONTROL_LOG T
  9864. WHERE T.PRO_TYPE = '2'
  9865. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date('#DATE1#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9866. AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9867. AND T.PLINE_CODE ='#PLINECODE#'
  9868. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  9869. ),
  9870. t2
  9871. AS
  9872. (
  9873. SELECT * FROM t1
  9874. UNION ALL
  9875. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  9876. GROUP BY TJ_DATE,PLINE_NAME
  9877. UNION ALL
  9878. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  9879. GROUP BY PLINE_NAME
  9880. )
  9881. SELECT * FROM t2
  9882. ORDER BY TJ_DATE DESC,FLAG
  9883. ]]>
  9884. </query>
  9885. <query id="BuyGpDAL.selectLGTJ1" desc="获取调度停机数据(炼钢)新">
  9886. <![CDATA[
  9887. WITH t1
  9888. AS
  9889. (
  9890. SELECT CASE
  9891. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9892. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  9893. 'yyyy-mm-dd hh24:mi:ss')) THEN
  9894. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  9895. 'yyyy-MM-dd')
  9896. ELSE
  9897. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  9898. 'yyyy-MM-dd')
  9899. END TJ_DATE,
  9900. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9901. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  9902. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  9903. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  9904. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.EF_PLINE_CODE) PLINE_NAME,
  9905. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  9906. DECODE(T.PRO_BZ,
  9907. '1',
  9908. '甲',
  9909. '2',
  9910. '乙',
  9911. '3',
  9912. '丙',
  9913. '4',
  9914. '丁',
  9915. T.PRO_BZ) PRO_BZ,
  9916. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  9917. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  9918. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  9919. T.MEMO,
  9920. DECODE(T.CONFIRM_FLAG, '1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  9921. T.USER_NAME,
  9922. T.CONFIRM_NAME,
  9923. T.USER_DATE,
  9924. T.CONFIRM_TIME,
  9925. 0 AS flag,
  9926. NULL AS TJHOURS,
  9927. (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT
  9928. FROM STL_CONTROL_LOG T
  9929. WHERE T.PRO_TYPE = '2'
  9930. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >= to_date('#DATE1#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9931. AND TO_DATE(T.Logs_End, 'yyyy-mm-dd hh24:mi:ss') <= to_date('#DATE#'|| ' 21:00:00','yyyy-mm-dd hh24:mi:ss')
  9932. AND T.EF_PLINE_CODE ='#PLINECODE#'
  9933. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  9934. ),
  9935. t2
  9936. AS
  9937. (
  9938. SELECT * FROM t1
  9939. UNION ALL
  9940. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  9941. GROUP BY TJ_DATE,PLINE_NAME
  9942. UNION ALL
  9943. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  9944. GROUP BY PLINE_NAME
  9945. )
  9946. SELECT * FROM t2
  9947. ORDER BY TJ_DATE DESC,FLAG
  9948. ]]>
  9949. </query>
  9950. <query id="BuyGpDAL.selectRCLTJ" desc="获取热处理调度停机数据(不包含元通)">
  9951. <![CDATA[
  9952. WITH t1
  9953. AS
  9954. (
  9955. SELECT CASE
  9956. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  9957. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  9958. 'yyyy-mm-dd hh24:mi:ss')) THEN
  9959. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  9960. 'yyyy-MM-dd')
  9961. ELSE
  9962. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  9963. 'yyyy-MM-dd')
  9964. END TJ_DATE,
  9965. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  9966. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  9967. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  9968. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  9969. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME,
  9970. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  9971. DECODE(T.PRO_BZ,
  9972. '1',
  9973. '甲',
  9974. '2',
  9975. '乙',
  9976. '3',
  9977. '丙',
  9978. '4',
  9979. '丁',
  9980. T.PRO_BZ) PRO_BZ,
  9981. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  9982. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  9983. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  9984. T.MEMO,
  9985. DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  9986. T.USER_NAME,
  9987. T.CONFIRM_NAME,
  9988. T.USER_DATE,
  9989. T.CONFIRM_TIME,
  9990. 0 AS flag,
  9991. NULL AS TJHOURS,
  9992. (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT
  9993. FROM (SELECT T.CONTROL_ID,
  9994. T.LOGS_BEG,
  9995. T.LOGS_END,
  9996. T.PLINE_CODE,
  9997. T.STOP_TYPE,
  9998. T.STOP_REASON,
  9999. T.STOP_SMALL,
  10000. T.CONFIRM_TIME,
  10001. T.USER_DATE,
  10002. T.CONFIRM_NAME,
  10003. T.USER_NAME,
  10004. T.CONFIRM_FLAG,
  10005. T.MEMO,
  10006. T.PRO_BZ,
  10007. T.PRO_BC
  10008. FROM HTT_CONTROL_LOG T
  10009. --, HTT_CONTROL_LOG_DETAIL T1
  10010. WHERE T.PRO_TYPE = '2' AND T.STATION IN ('#STATION#')
  10011. --AND T.CONTROL_ID = T1.CONTROL_ID
  10012. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10013. TO_DATE('#DATE1#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10014. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10015. TO_DATE('#DATE#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10016. AND T.PLINE_CODE = '#PLINECODE#') T
  10017. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  10018. ),
  10019. t2
  10020. AS
  10021. (
  10022. SELECT * FROM t1
  10023. UNION ALL
  10024. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10025. GROUP BY TJ_DATE,PLINE_NAME
  10026. UNION ALL
  10027. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10028. GROUP BY PLINE_NAME
  10029. )
  10030. SELECT * FROM t2
  10031. ORDER BY TJ_DATE DESC,FLAG
  10032. ]]>
  10033. </query>
  10034. <query id="BuyGpDAL.selectRCLTJG" desc="获取加工线调度停机数据">
  10035. <![CDATA[
  10036. WITH t1
  10037. AS
  10038. (
  10039. SELECT CASE
  10040. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10041. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2100',
  10042. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10043. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10044. 'yyyy-MM-dd')
  10045. ELSE
  10046. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10047. 'yyyy-MM-dd')
  10048. END TJ_DATE,
  10049. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10050. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  10051. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  10052. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  10053. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME,
  10054. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  10055. DECODE(T.PRO_BZ,
  10056. '1',
  10057. '甲',
  10058. '2',
  10059. '乙',
  10060. '3',
  10061. '丙',
  10062. '4',
  10063. '丁',
  10064. T.PRO_BZ) PRO_BZ,
  10065. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  10066. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  10067. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  10068. T.MEMO,
  10069. DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  10070. T.USER_NAME,
  10071. T.CONFIRM_NAME,
  10072. T.USER_DATE,
  10073. T.CONFIRM_TIME,
  10074. 0 AS flag,
  10075. NULL AS TJHOURS,
  10076. (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT
  10077. FROM (SELECT T.CONTROL_ID,
  10078. T.LOGS_BEG,
  10079. T.LOGS_END,
  10080. T.PLINE_CODE,
  10081. T.STOP_TYPE,
  10082. T.STOP_REASON,
  10083. T.STOP_SMALL,
  10084. T.CONFIRM_TIME,
  10085. T.USER_DATE,
  10086. T.CONFIRM_NAME,
  10087. T.USER_NAME,
  10088. T.CONFIRM_FLAG,
  10089. T.MEMO,
  10090. T.PRO_BZ,
  10091. T.PRO_BC
  10092. FROM HTT_CONTROL_LOG T
  10093. --, HTT_CONTROL_LOG_DETAIL T1
  10094. WHERE T.PRO_TYPE = '2'
  10095. --AND T.CONTROL_ID = T1.CONTROL_ID
  10096. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10097. TO_DATE('#DATE1#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10098. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10099. TO_DATE('#DATE#'|| ' 21:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10100. AND T.PLINE_CODE = '#PLINECODE#'
  10101. )T
  10102. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  10103. ),
  10104. t2
  10105. AS
  10106. (
  10107. SELECT * FROM t1
  10108. UNION ALL
  10109. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10110. GROUP BY TJ_DATE
  10111. UNION ALL
  10112. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10113. --GROUP BY PLINE_NAME
  10114. )
  10115. SELECT * FROM t2
  10116. ORDER BY TJ_DATE DESC,FLAG,PLINE_NAME
  10117. ]]>
  10118. </query>
  10119. <query id="BuyGpDAL.selectRCLTJ1" desc="获取热处理调度停机数据(元通热处理 C049 C050)">
  10120. <![CDATA[
  10121. WITH t1
  10122. AS
  10123. (
  10124. SELECT CASE
  10125. WHEN (TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10126. TO_DATE(SUBSTR(T.LOGS_BEG, 1, 8) || '2000',
  10127. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10128. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10129. 'yyyy-MM-dd')
  10130. ELSE
  10131. TO_CHAR(TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10132. 'yyyy-MM-dd')
  10133. END TJ_DATE,
  10134. ROUND((TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10135. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60,0) AS TJ_TIME,
  10136. TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') LOGS_BEG,
  10137. TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') LOGS_END,
  10138. (SELECT PLINE_NAME FROM Com_Base_Pline WHERE pline_code = T.PLINE_CODE) PLINE_NAME,
  10139. DECODE(T.PRO_BC, '1', '早', '2', '中', '3', '夜', T.PRO_BC) PRO_BC,
  10140. DECODE(T.PRO_BZ,
  10141. '1',
  10142. '甲',
  10143. '2',
  10144. '乙',
  10145. '3',
  10146. '丙',
  10147. '4',
  10148. '丁',
  10149. T.PRO_BZ) PRO_BZ,
  10150. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_TYPE) STOP_TYPE,
  10151. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_SMALL) STOP_SMALL,
  10152. (SELECT MAX(BASENAME) FROM COM_BASE_INFO WHERE basecode=T.STOP_REASON) STOP_REASON,
  10153. T.MEMO,
  10154. DECODE(T.CONFIRM_FLAG, '2','已审核','1', '确认', '0', '未确认', T.CONFIRM_FLAG) CONFIRM_FLAG,
  10155. T.USER_NAME,
  10156. T.CONFIRM_NAME,
  10157. T.USER_DATE,
  10158. T.CONFIRM_TIME,
  10159. 0 AS flag,
  10160. NULL AS TJHOURS,
  10161. (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T.STOP_REASON) DEPT
  10162. FROM (SELECT T.CONTROL_ID,
  10163. T.LOGS_BEG,
  10164. T.LOGS_END,
  10165. T.PLINE_CODE,
  10166. T.STOP_TYPE,
  10167. T.STOP_REASON,
  10168. T.STOP_SMALL,
  10169. T.CONFIRM_TIME,
  10170. T.USER_DATE,
  10171. T.CONFIRM_NAME,
  10172. T.USER_NAME,
  10173. T.CONFIRM_FLAG,
  10174. T.MEMO,
  10175. T.PRO_BZ,
  10176. T.PRO_BC
  10177. FROM HTT_CONTROL_LOG T
  10178. --, HTT_CONTROL_LOG_DETAIL T1
  10179. WHERE T.PRO_TYPE = '2' AND T.STATION IN ('#STATION#')
  10180. --AND T.CONTROL_ID = T1.CONTROL_ID
  10181. AND TO_DATE(T.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10182. TO_DATE('#DATE1#'|| ' 20:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10183. AND TO_DATE(T.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10184. TO_DATE('#DATE#'|| ' 20:00:00', 'yyyy-mm-dd hh24:mi:ss')
  10185. AND T.PLINE_CODE = '#PLINECODE#') T
  10186. ORDER BY T.PLINE_CODE, T.LOGS_BEG DESC
  10187. ),
  10188. t2
  10189. AS
  10190. (
  10191. SELECT * FROM t1
  10192. UNION ALL
  10193. SELECT TJ_DATE,SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 1 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10194. GROUP BY TJ_DATE,PLINE_NAME
  10195. UNION ALL
  10196. SELECT '1900-01-01',SUM(TJ_TIME),NULL,NULL,PLINE_NAME,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, 2 AS FLAG,ROUND(SUM(TJ_TIME)/60,2),NULL FROM t1
  10197. GROUP BY PLINE_NAME
  10198. )
  10199. SELECT * FROM t2
  10200. ORDER BY TJ_DATE DESC,FLAG
  10201. ]]>
  10202. </query>
  10203. <query id="BuyGpDAL.selectLGDDTJ" desc="获取炼钢调度停机图数据">
  10204. <![CDATA[
  10205. --形成初始表结构
  10206. WITH t
  10207. AS
  10208. (
  10209. SELECT * FROM
  10210. (
  10211. SELECT
  10212. DISTINCT CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机'
  10213. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10214. FROM STL_CONTROL_LOG T10
  10215. WHERE T10.PRO_TYPE = '2'
  10216. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10217. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10218. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10219. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10220. AND T10.STOP_TYPE IN ('300101', '300102')
  10221. AND T10.EF_PLINE_CODE IN ('#PLINECODE#')
  10222. AND EXISTS (SELECT *
  10223. FROM COM_BASE_INFO
  10224. WHERE BASECODE = T10.STOP_REASON
  10225. AND VALIDFLAG = '1')
  10226. ) ta ,(
  10227. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10228. ) tb
  10229. ORDER BY dates,DEPT
  10230. ),
  10231. --炼钢调度汇报实际数值
  10232. t1 AS
  10233. (
  10234. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM
  10235. (
  10236. SELECT T10.STOP_REASON,
  10237. T10.LOGS_BEG,
  10238. T10.LOGS_END,
  10239. CASE
  10240. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10241. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10242. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10243. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10244. 'yyyy-MM-dd')
  10245. ELSE
  10246. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10247. 'yyyy-MM-dd')
  10248. END TJ_DATE,
  10249. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10250. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10251. CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机'
  10252. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10253. (SELECT PLINE_NAME
  10254. FROM COM_BASE_PLINE
  10255. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  10256. T10.EF_PLINE_CODE PLINECODE
  10257. FROM STL_CONTROL_LOG T10
  10258. WHERE T10.PRO_TYPE = '2'
  10259. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10260. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10261. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10262. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10263. AND T10.STOP_TYPE IN ('300101', '300102')
  10264. AND T10.EF_PLINE_CODE IN ('#PLINECODE#')
  10265. AND EXISTS (SELECT *
  10266. FROM COM_BASE_INFO
  10267. WHERE BASECODE = T10.STOP_REASON
  10268. AND VALIDFLAG = '1')
  10269. ) ta
  10270. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10271. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10272. ),
  10273. --各个部门停机元素明细
  10274. t2 AS
  10275. (
  10276. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10277. ORDER BY t.dates
  10278. ),
  10279. t3 AS
  10280. (
  10281. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10282. ),
  10283. t4 AS
  10284. (
  10285. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10286. UNION ALL
  10287. SELECT * FROM t3
  10288. )
  10289. SELECT * FROM t4
  10290. ORDER BY opdate,dept desc
  10291. ]]>
  10292. </query>
  10293. <query id="BuyGpDAL.selectLGDDTJAll" desc="获取炼钢调度停机图数据全部(汇总)">
  10294. <![CDATA[
  10295. --形成初始表结构
  10296. WITH t
  10297. AS
  10298. (
  10299. SELECT * FROM
  10300. (
  10301. SELECT
  10302. DISTINCT CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机'
  10303. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10304. FROM STL_CONTROL_LOG T10
  10305. WHERE T10.PRO_TYPE = '2'
  10306. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10307. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10308. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10309. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10310. AND T10.STOP_TYPE IN ('300101', '300102')
  10311. AND T10.EF_PLINE_CODE IN ('C001','C003')
  10312. AND EXISTS (SELECT *
  10313. FROM COM_BASE_INFO
  10314. WHERE BASECODE = T10.STOP_REASON
  10315. AND VALIDFLAG = '1')
  10316. ) ta ,(
  10317. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10318. ) tb
  10319. ORDER BY dates,DEPT
  10320. ),
  10321. --炼钢调度汇报实际数值
  10322. t1 AS
  10323. (select tb.tj_date,tb.dept,SUM(tb.tjtime)/(2670+2670) tjtime from
  10324. (
  10325. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,
  10326. DECODE(ta.plinecode,'C001',SUM(ta.tjtime)*2670,'C003',SUM(ta.tjtime)*2670) tjtime FROM
  10327. (
  10328. SELECT T10.STOP_REASON,
  10329. T10.LOGS_BEG,
  10330. T10.LOGS_END,
  10331. CASE
  10332. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10333. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10334. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10335. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10336. 'yyyy-MM-dd')
  10337. ELSE
  10338. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10339. 'yyyy-MM-dd')
  10340. END TJ_DATE,
  10341. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10342. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10343. CASE WHEN T10.STOP_SMALL ='30010201' THEN '工艺停机'
  10344. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10345. (SELECT PLINE_NAME
  10346. FROM COM_BASE_PLINE
  10347. WHERE PLINE_CODE = T10.EF_PLINE_CODE) PLINENAME,
  10348. T10.EF_PLINE_CODE PLINECODE
  10349. FROM STL_CONTROL_LOG T10
  10350. WHERE T10.PRO_TYPE = '2'
  10351. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10352. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10353. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10354. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10355. AND T10.STOP_TYPE IN ('300101', '300102')
  10356. AND T10.EF_PLINE_CODE IN ('C001','C003')
  10357. AND EXISTS (SELECT *
  10358. FROM COM_BASE_INFO
  10359. WHERE BASECODE = T10.STOP_REASON
  10360. AND VALIDFLAG = '1')
  10361. ) ta
  10362. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10363. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10364. )tb
  10365. GROUP BY tb.tj_date,tb.dept
  10366. ),
  10367. --各个部门停机元素明细
  10368. t2 AS
  10369. (
  10370. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10371. ORDER BY t.dates
  10372. ),
  10373. t3 AS
  10374. (
  10375. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10376. ),
  10377. t4 AS
  10378. (
  10379. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10380. UNION ALL
  10381. SELECT * FROM t3
  10382. )
  10383. SELECT * FROM t4
  10384. ORDER BY opdate,dept desc
  10385. ]]>
  10386. </query>
  10387. <query id="BuyGpDAL.selectZGDDTJ" desc="获取轧制调度停机图数据">
  10388. <![CDATA[
  10389. WITH t
  10390. AS
  10391. (
  10392. SELECT * FROM
  10393. (
  10394. SELECT
  10395. DISTINCT CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机'
  10396. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10397. FROM MIL_CONTROL_LOG T10
  10398. WHERE T10.PRO_TYPE = '2'
  10399. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10400. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10401. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10402. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10403. AND T10.STOP_TYPE IN ('500601', '500602')
  10404. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10405. AND EXISTS (SELECT *
  10406. FROM COM_BASE_INFO
  10407. WHERE BASECODE = T10.STOP_REASON
  10408. AND VALIDFLAG = '1')
  10409. ) ta ,(
  10410. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10411. ) tb
  10412. ORDER BY dates,DEPT
  10413. ),
  10414. t1 AS
  10415. (
  10416. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM
  10417. (
  10418. SELECT T10.STOP_REASON,
  10419. T10.LOGS_BEG,
  10420. T10.LOGS_END,
  10421. CASE
  10422. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10423. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10424. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10425. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10426. 'yyyy-MM-dd')
  10427. ELSE
  10428. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10429. 'yyyy-MM-dd')
  10430. END TJ_DATE,
  10431. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10432. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10433. CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机'
  10434. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10435. (SELECT PLINE_NAME
  10436. FROM COM_BASE_PLINE
  10437. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10438. T10.PLINE_CODE PLINECODE
  10439. FROM MIL_CONTROL_LOG T10
  10440. WHERE T10.PRO_TYPE = '2'
  10441. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10442. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10443. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10444. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10445. AND T10.STOP_TYPE IN ('500601', '500602')
  10446. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10447. AND EXISTS (SELECT *
  10448. FROM COM_BASE_INFO
  10449. WHERE BASECODE = T10.STOP_REASON
  10450. AND VALIDFLAG = '1')
  10451. ) ta
  10452. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10453. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10454. ),
  10455. t2 AS
  10456. (
  10457. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10458. ORDER BY t.dates
  10459. ),
  10460. t3 AS
  10461. (
  10462. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10463. ),
  10464. t4 AS
  10465. (
  10466. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10467. UNION ALL
  10468. SELECT * FROM t3
  10469. )
  10470. SELECT * FROM t4
  10471. ORDER BY opdate,dept desc
  10472. ]]>
  10473. </query>
  10474. <query id="BuyGpDAL.selectZGDDTJAll" desc="获取轧制调度停机图数据全部(汇总)">
  10475. <![CDATA[
  10476. WITH t
  10477. AS
  10478. (
  10479. SELECT * FROM
  10480. (
  10481. SELECT
  10482. DISTINCT CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机'
  10483. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10484. FROM MIL_CONTROL_LOG T10
  10485. WHERE T10.PRO_TYPE = '2'
  10486. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10487. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10488. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10489. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10490. AND T10.STOP_TYPE IN ('500601', '500602')
  10491. AND T10.PLINE_CODE IN ('C008','C009','C010','C017')
  10492. AND EXISTS (SELECT *
  10493. FROM COM_BASE_INFO
  10494. WHERE BASECODE = T10.STOP_REASON
  10495. AND VALIDFLAG = '1')
  10496. ) ta ,(
  10497. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10498. ) tb
  10499. ORDER BY dates,DEPT
  10500. ),
  10501. t1 AS
  10502. (select tb.tj_date,tb.dept,SUM(tb.tjtime)/(2100+1670+1500+2500) tjtime from
  10503. (
  10504. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,
  10505. DECODE(ta.plinecode,'C008',SUM(ta.tjtime)*2100,'C009',SUM(ta.tjtime)*1670
  10506. ,'C010',SUM(ta.tjtime)*1500,'C017',SUM(ta.tjtime)*2500 ) tjtime FROM
  10507. (
  10508. SELECT T10.STOP_REASON,
  10509. T10.LOGS_BEG,
  10510. T10.LOGS_END,
  10511. CASE
  10512. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10513. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10514. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10515. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10516. 'yyyy-MM-dd')
  10517. ELSE
  10518. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10519. 'yyyy-MM-dd')
  10520. END TJ_DATE,
  10521. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10522. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10523. CASE WHEN T10.STOP_SMALL ='50060201' THEN '工艺停机'
  10524. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10525. (SELECT PLINE_NAME
  10526. FROM COM_BASE_PLINE
  10527. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10528. T10.PLINE_CODE PLINECODE
  10529. FROM MIL_CONTROL_LOG T10
  10530. WHERE T10.PRO_TYPE = '2'
  10531. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10532. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10533. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10534. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10535. AND T10.STOP_TYPE IN ('500601', '500602')
  10536. AND T10.PLINE_CODE IN ('C008','C009','C010','C017')
  10537. AND EXISTS (SELECT *
  10538. FROM COM_BASE_INFO
  10539. WHERE BASECODE = T10.STOP_REASON
  10540. AND VALIDFLAG = '1')
  10541. ) ta
  10542. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10543. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10544. )tb
  10545. GROUP BY tb.tj_date,tb.dept
  10546. ),
  10547. t2 AS
  10548. (
  10549. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10550. ORDER BY t.dates
  10551. ),
  10552. t3 AS
  10553. (
  10554. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10555. ),
  10556. t4 AS
  10557. (
  10558. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10559. UNION ALL
  10560. SELECT * FROM t3
  10561. )
  10562. SELECT * FROM t4
  10563. ORDER BY opdate,dept desc
  10564. ]]>
  10565. </query>
  10566. <query id="BuyGpDAL.selectRCLDDTJ" desc="获取热处理调度停机图数据">
  10567. <![CDATA[
  10568. WITH t
  10569. AS
  10570. (
  10571. SELECT * FROM
  10572. (
  10573. SELECT
  10574. DISTINCT CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10575. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10576. FROM HTT_CONTROL_LOG T10
  10577. WHERE T10.PRO_TYPE = '2'
  10578. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10579. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10580. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10581. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10582. AND T10.STOP_TYPE IN ('600602', '600603')
  10583. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10584. AND T10.STATION IN ('#STATION#')
  10585. AND EXISTS (SELECT *
  10586. FROM COM_BASE_INFO
  10587. WHERE BASECODE = T10.STOP_REASON
  10588. AND VALIDFLAG = '1')
  10589. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10590. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10591. ) ta ,(
  10592. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10593. ) tb
  10594. ORDER BY dates,DEPT
  10595. ),
  10596. t1 AS
  10597. (
  10598. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM
  10599. (
  10600. SELECT T10.STOP_REASON,
  10601. T10.LOGS_BEG,
  10602. T10.LOGS_END,
  10603. CASE
  10604. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10605. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10606. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10607. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10608. 'yyyy-MM-dd')
  10609. ELSE
  10610. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10611. 'yyyy-MM-dd')
  10612. END TJ_DATE,
  10613. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10614. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10615. CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10616. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10617. (SELECT PLINE_NAME
  10618. FROM COM_BASE_PLINE
  10619. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10620. T10.PLINE_CODE PLINECODE
  10621. FROM HTT_CONTROL_LOG T10
  10622. WHERE T10.PRO_TYPE = '2'
  10623. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10624. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10625. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10626. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10627. AND T10.STOP_TYPE IN ('600602', '600603')
  10628. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10629. AND T10.STATION IN ('#STATION#')
  10630. AND EXISTS (SELECT *
  10631. FROM COM_BASE_INFO
  10632. WHERE BASECODE = T10.STOP_REASON
  10633. AND VALIDFLAG = '1')
  10634. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10635. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10636. ) ta
  10637. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10638. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10639. ),
  10640. t2 AS
  10641. (
  10642. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10643. ORDER BY t.dates
  10644. ),
  10645. t3 AS
  10646. (
  10647. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10648. ),
  10649. t4 AS
  10650. (
  10651. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10652. UNION ALL
  10653. SELECT * FROM t3
  10654. )
  10655. SELECT * FROM t4
  10656. ORDER BY opdate,dept desc
  10657. ]]>
  10658. </query>
  10659. <query id="BuyGpDAL.selectRCLDDTJYT" desc="获取热处理调度停机图数据元通">
  10660. <![CDATA[
  10661. WITH t
  10662. AS
  10663. (
  10664. SELECT * FROM
  10665. (
  10666. SELECT
  10667. DISTINCT CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10668. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10669. FROM HTT_CONTROL_LOG T10
  10670. WHERE T10.PRO_TYPE = '2'
  10671. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10672. TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10673. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10674. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10675. AND T10.STOP_TYPE IN ('600602', '600603')
  10676. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10677. AND T10.STATION IN ('#STATION#')
  10678. AND EXISTS (SELECT *
  10679. FROM COM_BASE_INFO
  10680. WHERE BASECODE = T10.STOP_REASON
  10681. AND VALIDFLAG = '1')
  10682. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10683. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10684. ) ta ,(
  10685. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10686. ) tb
  10687. ORDER BY dates,DEPT
  10688. ),
  10689. t1 AS
  10690. (
  10691. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,SUM(ta.tjtime) tjtime FROM
  10692. (
  10693. SELECT T10.STOP_REASON,
  10694. T10.LOGS_BEG,
  10695. T10.LOGS_END,
  10696. CASE
  10697. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10698. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2000',
  10699. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10700. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10701. 'yyyy-MM-dd')
  10702. ELSE
  10703. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10704. 'yyyy-MM-dd')
  10705. END TJ_DATE,
  10706. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10707. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10708. CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10709. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10710. (SELECT PLINE_NAME
  10711. FROM COM_BASE_PLINE
  10712. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10713. T10.PLINE_CODE PLINECODE
  10714. FROM HTT_CONTROL_LOG T10
  10715. WHERE T10.PRO_TYPE = '2'
  10716. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10717. TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10718. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10719. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10720. AND T10.STOP_TYPE IN ('600602', '600603')
  10721. AND T10.PLINE_CODE IN ('#PLINECODE#')
  10722. AND T10.STATION IN ('#STATION#')
  10723. AND EXISTS (SELECT *
  10724. FROM COM_BASE_INFO
  10725. WHERE BASECODE = T10.STOP_REASON
  10726. AND VALIDFLAG = '1')
  10727. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10728. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10729. ) ta
  10730. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10731. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10732. ),
  10733. t2 AS
  10734. (
  10735. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10736. ORDER BY t.dates
  10737. ),
  10738. t3 AS
  10739. (
  10740. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10741. ),
  10742. t4 AS
  10743. (
  10744. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10745. UNION ALL
  10746. SELECT * FROM t3
  10747. )
  10748. SELECT * FROM t4
  10749. ORDER BY opdate,dept desc
  10750. ]]>
  10751. </query>
  10752. <query id="BuyGpDAL.selectRCLDDTJAll" desc="获取热处理调度停机图数据全部(汇总)">
  10753. <![CDATA[
  10754. WITH t
  10755. AS
  10756. (
  10757. SELECT * FROM
  10758. (
  10759. SELECT
  10760. DISTINCT CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10761. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10762. FROM HTT_CONTROL_LOG T10
  10763. WHERE T10.PRO_TYPE = '2'
  10764. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10765. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10766. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10767. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10768. AND T10.STOP_TYPE IN ('600602', '600603')
  10769. AND T10.PLINE_CODE IN ('C022','C023','C024','C025','C026',
  10770. 'C054','C055','C048','C049','C050')
  10771. AND T10.STATION IN ('#STATION#')
  10772. AND EXISTS (SELECT *
  10773. FROM COM_BASE_INFO
  10774. WHERE BASECODE = T10.STOP_REASON
  10775. AND VALIDFLAG = '1')
  10776. ) ta ,(
  10777. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10778. ) tb
  10779. ORDER BY dates,DEPT
  10780. ),
  10781. t1 AS
  10782. (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/(550+330+280+550+280+170+280+200+620+220) tjtime FROM
  10783. (
  10784. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,
  10785. DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330
  10786. ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550
  10787. ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170
  10788. ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200
  10789. ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM
  10790. (
  10791. SELECT T10.STOP_REASON,
  10792. T10.LOGS_BEG,
  10793. T10.LOGS_END,
  10794. CASE
  10795. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10796. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10797. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10798. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10799. 'yyyy-MM-dd')
  10800. ELSE
  10801. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10802. 'yyyy-MM-dd')
  10803. END TJ_DATE,
  10804. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10805. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10806. CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10807. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10808. (SELECT PLINE_NAME
  10809. FROM COM_BASE_PLINE
  10810. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10811. T10.PLINE_CODE PLINECODE
  10812. FROM HTT_CONTROL_LOG T10
  10813. WHERE T10.PRO_TYPE = '2'
  10814. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10815. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10816. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10817. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10818. AND T10.STOP_TYPE IN ('600602', '600603')
  10819. AND T10.PLINE_CODE IN ('C022','C023','C024','C025','C026',
  10820. 'C054','C055','C048','C049','C050')
  10821. AND T10.STATION IN ('#STATION#')
  10822. AND EXISTS (SELECT *
  10823. FROM COM_BASE_INFO
  10824. WHERE BASECODE = T10.STOP_REASON
  10825. AND VALIDFLAG = '1')
  10826. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10827. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10828. ) ta
  10829. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10830. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10831. )tb
  10832. GROUP BY tb.tj_date,tb.dept
  10833. ),
  10834. t2 AS
  10835. (
  10836. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10837. ORDER BY t.dates
  10838. ),
  10839. t3 AS
  10840. (
  10841. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10842. ),
  10843. t4 AS
  10844. (
  10845. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10846. UNION ALL
  10847. SELECT * FROM t3
  10848. )
  10849. SELECT * FROM t4
  10850. ORDER BY opdate,dept desc
  10851. ]]>
  10852. </query>
  10853. <query id="BuyGpDAL.selectRCLDDTJPARTIAL" desc="获取热处理调度停机图数据全部(分区域)">
  10854. <![CDATA[
  10855. WITH t
  10856. AS
  10857. (
  10858. SELECT * FROM
  10859. (
  10860. SELECT
  10861. DISTINCT CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10862. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10863. FROM HTT_CONTROL_LOG T10
  10864. WHERE T10.PRO_TYPE = '2'
  10865. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10866. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10867. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10868. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10869. AND T10.STOP_TYPE IN ('600602', '600603')
  10870. AND T10.PLINE_CODE IN (#PLINECODE#)
  10871. AND T10.STATION IN ('#STATION#')
  10872. AND EXISTS (SELECT *
  10873. FROM COM_BASE_INFO
  10874. WHERE BASECODE = T10.STOP_REASON
  10875. AND VALIDFLAG = '1')
  10876. ) ta ,(
  10877. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10878. ) tb
  10879. ORDER BY dates,DEPT
  10880. ),
  10881. t1 AS
  10882. (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/DECODE('#REGION#','F01',(550+330+280+550+280),'F02',(170+280+200),'F03',(620+220),
  10883. 'F11',(550+330+280+550+280),'F12',(170+280+200),'F13',(620+220)) tjtime FROM
  10884. (
  10885. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,
  10886. DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330
  10887. ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550
  10888. ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170
  10889. ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200
  10890. ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM
  10891. (
  10892. SELECT T10.STOP_REASON,
  10893. T10.LOGS_BEG,
  10894. T10.LOGS_END,
  10895. CASE
  10896. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10897. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2100',
  10898. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10899. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  10900. 'yyyy-MM-dd')
  10901. ELSE
  10902. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  10903. 'yyyy-MM-dd')
  10904. END TJ_DATE,
  10905. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10906. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  10907. CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10908. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  10909. (SELECT PLINE_NAME
  10910. FROM COM_BASE_PLINE
  10911. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  10912. T10.PLINE_CODE PLINECODE
  10913. FROM HTT_CONTROL_LOG T10
  10914. WHERE T10.PRO_TYPE = '2'
  10915. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10916. TO_DATE('#STARTDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10917. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10918. TO_DATE('#ENDDATE#'||'2100', 'yyyy-mm-dd hh24:mi:ss')
  10919. AND T10.STOP_TYPE IN ('600602', '600603')
  10920. AND T10.PLINE_CODE IN (#PLINECODE#)
  10921. AND T10.STATION IN ('#STATION#')
  10922. AND EXISTS (SELECT *
  10923. FROM COM_BASE_INFO
  10924. WHERE BASECODE = T10.STOP_REASON
  10925. AND VALIDFLAG = '1')
  10926. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  10927. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  10928. ) ta
  10929. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  10930. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  10931. )tb
  10932. GROUP BY tb.tj_date,tb.dept
  10933. ),
  10934. t2 AS
  10935. (
  10936. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  10937. ORDER BY t.dates
  10938. ),
  10939. t3 AS
  10940. (
  10941. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  10942. ),
  10943. t4 AS
  10944. (
  10945. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  10946. UNION ALL
  10947. SELECT * FROM t3
  10948. )
  10949. SELECT * FROM t4
  10950. ORDER BY opdate,dept desc
  10951. ]]>
  10952. </query>
  10953. <query id="BuyGpDAL.selectRCLDDTJPARTIALYT" desc="获取热处理调度停机图数据全部元通(分区域)">
  10954. <![CDATA[
  10955. WITH t
  10956. AS
  10957. (
  10958. SELECT * FROM
  10959. (
  10960. SELECT
  10961. DISTINCT CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  10962. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT
  10963. FROM HTT_CONTROL_LOG T10
  10964. WHERE T10.PRO_TYPE = '2'
  10965. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10966. TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10967. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  10968. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  10969. AND T10.STOP_TYPE IN ('600602', '600603')
  10970. AND T10.PLINE_CODE IN (#PLINECODE#)
  10971. AND T10.STATION IN ('#STATION#')
  10972. AND EXISTS (SELECT *
  10973. FROM COM_BASE_INFO
  10974. WHERE BASECODE = T10.STOP_REASON
  10975. AND VALIDFLAG = '1')
  10976. ) ta ,(
  10977. SELECT to_char(TO_DATE('#ENDDATE#', 'yyyy-mm-dd hh24:mi:ss') - LEVEL + 1, 'yyyy-mm-dd') dates FROM DUAL connect BY LEVEL <= #DAYS#
  10978. ) tb
  10979. ORDER BY dates,DEPT
  10980. ),
  10981. t1 AS
  10982. (SELECT tb.tj_date,tb.dept,sum(tb.tjtime)/DECODE('#REGION#','F01',(550+330+280+550+280),'F02',(170+280+200),'F03',(620+220),
  10983. 'F11',(550+330+280+550+280),'F12',(170+280+200),'F13',(620+220)) tjtime FROM
  10984. (
  10985. SELECT ta.tj_date,ta.dept,ta.plinename,ta.plinecode,
  10986. DECODE(ta.plinecode,'C022',SUM(ta.tjtime)*550,'C023',SUM(ta.tjtime)*330
  10987. ,'C024',SUM(ta.tjtime)*280,'C025',SUM(ta.tjtime)*550
  10988. ,'C026',SUM(ta.tjtime)*280,'C054',SUM(ta.tjtime)*170
  10989. ,'C055',SUM(ta.tjtime)*280,'C048',SUM(ta.tjtime)*200
  10990. ,'C049',SUM(ta.tjtime)*620,'C050',SUM(ta.tjtime)*220) tjtime FROM
  10991. (
  10992. SELECT T10.STOP_REASON,
  10993. T10.LOGS_BEG,
  10994. T10.LOGS_END,
  10995. CASE
  10996. WHEN (TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  10997. TO_DATE(SUBSTR(T10.LOGS_BEG, 1, 8) || '2000',
  10998. 'yyyy-mm-dd hh24:mi:ss')) THEN
  10999. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') + 1,
  11000. 'yyyy-MM-dd')
  11001. ELSE
  11002. TO_CHAR(TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss'),
  11003. 'yyyy-MM-dd')
  11004. END TJ_DATE,
  11005. (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  11006. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 AS TJTIME,
  11007. CASE WHEN T10.STOP_SMALL ='60060309' THEN '工艺停机'
  11008. ELSE (SELECT DEPT FROM COM_BASE_INFO WHERE BASECODE = T10.STOP_REASON) END DEPT,
  11009. (SELECT PLINE_NAME
  11010. FROM COM_BASE_PLINE
  11011. WHERE PLINE_CODE = T10.PLINE_CODE) PLINENAME,
  11012. T10.PLINE_CODE PLINECODE
  11013. FROM HTT_CONTROL_LOG T10
  11014. WHERE T10.PRO_TYPE = '2'
  11015. AND TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss') >=
  11016. TO_DATE('#STARTDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  11017. AND TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') <=
  11018. TO_DATE('#ENDDATE#'||'2000', 'yyyy-mm-dd hh24:mi:ss')
  11019. AND T10.STOP_TYPE IN ('600602', '600603')
  11020. AND T10.PLINE_CODE IN (#PLINECODE#)
  11021. AND T10.STATION IN ('#STATION#')
  11022. AND EXISTS (SELECT *
  11023. FROM COM_BASE_INFO
  11024. WHERE BASECODE = T10.STOP_REASON
  11025. AND VALIDFLAG = '1')
  11026. AND (TO_DATE(T10.LOGS_END, 'yyyy-mm-dd hh24:mi:ss') -
  11027. TO_DATE(T10.LOGS_BEG, 'yyyy-mm-dd hh24:mi:ss')) >0
  11028. ) ta
  11029. GROUP BY ta.tj_date,ta.dept,ta.plinename,ta.plinecode
  11030. ORDER BY ta.tj_date,ta.plinename,ta.plinecode
  11031. )tb
  11032. GROUP BY tb.tj_date,tb.dept
  11033. ),
  11034. t2 AS
  11035. (
  11036. SELECT t.*,nvl(t1.tjtime,0) tjtime FROM t,t1 WHERE t.dates = t1.tj_date(+) AND t.dept = t1.dept(+)
  11037. ORDER BY t.dates
  11038. ),
  11039. t3 AS
  11040. (
  11041. SELECT '作业时间' ,TO_DATE(dates, 'yyyy-mm-dd hh24:mi:ss') dates,ROUND((24*60 -sum(tjtime))/60,2) zytime FROM t2 GROUP BY dates
  11042. ),
  11043. t4 AS
  11044. (
  11045. SELECT t2.dept,TO_DATE(t2.dates, 'yyyy-mm-dd hh24:mi:ss') opdate,CAST(tjtime/60 as number(8,2)) optime FROM t2
  11046. UNION ALL
  11047. SELECT * FROM t3
  11048. )
  11049. SELECT * FROM t4
  11050. ORDER BY opdate,dept desc
  11051. ]]>
  11052. </query>
  11053. <query id="BuyGpDAL.UpdateExamineStatus" desc="工艺审批">
  11054. <![CDATA[
  11055. UPDATE PLN_REQINF_GP
  11056. SET EXAMINE_STATUS={0},EXAMINE_TIME=SYSDATE
  11057. WHERE EXAMINE_STATUS={1}
  11058. ]]>
  11059. </query>
  11060. </queryMap>