99825d8481bc722b89b7a0cf060c2109b6bcab5a.svn-base 610 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724
  1. package QCM.QCM03.QCM0303;
  2. import CoreFS.SA01.CoreIComponent;
  3. import CoreFS.SA06.CoreReturnObject;
  4. import QCM.COMMUNAL.QCM02.SqlJoint;
  5. import QCM.COMMUNAL.VO.*;
  6. import org.apache.commons.lang.StringUtils;
  7. import org.apache.http.HttpResponse;
  8. import org.apache.http.HttpStatus;
  9. import org.apache.http.client.HttpClient;
  10. import org.apache.http.client.methods.HttpPost;
  11. import org.apache.http.entity.StringEntity;
  12. import org.apache.http.impl.client.DefaultHttpClient;
  13. import org.apache.http.message.BasicHeader;
  14. import org.apache.http.protocol.HTTP;
  15. import org.apache.ibatis.session.SqlSession;
  16. import org.apache.log4j.Logger;
  17. import com.alibaba.fastjson.JSON;
  18. import com.alibaba.fastjson.JSONArray;
  19. import com.alibaba.fastjson.JSONObject;
  20. import java.io.BufferedReader;
  21. import java.io.InputStream;
  22. import java.io.InputStreamReader;
  23. import java.sql.CallableStatement;
  24. import java.sql.Connection;
  25. import java.sql.ResultSet;
  26. import java.text.DecimalFormat;
  27. import java.text.SimpleDateFormat;
  28. import java.util.*;
  29. public class QcmJudgeMeasureServiceImpl extends CoreIComponent{
  30. CoreReturnObject cro = new CoreReturnObject();
  31. ResultSet rs = null;
  32. SqlSession SqlSession =
  33. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  34. QCM.COMMUNAL.OrderSqMapper mapper = SqlSession.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  35. public String StrSky(String begintime,String endtime){
  36. String sql = "select (to_date('"+endtime+"','yyyy-MM-dd') - to_date('"+begintime+"','yyyy-MM-dd')) SKY from dual";
  37. HashMap list = mapper.queryOne(sql);
  38. Double ble = Double.parseDouble(list.get("SKY").toString());
  39. String tstr="FALSE";
  40. if(ble>=0 && ble <=30 ){
  41. tstr="TRUE";
  42. }
  43. return tstr;
  44. }
  45. Logger logger = Logger.getLogger(this.getClass().getName());
  46. /**
  47. * 查询待判信息 (外观、公差、探伤) 查询轧批号与计划号 生产提供sql B表面 M公差 T探伤
  48. */
  49. @SuppressWarnings("rawtypes")
  50. public CoreReturnObject doQueryMaterialWebJ(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) {
  51. String swhere = " where 1=1 ";
  52. String swhere1 = " 1=1";
  53. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  54. swhere += " and PRODUCETIME >= '"+begintime+"',<= '"+endtime+"',')";
  55. }
  56. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  57. swhere += "and batchno >= '"+bbatchno+"'";
  58. }
  59. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  60. swhere += "and batchno <= '"+ebatchno+"'";
  61. }
  62. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  63. swhere += " and design_key like '%"+design_key+"%'";
  64. }
  65. if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc
  66. swhere += " and psc_desc like '%"+Psc_desc+"%'";
  67. }
  68. swhere1 += " and b.JUDGERESULT = '0'";
  69. if ("R".equals(type)){
  70. swhere1 += " and b.r_chemresult = '0'";
  71. }
  72. /*if ("B".equals(type)) {
  73. swhere1 += " and b.surfaceresult = '0'";
  74. }else if ("M".equals(type)) {
  75. swhere1 += " and b.sizeresult = '0'";
  76. }else if ("T".equals(type)){
  77. swhere1 += " and b.spyresult = '0'";
  78. }else if ("R".equals(type)){
  79. swhere1 += " and b.r_chemresult = '0'";
  80. }*/
  81. String sql = "select batchno, plan_no from (select SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no,T.OLD_SAMPL_NO material_no, "
  82. + " T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no"
  83. + " and t.coil_stat = '2' and "+swhere1+ ""
  84. + " union all select SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno,t1.ROLL_MANA_NO plan_no,T.OLD_SAMPL_NO material_no, "
  85. + " T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no"
  86. + " and t.coil_stat = '2' and "+swhere1+""
  87. + " union all select SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno,t1.CAL_NO plan_no,T.OLD_SAMPL_NO material_no, "
  88. + " T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc,to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME from c_tbl02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no"
  89. + " and t.coil_stat = '2' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc ";
  90. try {
  91. System.out.print(sql);
  92. List<HashMap> list = mapper.query(sql);
  93. cro.setResult(list);
  94. } catch (Exception ex) {
  95. ex.printStackTrace();
  96. cro.setV_errCode(-1);
  97. cro.setV_errMsg("查询失败!" + ex.getMessage());
  98. }
  99. SqlSession.close();
  100. return cro;
  101. }
  102. @SuppressWarnings("rawtypes")
  103. public CoreReturnObject doQueryMaterialWebBS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) {
  104. String swhere = " where 1=1 ";
  105. String swhere1 = " 1=1";
  106. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  107. swhere1 += " and to_date(to_char(maketime,'yyyy-mm-dd'),'yyyy-mm-dd') >= to_date('"+begintime+"','yyyy-mm-dd') ";
  108. swhere1 += " and to_date(to_char(maketime,'yyyy-mm-dd'),'yyyy-mm-dd') <= to_date('"+endtime+"','yyyy-mm-dd')";
  109. }
  110. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  111. swhere += "and batchno >= '"+bbatchno+"'";
  112. }
  113. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  114. swhere += "and batchno <= '"+ebatchno+"'";
  115. }
  116. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  117. swhere += " and design_key like '%"+design_key+"%'";
  118. }
  119. if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc
  120. swhere += " and psc_desc like '%"+Psc_desc+"%'";
  121. }
  122. swhere1 += " and b.JUDGERESULT = '0'";
  123. if ("R".equals(type)){
  124. swhere1 += " and b.r_chemresult = '0'";
  125. }
  126. /*if ("B".equals(type)) {
  127. swhere1 += " and b.surfaceresult = '0'";
  128. }else if ("M".equals(type)) {
  129. swhere1 += " and b.sizeresult = '0'";
  130. }else if ("T".equals(type)){
  131. swhere1 += " and b.spyresult = '0'";
  132. }else if ("R".equals(type)){
  133. swhere1 += " and b.r_chemresult = '0'";
  134. }*/
  135. String sql = "select batchno, plan_no from (select batchno,a.taskno plan_no,a.ORDERID design_key,a.maketime PRODUCETIME,'' PSC_DESC from zyhb_plandetailofplate@xgcx a, zj_result_all@xgcx b "
  136. + " where a.SLABNO = b.BILLETID and a.SLABNO not in (select BILLETID from kch_turnofflist@xgcx "
  137. + " where STORAGESTATUS = '501601' and BILLETID like 'H%') and "+swhere1+" "
  138. + " union all "
  139. + " select a.batchno ,a.taskno plan_no,a.ORDERNO design_key,a.maketime PRODUCETIME,'' PSC_DESC from mb_plandetailofplate@xgcx a,zj_result_all@xgcx b where a.PRODUCTNO = b.BILLETID and a.PRODUCTNO not in "
  140. + " (select BILLETID from kcz_turnofflist@xgcx where STORAGESTATUS = '501601' and BILLETID like 'Z%') "
  141. + " and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc";
  142. try {
  143. System.out.print(sql);
  144. List<HashMap> list = mapper.query(sql);
  145. cro.setResult(list);
  146. } catch (Exception ex) {
  147. ex.printStackTrace();
  148. cro.setV_errCode(-1);
  149. cro.setV_errMsg("查询失败!" + ex.getMessage());
  150. }
  151. SqlSession.close();
  152. return cro;
  153. }
  154. @SuppressWarnings("rawtypes")
  155. public CoreReturnObject doQueryMaterialWebB(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) {
  156. String swhere = " where 1=1 ";
  157. String swhere1 = " 1=1";
  158. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  159. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  160. }
  161. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  162. swhere += "and batchno >= '"+bbatchno+"'";
  163. }
  164. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  165. swhere += "and batchno <= '"+ebatchno+"'";
  166. }
  167. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  168. swhere += " and design_key like '%"+design_key+"%'";
  169. }
  170. if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc
  171. swhere += " and psc_desc like '%"+Psc_desc+"%'";
  172. }
  173. swhere1 += " and b.JUDGERESULT = '0'";
  174. if ("R".equals(type)){
  175. swhere1 += " and b.r_chemresult = '0'";
  176. }
  177. /*if ("B".equals(type)) {
  178. swhere1 += " and b.surfaceresult = '0'";
  179. }else if ("M".equals(type)) {
  180. swhere1 += " and b.sizeresult = '0'";
  181. }else if ("T".equals(type)){
  182. swhere1 += " and b.spyresult = '0'";
  183. }else if ("R".equals(type)){
  184. swhere1 += " and b.r_chemresult = '0'";
  185. }*/
  186. String sql = "select batchno, plan_no from (select a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, "
  187. + " a.BILLETID material_no, ALLOTORDERFORM design_key, '' psc_desc, PRODUCETIME from kch_turnofflist@xgcx a "
  188. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where a.STORAGESTATUS = '501602' and "+swhere1+" "
  189. + " union all "
  190. + " select ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key, '' psc_desc, "
  191. + " PTIME PRODUCETIME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  192. + " where a.STORAGESTATUS = '501602' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc";
  193. try {
  194. System.out.print(sql);
  195. List<HashMap> list = mapper.query(sql);
  196. cro.setResult(list);
  197. } catch (Exception ex) {
  198. ex.printStackTrace();
  199. cro.setV_errCode(-1);
  200. cro.setV_errMsg("查询失败!" + ex.getMessage());
  201. }
  202. SqlSession.close();
  203. return cro;
  204. }
  205. @SuppressWarnings("rawtypes")
  206. public CoreReturnObject doQueryMaterialWebX(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String Psc_desc,String type) {
  207. String swhere = " where 1=1 ";
  208. String swhere1 = " 1=1";
  209. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  210. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  211. }
  212. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  213. swhere += "and batchno >= '"+bbatchno+"'";
  214. }
  215. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  216. swhere += "and batchno <= '"+ebatchno+"'";
  217. }
  218. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  219. swhere += " and design_key like '%"+design_key+"%'";
  220. }
  221. if (!SqlJoint.IsNullOrSpace(Psc_desc)) { //Psc_desc
  222. swhere += " and psc_desc like '%"+Psc_desc+"%'";
  223. }
  224. swhere1 += " and b.JUDGERESULT = '0'";
  225. if ("R".equals(type)){
  226. swhere1 += " and b.r_chemresult = '0'";
  227. }
  228. /*if ("B".equals(type)) {
  229. swhere1 += " and b.surfaceresult = '0'";
  230. }else if ("M".equals(type)) {
  231. swhere1 += " and b.sizeresult = '0'";
  232. }else if ("T".equals(type)){
  233. swhere1 += " and b.spyresult = '0'";
  234. }else if ("R".equals(type)){
  235. swhere1 += " and b.r_chemresult = '0'";
  236. }*/
  237. String sql = "select batchno, plan_no from (select ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key, "
  238. + " '' psc_desc, PTIME PRODUCETIME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  239. + " where a.STORAGESTATUS = '501602' and "+swhere1+") "+ swhere +" group by batchno, plan_no order by batchno desc";
  240. try {
  241. System.out.print(sql);
  242. List<HashMap> list = mapper.query(sql);
  243. cro.setResult(list);
  244. } catch (Exception ex) {
  245. ex.printStackTrace();
  246. cro.setV_errCode(-1);
  247. cro.setV_errMsg("查询失败!" + ex.getMessage());
  248. }
  249. SqlSession.close();
  250. return cro;
  251. }
  252. /**
  253. * 查询待判明细信息 根据轧批号、计划号查询物料号
  254. */
  255. @SuppressWarnings("rawtypes")
  256. public CoreReturnObject doQueryMaterialDetailsJ2(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String steelname ) {
  257. String swhere = "";
  258. String swhere1 = "";
  259. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  260. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('" + begintime + "','yyyy-mm-dd') and to_date('" + endtime + "','yyyy-mm-dd')";
  261. }
  262. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  263. swhere += "and batchno >= '" + bbatchno + "'";
  264. }
  265. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  266. swhere += "and batchno <= '" + ebatchno + "'";
  267. }
  268. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  269. swhere += " and design_key like '%" + design_key + "%'";
  270. }
  271. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  272. swhere += " and material_no like '%" + material_no + "%'";
  273. }
  274. if(!SqlJoint.IsNullOrSpace(steelname)){
  275. swhere += " and steel_name = '" + steelname + "'";
  276. }
  277. // if (isjudge.equals("是")){
  278. // swhere1 += " and b.JUDGERESULT <> '0'";
  279. // }
  280. // else{
  281. // swhere1 += " and b.JUDGERESULT = '0'";
  282. // }
  283. if ("R".equals(type)) {
  284. swhere1 += " and b.r_chemresult = '0'";
  285. }
  286. if ("M".equals(type)) {
  287. if (isjudge.equals("是")) {
  288. swhere1 += " and b.sizeresult <> '0'";
  289. } else {
  290. swhere1 += " and b.sizeresult = '0'";
  291. }
  292. }
  293. if ("B".equals(type)) {
  294. if (isjudge.equals("是")) {
  295. swhere1 += " and b.surfaceresult <> '0'";
  296. } else {
  297. swhere1 += " and b.surfaceresult = '0'";
  298. }
  299. }
  300. if ("MB".equals(type)) {
  301. if (isjudge.equals("是")) {
  302. swhere1 += " and (b.surfaceresult <> '0' and b.sizeresult <> '0')";
  303. } else if(isjudge.equals("否")){
  304. swhere1 += " and (b.surfaceresult = '0' or b.sizeresult = '0')";
  305. }else{
  306. swhere1 += "";
  307. }
  308. }
  309. /*if ("B".equals(type)) {
  310. swhere1 += " and b.surfaceresult = '0'";
  311. }else if ("M".equals(type)) {
  312. swhere1 += " and b.sizeresult = '0'";
  313. }else if ("T".equals(type)){
  314. swhere1 += " and b.spyresult = '0'";
  315. }else if ("R".equals(type)){
  316. swhere1 += " and b.r_chemresult = '0'";
  317. }*/
  318. String sql = "";
  319. if (prodline.equals("热连轧")) {
  320. sql = "select *\n" +
  321. " from (select t.slab_no board_no,\n" +
  322. " substr(t.slab_no, 1, 10) heat_no,\n"+
  323. "T.fb_yn,\n"+
  324. "T.fb_reason,\n"+
  325. "decode(b.surfaceresult, '0', '未判定', '已判定') EXTSHAPE_DEC_GRD,\n" +
  326. " decode(b.sizeresult, '0', '未判定', '已判定') SIZE_DEC_RST,"+
  327. "'RZ1' pline_code,\n" +
  328. " substr(t.old_sampl_no, 1, 10) batchno,\n" +
  329. " t1.roll_mana_no plan_no,\n" +
  330. " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+
  331. " t.old_sampl_no material_no,\n" +
  332. " T.CPCJ_REMARK,\n" +
  333. " T.SPM_RMK,\n" +
  334. " T.CJ_REMARK,\n" +
  335. " T.DEAL_REMARK," +
  336. " t.ord_no || t.ord_seq design_key,\n" +
  337. " (select psc\n" +
  338. " from tbb01_ord_prod f\n" +
  339. " where f.ord_no = t.ord_no\n" +
  340. " and rownum = 1) psc,\n" +
  341. " '' psc_desc,\n" +
  342. " t.prodnm_cd delivery_state_desc,\n" +
  343. " t.instr_coil_thk thick,\n" +
  344. " t.instr_coil_wth width,\n" +
  345. " t.instr_coil_len length,\n" +
  346. " t.act_wgt / 1000 weight,\n" +
  347. " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" +
  348. " b.sizeid,\n" +
  349. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" +
  350. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" +
  351. " t.spec_stl_grd steel_code,\n" +
  352. " t.spec_stl_grd steel_name,\n" +
  353. " t.spec_abbsym std_code,\n" +
  354. " t.spec_abbsym std_name,\n" +
  355. " t.ord_use_cd prod_code,\n" +
  356. " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" +
  357. " t.instr_coil_thk plan,\n" +
  358. " t.instr_coil_wth plan_2,\n" +
  359. " t.coil_thk val2,\n" +
  360. " t.coil_wth val2_2,\n" +
  361. " t3.std_min_val,\n" +
  362. " t3.std_max_val,\n" +
  363. " t.dcs_thk val,\n" +
  364. " t.dcs_wth val_2,"+
  365. "t3.std_result_min,\n"+
  366. "t3.std_result_max,"+
  367. "t3.std_result_min_2,"+
  368. "t3.std_result_max_2,"+
  369. "t3.bias_name, "+
  370. "t3.bias_name_2, "+
  371. " t3.std_min_val_k,\n" +
  372. " t3.std_max_val_k,\n" +
  373. " t3.std_min_val_n,\n" +
  374. " t3.std_max_val_n,\n" +
  375. " t3.std_min_val_2,\n" +
  376. " t3.std_max_val_2,\n" +
  377. " t3.std_min_val_k_2,\n" +
  378. " t3.std_max_val_k_2,\n" +
  379. " t3.std_min_val_n_2,\n" +
  380. " t3.std_max_val_n_2,\n" +
  381. " t4.south_thick_val thick_val1,\n" +
  382. " t4.south_h_val h_val1,\n" +
  383. " t4.middle_h_val m_val1,\n" +
  384. " t4.north_h_val r_val1,\n" +
  385. " t4.middle_thick_val thick_val2,\n" +
  386. " t4.south_m_val h_val2,\n" +
  387. " t4.middle_m_val m_val2,\n" +
  388. " t4.north_m_val r_val2,\n" +
  389. " t4.north_thick_val thick_val3,\n" +
  390. " t4.south_r_val h_val3,\n" +
  391. " t4.middle_r_val m_val3,\n" +
  392. " t4.north_r_val r_val3,\n" +
  393. " t3.bias_code, \n" +
  394. " t3.bias_code_2 \n" +
  395. " from tbh02_coil_comm t,\n" +
  396. " tbf02_spec_mill t1,\n" +
  397. " qcm_judge_coil_result b,\n" +
  398. " tbg02_slab_comm t2,\n" +
  399. " (select max(std_min_val) std_min_val,\n" +
  400. " max(std_max_val) std_max_val,\n" +
  401. " max(std_result_min) std_result_min,\n" +
  402. " max(std_result_max) std_result_max,\n" +
  403. " max(std_result_min_2) std_result_min_2,\n" +
  404. " max(std_result_max_2) std_result_max_2,\n" +
  405. " max(std_min_val_k) std_min_val_k,\n" +
  406. " max(std_max_val_k) std_max_val_k,\n" +
  407. " max(std_min_val_n) std_min_val_n,\n" +
  408. " max(std_max_val_n) std_max_val_n,\n" +
  409. " max(std_min_val_2) std_min_val_2,\n" +
  410. " max(std_max_val_2) std_max_val_2,\n" +
  411. " max(std_min_val_k_2) std_min_val_k_2,\n" +
  412. " max(std_max_val_k_2) std_max_val_k_2,\n" +
  413. " max(std_min_val_n_2) std_min_val_n_2,\n" +
  414. " max(std_max_val_n_2) std_max_val_n_2,\n" +
  415. " design_key,\n" +
  416. " max(bias_code_1) bias_code,\n" +
  417. " max(bias_code_2) bias_code_2,\n" +
  418. " max(bias_name_1) bias_name,"+
  419. " max(bias_name_2)bias_name_2"+
  420. " from (select case\n" +
  421. " when t.specl_fl = '0' and\n" +
  422. " t.bias_code in ('KB01', 'KS01') then\n" +
  423. " t.std_min_val\n" +
  424. " end std_min_val,\n" +
  425. " case\n" +
  426. " when t.specl_fl = '0' and\n" +
  427. " t.bias_code in ('KB01', 'KS01') then\n" +
  428. " t.std_max_val\n" +
  429. " end std_max_val,\n" +
  430. " case\n" +
  431. " when t.specl_fl = '0' and\n" +
  432. " t.bias_code in ('KB01', 'KS01') then\n" +
  433. " t.std_result_min\n" +
  434. " end std_result_min,\n" +
  435. " case\n" +
  436. " when t.specl_fl = '0' and\n" +
  437. " t.bias_code in ('KB01', 'KS01') then\n" +
  438. " t.std_result_max\n" +
  439. " end std_result_max,\n" +
  440. " case\n" +
  441. " when t.specl_fl = '1' and\n" +
  442. " t.bias_code in ('KB01', 'KS01') then\n" +
  443. " t.std_min_val\n" +
  444. " end std_min_val_k,\n" +
  445. " case\n" +
  446. " when t.specl_fl = '1' and\n" +
  447. " t.bias_code in ('KB01', 'KS01') then\n" +
  448. " t.std_max_val\n" +
  449. " end std_max_val_k,\n" +
  450. " case\n" +
  451. " when t.specl_fl = '2' and\n" +
  452. " t.bias_code in ('KB01', 'KS01') then\n" +
  453. " t.std_min_val\n" +
  454. " end std_min_val_n,\n" +
  455. " case\n" +
  456. " when t.specl_fl = '2' and\n" +
  457. " t.bias_code in ('KB01', 'KS01') then\n" +
  458. " t.std_max_val\n" +
  459. " end std_max_val_n,\n" +
  460. " case\n" +
  461. " when t.specl_fl = '0' and\n" +
  462. " t.bias_code in ('KD01', 'KT01') then\n" +
  463. " t.std_min_val\n" +
  464. " end std_min_val_2,\n" +
  465. " case\n" +
  466. " when t.specl_fl = '0' and\n" +
  467. " t.bias_code in ('KD01', 'KT01') then\n" +
  468. " t.std_max_val\n" +
  469. " end std_max_val_2,\n" +
  470. " case\n" +
  471. " when t.specl_fl = '0' and\n" +
  472. " t.bias_code in ('KD01', 'KT01') then\n" +
  473. " t.std_result_max\n" +
  474. " end std_result_max_2,\n" +
  475. " case\n" +
  476. " when t.specl_fl = '0' and\n" +
  477. " t.bias_code in ('KD01', 'KT01') then\n" +
  478. " t.std_result_min\n" +
  479. " end std_result_min_2,\n" +
  480. " case\n" +
  481. " when t.specl_fl = '1' and\n" +
  482. " t.bias_code in ('KD01', 'KT01') then\n" +
  483. " t.std_min_val\n" +
  484. " end std_min_val_k_2,\n" +
  485. " case\n" +
  486. " when t.specl_fl = '1' and\n" +
  487. " t.bias_code in ('KD01', 'KT01') then\n" +
  488. " t.std_max_val\n" +
  489. " end std_max_val_k_2,\n" +
  490. " case\n" +
  491. " when t.specl_fl = '2' and\n" +
  492. " t.bias_code in ('KD01', 'KT01') then\n" +
  493. " t.std_min_val\n" +
  494. " end std_min_val_n_2,\n" +
  495. " case\n" +
  496. " when t.specl_fl = '2' and\n" +
  497. " t.bias_code in ('KD01', 'KT01') then\n" +
  498. " t.std_max_val\n" +
  499. " end std_max_val_n_2,\n" +
  500. " t.design_key,\n" +
  501. " case\n" +
  502. " when t.bias_code in ('KB01', 'KS01') then \n" +
  503. " t.bias_code \n" +
  504. " end bias_code_1,\n" +
  505. " case \n" +
  506. " when t.bias_code in ('KD01', 'KT01') then\n" +
  507. " t.bias_code\n" +
  508. " end bias_code_2,\n" +
  509. " case\n" +
  510. " when t.bias_code in ('KB01', 'KS01') then \n" +
  511. " t.bias_name \n" +
  512. " end bias_name_1,\n" +
  513. " case \n" +
  514. " when t.bias_code in ('KD01', 'KT01') then\n" +
  515. " t.bias_name\n" +
  516. " end bias_name_2\n" +
  517. " from qcm_ord_design_std_sic t where t.use_code = 'H') t\n" +
  518. " group by t.design_key) t3,\n" +
  519. " qcm_judge_measure t4\n" +
  520. " where t.coil_no = t1.coil_no(+)\n" +
  521. " and t.ord_no || t.ord_seq = t3.design_key(+)\n" +
  522. " and b.sizeid = t4.sic_id(+)\n" +
  523. " and t.slab_no = t2.slab_no\n" +
  524. " and t.old_sampl_no = b.coil_no\n" +
  525. " and t.coil_stat < '3'\n" +
  526. " " + swhere1 + ")\n" +
  527. " where 1= 1 " + swhere + "\n" +
  528. " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n";
  529. }else if(prodline.equals("酸轧")){
  530. sql = "select *\n" +
  531. " from (select t.slab_no board_no,\n" +
  532. " substr(t.slab_no, 1, 10) heat_no,\n" +
  533. " substr(t.old_sampl_no, 1, 9) batchno,\n" +
  534. " t1.roll_mana_no plan_no,\n" +
  535. " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+
  536. " t.old_sampl_no material_no,\n" +
  537. " t.ord_no || t.ord_seq design_key,\n" +
  538. " (select psc\n" +
  539. " from tbb01_ord_prod f\n" +
  540. " where f.ord_no = t.ord_no\n" +
  541. " and rownum = 1) psc,\n" +
  542. " '' psc_desc,\n" +
  543. " t.prodnm_cd delivery_state_desc,\n" +
  544. " t.instr_coil_thk thick,\n" +
  545. " t.instr_coil_wth width,\n" +
  546. " t.instr_coil_len length,\n" +
  547. " t.act_wgt / 1000 weight,\n" +
  548. " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" +
  549. " b.sizeid,\n" +
  550. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" +
  551. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" +
  552. " t.spec_stl_grd steel_code,\n" +
  553. " t.spec_stl_grd steel_name,\n" +
  554. " t.spec_abbsym std_code,\n" +
  555. " t.spec_abbsym std_name,\n" +
  556. " t.ord_use_cd prod_code,\n" +
  557. " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" +
  558. " t.instr_coil_thk plan,\n" +
  559. " t.instr_coil_wth plan_2,\n" +
  560. " t.coil_thk val2,\n" +
  561. " t.coil_wth val2_2,\n" +
  562. " t3.std_min_val,\n" +
  563. " t3.std_max_val,\n" +
  564. "t3.std_result_min,\n"+
  565. "t3.std_result_max,"+
  566. "t3.std_result_min_2,"+
  567. "t3.std_result_max_2,"+
  568. " t3.std_min_val_k,\n" +
  569. " t3.std_max_val_k,\n" +
  570. " t3.std_min_val_n,\n" +
  571. " t3.std_max_val_n,\n" +
  572. " t3.std_min_val_2,\n" +
  573. " t3.std_max_val_2,\n" +
  574. " t3.std_min_val_k_2,\n" +
  575. " t3.std_max_val_k_2,\n" +
  576. " t3.std_min_val_n_2,\n" +
  577. " t3.std_max_val_n_2,\n" +
  578. " t4.south_thick_val thick_val1,\n" +
  579. " t4.south_h_val h_val1,\n" +
  580. " t4.middle_h_val m_val1,\n" +
  581. " t4.north_h_val r_val1,\n" +
  582. " t4.middle_thick_val thick_val2,\n" +
  583. " t4.south_m_val h_val2,\n" +
  584. " t4.middle_m_val m_val2,\n" +
  585. " t4.north_m_val r_val2,\n" +
  586. " t4.north_thick_val thick_val3,\n" +
  587. " t4.south_r_val h_val3,\n" +
  588. " t4.middle_r_val m_val3,\n" +
  589. " t4.north_r_val r_val3,\n" +
  590. " t3.bias_code, \n" +
  591. " t3.bias_code_2 ,\n" +
  592. " t3.bias_name, \n" +
  593. " t3.bias_name_2 \n" +
  594. " from c_tbl02_coil_comm t,\n" +
  595. " tbf02_spec_mill t1,\n" +
  596. " qcm_judge_coil_result b,\n" +
  597. " tbg02_slab_comm t2,\n" +
  598. " (select max(std_min_val) std_min_val,\n" +
  599. " max(std_max_val) std_max_val,\n" +
  600. " max(std_result_min) std_result_min,\n" +
  601. " max(std_result_max) std_result_max,\n" +
  602. " max(std_result_min_2) std_result_min_2,\n" +
  603. " max(std_result_max_2) std_result_max_2,\n" +
  604. " max(std_min_val_k) std_min_val_k,\n" +
  605. " max(std_max_val_k) std_max_val_k,\n" +
  606. " max(std_min_val_n) std_min_val_n,\n" +
  607. " max(std_max_val_n) std_max_val_n,\n" +
  608. " max(std_min_val_2) std_min_val_2,\n" +
  609. " max(std_max_val_2) std_max_val_2,\n" +
  610. " max(std_min_val_k_2) std_min_val_k_2,\n" +
  611. " max(std_max_val_k_2) std_max_val_k_2,\n" +
  612. " max(std_min_val_n_2) std_min_val_n_2,\n" +
  613. " max(std_max_val_n_2) std_max_val_n_2,\n" +
  614. " design_key,\n" +
  615. " max(bias_code_1) bias_code,\n" +
  616. " max(bias_code_2) bias_code_2,\n" +
  617. " max(bias_name_1) bias_name,\n" +
  618. " max(bias_name_2) bias_name_2\n" +
  619. " from (select case\n" +
  620. " when t.specl_fl = '0' and\n" +
  621. " t.bias_code in ('KB01', 'KS01') then\n" +
  622. " t.std_min_val\n" +
  623. " end std_min_val,\n" +
  624. " case\n" +
  625. " when t.specl_fl = '0' and\n" +
  626. " t.bias_code in ('KB01', 'KS01') then\n" +
  627. " t.std_max_val\n" +
  628. " end std_max_val,\n" +
  629. " case\n" +
  630. " when t.specl_fl = '0' and\n" +
  631. " t.bias_code in ('KB01', 'KS01') then\n" +
  632. " t.std_result_min\n" +
  633. " end std_result_min,\n" +
  634. " case\n" +
  635. " when t.specl_fl = '0' and\n" +
  636. " t.bias_code in ('KB01', 'KS01') then\n" +
  637. " t.std_result_max\n" +
  638. " end std_result_max,\n" +
  639. " case\n" +
  640. " when t.specl_fl = '1' and\n" +
  641. " t.bias_code in ('KB01', 'KS01') then\n" +
  642. " t.std_min_val\n" +
  643. " end std_min_val_k,\n" +
  644. " case\n" +
  645. " when t.specl_fl = '1' and\n" +
  646. " t.bias_code in ('KB01', 'KS01') then\n" +
  647. " t.std_max_val\n" +
  648. " end std_max_val_k,\n" +
  649. " case\n" +
  650. " when t.specl_fl = '2' and\n" +
  651. " t.bias_code in ('KB01', 'KS01') then\n" +
  652. " t.std_min_val\n" +
  653. " end std_min_val_n,\n" +
  654. " case\n" +
  655. " when t.specl_fl = '2' and\n" +
  656. " t.bias_code in ('KB01', 'KS01') then\n" +
  657. " t.std_max_val\n" +
  658. " end std_max_val_n,\n" +
  659. " case\n" +
  660. " when t.specl_fl = '0' and\n" +
  661. " t.bias_code in ('KD01', 'KT01') then\n" +
  662. " t.std_min_val\n" +
  663. " end std_min_val_2,\n" +
  664. " case\n" +
  665. " when t.specl_fl = '0' and\n" +
  666. " t.bias_code in ('KD01', 'KT01') then\n" +
  667. " t.std_max_val\n" +
  668. " end std_max_val_2,\n" +
  669. " case\n" +
  670. " when t.specl_fl = '0' and\n" +
  671. " t.bias_code in ('KD01', 'KT01') then\n" +
  672. " t.std_result_max\n" +
  673. " end std_result_max_2,\n" +
  674. " case\n" +
  675. " when t.specl_fl = '0' and\n" +
  676. " t.bias_code in ('KD01', 'KT01') then\n" +
  677. " t.std_result_min\n" +
  678. " end std_result_min_2,\n" +
  679. " case\n" +
  680. " when t.specl_fl = '1' and\n" +
  681. " t.bias_code in ('KD01', 'KT01') then\n" +
  682. " t.std_min_val\n" +
  683. " end std_min_val_k_2,\n" +
  684. " case\n" +
  685. " when t.specl_fl = '1' and\n" +
  686. " t.bias_code in ('KD01', 'KT01') then\n" +
  687. " t.std_max_val\n" +
  688. " end std_max_val_k_2,\n" +
  689. " case\n" +
  690. " when t.specl_fl = '2' and\n" +
  691. " t.bias_code in ('KD01', 'KT01') then\n" +
  692. " t.std_min_val\n" +
  693. " end std_min_val_n_2,\n" +
  694. " case\n" +
  695. " when t.specl_fl = '2' and\n" +
  696. " t.bias_code in ('KD01', 'KT01') then\n" +
  697. " t.std_max_val\n" +
  698. " end std_max_val_n_2,\n" +
  699. " t.design_key,\n" +
  700. " case\n" +
  701. " when t.bias_code in ('KB01', 'KS01') then \n" +
  702. " t.bias_code \n" +
  703. " end bias_code_1,\n" +
  704. " case \n" +
  705. " when t.bias_code in ('KD01', 'KT01') then\n" +
  706. " t.bias_code\n" +
  707. " end bias_code_2,\n" +
  708. " case\n" +
  709. " when t.bias_code in ('KB01', 'KS01') then \n" +
  710. " t.bias_name \n" +
  711. " end bias_name_1,\n" +
  712. " case \n" +
  713. " when t.bias_code in ('KD01', 'KT01') then\n" +
  714. " t.bias_name\n" +
  715. " end bias_name_2\n" +
  716. " from qcm_ord_design_std_sic t where t.use_code = 'C') t\n" +
  717. " group by t.design_key) t3,\n" +
  718. " qcm_judge_measure t4\n" +
  719. " where t.coil_no = t1.coil_no(+)\n" +
  720. " and t.ord_no || t.ord_seq = t3.design_key(+)\n" +
  721. " and b.sizeid = t4.sic_id(+)\n" +
  722. " and t.slab_no = t2.slab_no\n" +
  723. " and t.old_sampl_no = b.coil_no\n" +
  724. " and t.coil_stat < '3'\n" +
  725. " " + swhere1 + ")\n" +
  726. " where 1= 1 " + swhere + "\n" +
  727. " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n";
  728. }else if(prodline.equals("连退")){
  729. sql = "select *\n" +
  730. " from (select t.slab_no board_no,\n" +
  731. " substr(t.slab_no, 1, 10) heat_no,\n" +
  732. " substr(t.old_sampl_no, 1, 9) batchno,\n" +
  733. " t1.roll_mana_no plan_no,\n" +
  734. " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n"+
  735. " t.old_sampl_no material_no,\n" +
  736. " t.ord_no || t.ord_seq design_key,\n" +
  737. " (select psc\n" +
  738. " from tbb01_ord_prod f\n" +
  739. " where f.ord_no = t.ord_no\n" +
  740. " and rownum = 1) psc,\n" +
  741. " '' psc_desc,\n" +
  742. " t.prodnm_cd delivery_state_desc,\n" +
  743. " t.instr_coil_thk thick,\n" +
  744. " t.instr_coil_wth width,\n" +
  745. " t.instr_coil_len length,\n" +
  746. " t.act_wgt / 1000 weight,\n" +
  747. " to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') producetime,\n" +
  748. " b.sizeid,\n" +
  749. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" +
  750. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" +
  751. " t.spec_stl_grd steel_code,\n" +
  752. " t.spec_stl_grd steel_name,\n" +
  753. " t.spec_abbsym std_code,\n" +
  754. " t.spec_abbsym std_name,\n" +
  755. " t.ord_use_cd prod_code,\n" +
  756. " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" +
  757. " t.instr_coil_thk plan,\n" +
  758. " t.instr_coil_wth plan_2,\n" +
  759. " t.coil_thk val2,\n" +
  760. " t.coil_wth val2_2,\n" +
  761. " t3.std_min_val,\n" +
  762. " t3.std_max_val,\n" +
  763. "t3.std_result_min,\n"+
  764. "t3.std_result_max,"+
  765. "t3.std_result_min_2,"+
  766. "t3.std_result_max_2,"+
  767. " t3.std_min_val_k,\n" +
  768. " t3.std_max_val_k,\n" +
  769. " t3.std_min_val_n,\n" +
  770. " t3.std_max_val_n,\n" +
  771. " t3.std_min_val_2,\n" +
  772. " t3.std_max_val_2,\n" +
  773. " t3.std_min_val_k_2,\n" +
  774. " t3.std_max_val_k_2,\n" +
  775. " t3.std_min_val_n_2,\n" +
  776. " t3.std_max_val_n_2,\n" +
  777. " t4.south_thick_val thick_val1,\n" +
  778. " t4.south_h_val h_val1,\n" +
  779. " t4.middle_h_val m_val1,\n" +
  780. " t4.north_h_val r_val1,\n" +
  781. " t4.middle_thick_val thick_val2,\n" +
  782. " t4.south_m_val h_val2,\n" +
  783. " t4.middle_m_val m_val2,\n" +
  784. " t4.north_m_val r_val2,\n" +
  785. " t4.north_thick_val thick_val3,\n" +
  786. " t4.south_r_val h_val3,\n" +
  787. " t4.middle_r_val m_val3,\n" +
  788. " t4.north_r_val r_val3,\n" +
  789. " t3.bias_code, \n" +
  790. " t3.bias_code_2, \n" +
  791. " t3.bias_name, \n" +
  792. " t3.bias_name_2 \n" +
  793. " from c_tbc02_coil_comm t,\n" +
  794. " tbf02_spec_mill t1,\n" +
  795. " qcm_judge_coil_result b,\n" +
  796. " tbg02_slab_comm t2,\n" +
  797. " (select max(std_min_val) std_min_val,\n" +
  798. " max(std_max_val) std_max_val,\n" +
  799. " max(std_result_min) std_result_min,\n" +
  800. " max(std_result_max) std_result_max,\n" +
  801. " max(std_result_min_2) std_result_min_2,\n" +
  802. " max(std_result_max_2) std_result_max_2,\n" +
  803. " max(std_min_val_k) std_min_val_k,\n" +
  804. " max(std_max_val_k) std_max_val_k,\n" +
  805. " max(std_min_val_n) std_min_val_n,\n" +
  806. " max(std_max_val_n) std_max_val_n,\n" +
  807. " max(std_min_val_2) std_min_val_2,\n" +
  808. " max(std_max_val_2) std_max_val_2,\n" +
  809. " max(std_min_val_k_2) std_min_val_k_2,\n" +
  810. " max(std_max_val_k_2) std_max_val_k_2,\n" +
  811. " max(std_min_val_n_2) std_min_val_n_2,\n" +
  812. " max(std_max_val_n_2) std_max_val_n_2,\n" +
  813. " design_key,\n" +
  814. " max(bias_code_1) bias_code,\n" +
  815. " max(bias_code_2) bias_code_2,\n" +
  816. " max(bias_name_1) bias_name,\n" +
  817. " max(bias_name_2) bias_name_2\n" +
  818. " from (select case\n" +
  819. " when t.specl_fl = '0' and\n" +
  820. " t.bias_code in ('KB01', 'KS01') then\n" +
  821. " t.std_min_val\n" +
  822. " end std_min_val,\n" +
  823. " case\n" +
  824. " when t.specl_fl = '0' and\n" +
  825. " t.bias_code in ('KB01', 'KS01') then\n" +
  826. " t.std_max_val\n" +
  827. " end std_max_val,\n" +
  828. " case\n" +
  829. " when t.specl_fl = '0' and\n" +
  830. " t.bias_code in ('KB01', 'KS01') then\n" +
  831. " t.std_result_min\n" +
  832. " end std_result_min,\n" +
  833. " case\n" +
  834. " when t.specl_fl = '0' and\n" +
  835. " t.bias_code in ('KB01', 'KS01') then\n" +
  836. " t.std_result_max\n" +
  837. " end std_result_max,\n" +
  838. " case\n" +
  839. " when t.specl_fl = '1' and\n" +
  840. " t.bias_code in ('KB01', 'KS01') then\n" +
  841. " t.std_min_val\n" +
  842. " end std_min_val_k,\n" +
  843. " case\n" +
  844. " when t.specl_fl = '1' and\n" +
  845. " t.bias_code in ('KB01', 'KS01') then\n" +
  846. " t.std_max_val\n" +
  847. " end std_max_val_k,\n" +
  848. " case\n" +
  849. " when t.specl_fl = '2' and\n" +
  850. " t.bias_code in ('KB01', 'KS01') then\n" +
  851. " t.std_min_val\n" +
  852. " end std_min_val_n,\n" +
  853. " case\n" +
  854. " when t.specl_fl = '2' and\n" +
  855. " t.bias_code in ('KB01', 'KS01') then\n" +
  856. " t.std_max_val\n" +
  857. " end std_max_val_n,\n" +
  858. " case\n" +
  859. " when t.specl_fl = '0' and\n" +
  860. " t.bias_code in ('KD01', 'KT01') then\n" +
  861. " t.std_min_val\n" +
  862. " end std_min_val_2,\n" +
  863. " case\n" +
  864. " when t.specl_fl = '0' and\n" +
  865. " t.bias_code in ('KD01', 'KT01') then\n" +
  866. " t.std_max_val\n" +
  867. " end std_max_val_2,\n" +
  868. " case\n" +
  869. " when t.specl_fl = '0' and\n" +
  870. " t.bias_code in ('KD01', 'KT01') then\n" +
  871. " t.std_result_max\n" +
  872. " end std_result_max_2,\n" +
  873. " case\n" +
  874. " when t.specl_fl = '0' and\n" +
  875. " t.bias_code in ('KD01', 'KT01') then\n" +
  876. " t.std_result_min\n" +
  877. " end std_result_min_2,\n" +
  878. " case\n" +
  879. " when t.specl_fl = '1' and\n" +
  880. " t.bias_code in ('KD01', 'KT01') then\n" +
  881. " t.std_min_val\n" +
  882. " end std_min_val_k_2,\n" +
  883. " case\n" +
  884. " when t.specl_fl = '1' and\n" +
  885. " t.bias_code in ('KD01', 'KT01') then\n" +
  886. " t.std_max_val\n" +
  887. " end std_max_val_k_2,\n" +
  888. " case\n" +
  889. " when t.specl_fl = '2' and\n" +
  890. " t.bias_code in ('KD01', 'KT01') then\n" +
  891. " t.std_min_val\n" +
  892. " end std_min_val_n_2,\n" +
  893. " case\n" +
  894. " when t.specl_fl = '2' and\n" +
  895. " t.bias_code in ('KD01', 'KT01') then\n" +
  896. " t.std_max_val\n" +
  897. " end std_max_val_n_2,\n" +
  898. " t.design_key,\n" +
  899. " case\n" +
  900. " when t.bias_code in ('KB01', 'KS01') then \n" +
  901. " t.bias_code \n" +
  902. " end bias_code_1,\n" +
  903. " case \n" +
  904. " when t.bias_code in ('KD01', 'KT01') then\n" +
  905. " t.bias_code\n" +
  906. " end bias_code_2,\n" +
  907. " case\n" +
  908. " when t.bias_code in ('KB01', 'KS01') then \n" +
  909. " t.bias_name \n" +
  910. " end bias_name_1,\n" +
  911. " case \n" +
  912. " when t.bias_code in ('KD01', 'KT01') then\n" +
  913. " t.bias_name\n" +
  914. " end bias_name_2\n" +
  915. " from qcm_ord_design_std_sic t where t.use_code = 'C') t\n" +
  916. " group by t.design_key) t3,\n" +
  917. " qcm_judge_measure t4\n" +
  918. " where t.coil_no = t1.coil_no(+)\n" +
  919. " and t.ord_no || t.ord_seq = t3.design_key(+)\n" +
  920. " and b.sizeid = t4.sic_id(+)\n" +
  921. " and t.slab_no = t2.slab_no\n" +
  922. " and t.old_sampl_no = b.coil_no\n" +
  923. " and t.coil_stat < '3'\n" +
  924. " " + swhere1 + ")\n" +
  925. " where 1= 1 " + swhere + "\n" +
  926. " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n";
  927. }
  928. try {
  929. System.out.print(sql);
  930. List<HashMap> list = mapper.query(sql);
  931. cro.setResult(list);
  932. } catch (Exception ex) {
  933. ex.printStackTrace();
  934. cro.setV_errCode(-1);
  935. cro.setV_errMsg("查询失败!" + ex.getMessage());
  936. }
  937. SqlSession.close();
  938. return cro;
  939. }
  940. /**
  941. * 查询待判明细信息 根据轧批号、计划号查询物料号
  942. */
  943. @SuppressWarnings("rawtypes")
  944. public CoreReturnObject doQueryMaterialDetailsJ2N(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String plan_no,String type,String prodline,String isjudge,String steelname ) {
  945. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) {
  946. String sky=StrSky(begintime,endtime);
  947. if(sky.equals("FALSE")){
  948. SqlSession.close();
  949. cro.setV_errCode(-1);
  950. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  951. return cro;
  952. }
  953. }
  954. String swhere = "";
  955. String swhere1 = "";
  956. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  957. swhere += " and PRODUCETIME >='" + begintime + "'" +" and PRODUCETIME <= '" + endtime + "'";
  958. }
  959. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  960. swhere += "and material_no like '" + bbatchno + "%'";
  961. }
  962. /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  963. swhere += "and batchno <= '" + ebatchno + "'";
  964. }*/
  965. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  966. swhere += " and design_key like '%" + design_key + "%'";
  967. }
  968. if (!SqlJoint.IsNullOrSpace(plan_no)) { //Psc_desc
  969. swhere += " and plan_no = '" + plan_no + "'";
  970. }
  971. if(!SqlJoint.IsNullOrSpace(steelname)){
  972. swhere += " and steel_name = '" + steelname + "'";
  973. }
  974. // if (isjudge.equals("是")){
  975. // swhere1 += " and b.JUDGERESULT <> '0'";
  976. // }
  977. // else{
  978. // swhere1 += " and b.JUDGERESULT = '0'";
  979. // }
  980. if ("R".equals(type)) {
  981. swhere1 += " and b.r_chemresult = '0'";
  982. }
  983. if ("M".equals(type)) {
  984. if (isjudge.equals("是")) {
  985. swhere1 += " and b.sizeresult <> '0'";
  986. } else {
  987. swhere1 += " and b.sizeresult = '0'";
  988. }
  989. }
  990. if ("B".equals(type)) {
  991. if (isjudge.equals("是")) {
  992. swhere1 += " and b.surfaceresult <> '0'";
  993. } else {
  994. swhere1 += " and b.surfaceresult = '0'";
  995. }
  996. }
  997. if ("MB".equals(type)) {
  998. if (isjudge.equals("是")) {
  999. swhere1 += " and ((b.surfaceresult <> '0' and b.sizeresult <> '0') or b.JUDGERESULT<>'0') ";
  1000. } else if(isjudge.equals("否")){
  1001. swhere1 += " and t.coil_stat < '3' and (b.surfaceresult = '0' or b.sizeresult = '0') and b.JUDGERESULT='0' ";
  1002. }else{
  1003. swhere1 += "";
  1004. }
  1005. }
  1006. /*if ("B".equals(type)) {
  1007. swhere1 += " and b.surfaceresult = '0'";
  1008. }else if ("M".equals(type)) {
  1009. swhere1 += " and b.sizeresult = '0'";
  1010. }else if ("T".equals(type)){
  1011. swhere1 += " and b.spyresult = '0'";
  1012. }else if ("R".equals(type)){
  1013. swhere1 += " and b.r_chemresult = '0'";
  1014. }*/
  1015. String sql = "";
  1016. sql = " select *\n" +
  1017. " from (WITH lx AS (SELECT\n" +
  1018. " \n" +
  1019. " coil_no,\n" +
  1020. " qlty_kl,\n" +
  1021. " irtdate,\n" +
  1022. " ROW_NUMBER() OVER(PARTITION BY coil_no ORDER BY irtdate DESC) AS rn\n" +
  1023. " FROM get_autolx_bkd_log11) "
  1024. + " select DISTINCT t.slab_no board_no,\n" +
  1025. " substr(t.slab_no, 1, 10) heat_no,\n" +
  1026. " aa.cust_spec_no,\n" +
  1027. " CASE\n" +
  1028. " WHEN INSTR(lx.qlty_kl, 'M014') > 0 THEN\n" +
  1029. " 'NO' WHEN lx.qlty_kl is null THEN\n" +
  1030. " '' \n" +
  1031. " ELSE\n" +
  1032. " 'OK'\n" +
  1033. " END AS lx,t4.level_desc SIZE_QUALITY_GRD,\n" +
  1034. " t6.level_desc EXTSHAPE_QUALITY_GRD,"+
  1035. " aa.ord_devlmt_date,--交货期 \n" +
  1036. " t.MISSNO_CLF_CD,--异常信息 \n"+
  1037. " T.DLIV_DIRNO,"+
  1038. //" decode(t8.flaw_origin,'A','钢质次','B','热轧次') QUEXIAN_TP,"+
  1039. " NVL2(T.CRK_CD1,GET_QUEXIAN_TP(T.CRK_CD1),T.CRK_CD1) QUEXIAN_TP,"+
  1040. " t.CAL_WGT/1000 CAL_WGT, --计算重量\n" +
  1041. " RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK) COLDTIME, --缓冷时间\n" +
  1042. " DECODE(RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK),'','',\n" +
  1043. " round((select to_number((TO_DATE(t.COIL_END_DTIME,'YYYY-MM-DD HH24:MI:SS')+\n" +
  1044. " RETURN_COILTIME(t.SPEC_STL_GRD, t.INSTR_COIL_THK)/24) -\n" +
  1045. " NVL(TO_DATE(t.TRNF_USE_TIME,'YYYY-MM-DD HH24:MI:SS'),SYSDATE))\n" +
  1046. " from dual) * 24)) COLDENDTME,"+
  1047. " t1.MIXROLL,--组批区间\n"+
  1048. " DECODE(t.SPM_YN,'1','平整','2','分卷','3','平整分卷','4','重卷','5','开卷检查','') SPM_YN, --平整分卷\n" +
  1049. " T.SPM_EMP_ID,"+
  1050. " t.CUR_LOAD_LOC,\n" +
  1051. " t.JUANQU_REMARK,\n"+
  1052. " round((select to_number(NVL(TO_DATE(t.TRNF_USE_TIME,\n" +
  1053. " 'YYYY-MM-DD HH24:MI:SS'),SYSDATE) -\n" +
  1054. " TO_DATE(NVL(t.COIL_END_DTIME,t.MILL_DTIME), 'YYYY-MM-DD HH24:MI:SS'))\n" +
  1055. " from dual)*24) ZKSJ,--在库时间 \n" +
  1056. " t.COIL_END_DTIME COIL_END_DTIME,--卷取时间 \n" +
  1057. " t7.INFUR_HOUR,--在炉时间\n" +
  1058. " t7.CHRGING_BEF_TEMP,--装炉温度 \n"+
  1059. " t7.EQ_HT_TEMP,--均热段时间 \n"+
  1060. " t7.EQ_HT_INFUR_HOUR,--均热段温度 \n"+
  1061. " t7.EXTRACT_AVG_TEMP,--出炉温度 \n"+
  1062. " t7.DEVNO,--加热炉号 \n"+
  1063. " T.COIL_NO,--流水钢卷号\n"+
  1064. " t.CUR_PROG_CD,"+
  1065. " t2.WEIGHT_WGT,"+
  1066. " t1.SLAB_NO,"+
  1067. " t10.RSEPON_UNIT,"+
  1068. " t10.DETAINFO,"+
  1069. " nvl2(t.crk_cd1,GET_DEFECT(t.crk_cd1),t.crk_cd1) CRK_CD1,\n" +
  1070. " nvl2(t.crk_cd2,GET_DEFECT(t.crk_cd2),t.crk_cd2) CRK_CD2,\n" +
  1071. " nvl2(t.crk_cd3,GET_DEFECT(t.crk_cd3),t.crk_cd3) CRK_CD3,\n" +
  1072. " nvl2(t.crk_cd4,GET_DEFECT(t.crk_cd4),t.crk_cd4) CRK_CD4,\n" +
  1073. " nvl2(t.crk_cd5,GET_DEFECT(t.crk_cd5),t.crk_cd5) CRK_CD5,"+
  1074. " t.SMP_DIR_PIC_YN,\n" +
  1075. " t.SAMPL_PICK_YN,"+
  1076. " D.QLTY_QF,\n" +
  1077. " D.QLTY_KL,\n" +
  1078. " D.QLTY_YS,\n" +
  1079. " D.QLTY_GY,\n" +
  1080. " DECODE(t.SAMPL_PICK_YN, 'R', '是', '否') SAMPL_BKD_YN,\n" +
  1081. " checkqlty(D.COIL_NO) CHQLTY, \n" +
  1082. " t.COIL_THK_OS,\n" +
  1083. " t.COIL_THK_CL,\n" +
  1084. " t.COIL_THK_DS,\n" +
  1085. " t.COIL_STAT,\n" +
  1086. " T.fb_yn,\n" +
  1087. " T.fb_reason,\n" +
  1088. " t.EXTSHAPE_DEC_DTIME,\n" +
  1089. " t.EXTSHAPE_DEC_EMP_ID,\n" +
  1090. " t.ORG_ORD_NO,--原合同号\n" +
  1091. " t.ORG_ORD_SEQ,--原订单号\n" +
  1092. " t5.DC_NO, --卷取机号\n" +
  1093. " t5.RM_EXT_AVG_THK, --R2出口实绩厚度\n" +
  1094. " t5.FM_STRIP_WDG_AVG --楔形\n" +
  1095. " ,\n" +
  1096. " t5.FM_STRIP_WDG_MAX --楔形\n" +
  1097. " ,\n" +
  1098. " t5.FM_STRIP_WDG_MIN --楔形\n" +
  1099. " ,\n" +
  1100. " t5.FM_EXT_STRIP_CROWN_AVG --FM出口凸度平均\n" +
  1101. " ,\n" +
  1102. " t5.FM_EXT_STRIP_CROWN_MIN --FM出口凸度最小\n" +
  1103. " ,\n" +
  1104. " t5.FM_EXT_STRIP_CROWN_MAX --FM出口凸度最大\n" +
  1105. " ,\n" +
  1106. " t5.RHF_DESCAL_YN --除?机是否加??后\n" +
  1107. " ,\n" +
  1108. " t5.RM_ENT_DESCAL_YN --除?机是否RM入口\n" +
  1109. " ,\n" +
  1110. " t5.RM_EXT_DESCAL_YN --除?机是否RM出口\n" +
  1111. " ,\n" +
  1112. " (t5.RHF_DESCAL_YN + t5.RM_ENT_DESCAL_YN + t5.RM_EXT_DESCAL_YN) ZONG_DESCAL_YN --总除磷次数\n" +
  1113. " ,\n" +
  1114. " t5.R1_EXT_TEMP --RT2温度\n" +
  1115. " ,\n" +
  1116. " /*t5.FM_EXT_STRIP_THK --FM出口厚度?定\n" +
  1117. " ,\n" +
  1118. " t5.FM_EXT_STRIP_THK_AVG --FM出口厚度平均\n" +
  1119. " ,\n" +
  1120. " t5.FM_EXT_STRIP_THK_MIN --FM出口厚度最\n" +
  1121. " ,\n" +
  1122. " t5.FM_EXT_STRIP_THK_MAX --FM出口厚度最大\n" +
  1123. " ,*/\n" +
  1124. " t5.FM_SYM_STRIP_FLATNESS_AVG --对称平直度平均?\n" +
  1125. " ,\n" +
  1126. " t5.FM_SYM_STRIP_FLATNESS_MAX --对称平直度最大\n" +
  1127. " ,\n" +
  1128. " t5.FM_SYM_STRIP_FLATNESS_MIN --对称平直度最小\n" +
  1129. " ,\n" +
  1130. " t5.DC_TEMP --温定卷取额度\n" +
  1131. " ,\n" +
  1132. " t5.DC_TEMP_AVG --卷取温度平均?\n" +
  1133. " ,\n" +
  1134. " t5.DC_TEMP_MIN --卷取温度最小?\n" +
  1135. " ,\n" +
  1136. " t5.DC_TEMP_MAX --卷取温度最大?\n" +
  1137. " ,\n" +
  1138. " t5.FM_EXT_STRIP_TEMP --FM出口温度额定\n" +
  1139. " ,\n" +
  1140. " t5.FM_EXT_STRIP_TEMP_AVG --FM出口温度平均\n" +
  1141. " ,\n" +
  1142. " t5.FM_EXT_STRIP_TEMP_MIN --FM出口温度最小\n" +
  1143. " ,\n" +
  1144. " t5.FM_EXT_STRIP_TEMP_MAX --FM出口温度最大\n" +
  1145. " ,\n" +
  1146. " T.EXTSHAPE_DEC_GRD EXTSHAPE_DEC_GRD,\n" +
  1147. " T.SIZE_DEC_RST SIZE_DEC_RST,\n" +
  1148. " 'RZ1' pline_code,\n" +
  1149. " substr(t.old_sampl_no, 1, 10) batchno,\n" +
  1150. " t1.roll_mana_no plan_no,\n" +
  1151. " t1.ROLL_SLAB_SEQ ROLL_SLAB_SEQ,\n" +
  1152. " t.old_sampl_no material_no,\n" +
  1153. " T.CPCJ_REMARK,\n" +
  1154. " T.SPM_RMK,\n" +
  1155. " T.CJ_REMARK,\n" +
  1156. " T.DEAL_REMARK,\n" +
  1157. " t.ord_no || t.ord_seq design_key,\n" +
  1158. " (select psc\n" +
  1159. " from tbb01_ord_prod f\n" +
  1160. " where f.ord_no = t.ord_no\n" +
  1161. " and rownum = 1) psc,\n" +
  1162. " '' psc_desc,\n" +
  1163. " t.prodnm_cd delivery_state_desc, \n" +
  1164. " /*t.instr_coil_thk thick,\n" +
  1165. " t.instr_coil_wth width,\n" +
  1166. " t.instr_coil_len length,*/\n" +
  1167. " t.act_wgt / 1000 weight,\n" +
  1168. " t.mill_dtime producetime,\n" +
  1169. "\n" +
  1170. " b.sizeid,\n" +
  1171. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_code,\n" +
  1172. " nvl(t2.lg_stl_grd, t2.stl_grd) grade_name,\n" +
  1173. " t.spec_stl_grd steel_code,\n" +
  1174. " t.spec_stl_grd steel_name,\n" +
  1175. " t.spec_abbsym std_code,\n" +
  1176. " t.spec_abbsym std_name,\n" +
  1177. " t.ord_use_cd prod_code,\n" +
  1178. " pkg_quality_comm.pk00_comm('A01007', t.ord_use_cd) prod_name,\n" +
  1179. " t.instr_coil_thk plan,\n" +
  1180. " t.instr_coil_wth plan_2,\n" +
  1181. " (t.instr_coil_thk+t3.std_max_val+t.instr_coil_thk+t3.std_min_val)/2 DEL_THK_AVG,\n" +
  1182. " (t.instr_coil_wth+t3.std_max_val+t.instr_coil_wth+t3.std_min_val)/2 DEL_WTH_AVG,\n" +
  1183. " (t.instr_coil_thk + nvl(t3.std_min_val_k,t3.std_min_val)) DEL_THK_MIN,--计划厚度最小值\n" +
  1184. " (t.instr_coil_thk + nvl(t3.std_max_val_k,t3.std_max_val)) DEL_THK_MAX,--计划厚度最大值\n" +
  1185. " (t.instr_coil_wth + nvl(t3.std_min_val_k_2,t3.std_min_val_2)) DEL_WTH_MIN,--计划宽度最小值\n" +
  1186. " (t.instr_coil_wth + nvl(t3.std_max_val_k_2,t3.std_max_val_2)) DEL_WTH_MAX,--计划宽度最大值\n" +
  1187. " t.coil_thk val2,\n" +
  1188. " t.coil_wth val2_2,\n" +
  1189. " t3.std_min_val,\n" +
  1190. " t3.std_max_val,\n" +
  1191. " t.dcs_thk val,\n" +
  1192. " t.dcs_wth val_2,\n" +
  1193. " t3.std_result_min,\n" +
  1194. " t3.std_result_max,\n" +
  1195. " t3.std_result_min_2,\n" +
  1196. " t3.std_result_max_2,\n" +
  1197. " t3.bias_name,\n" +
  1198. " t3.bias_name_2,\n" +
  1199. " t3.std_min_val_k,\n" +
  1200. " t3.std_max_val_k,\n" +
  1201. " t3.std_min_val_n,\n" +
  1202. " t3.std_max_val_n,\n" +
  1203. " t3.std_min_val_2,\n" +
  1204. " t3.std_max_val_2,\n" +
  1205. " t3.std_min_val_k_2,\n" +
  1206. " t3.std_max_val_k_2,\n" +
  1207. " t3.std_min_val_n_2,\n" +
  1208. " t3.std_max_val_n_2,\n" +
  1209. " t4.south_thick_val thick_val1,\n" +
  1210. " t4.south_h_val h_val1,\n" +
  1211. " t4.middle_h_val m_val1,\n" +
  1212. " t4.north_h_val r_val1,\n" +
  1213. " t4.middle_thick_val thick_val2,\n" +
  1214. " t4.south_m_val h_val2,\n" +
  1215. " t4.middle_m_val m_val2,\n" +
  1216. " t4.north_m_val r_val2,\n" +
  1217. " t4.north_thick_val thick_val3,\n" +
  1218. " t4.south_r_val h_val3,\n" +
  1219. " t4.middle_r_val m_val3,\n" +
  1220. " t4.north_r_val r_val3,\n" +
  1221. " t3.bias_code,\n" +
  1222. " t3.bias_code_2\n" +
  1223. " from tbh02_coil_comm t,\n" +
  1224. " tbf02_spec_mill t1,\n" +
  1225. " qcm_judge_coil_result b,\n" +
  1226. " TBH02_MILL_RESULT t5,\n" +
  1227. " tbg02_slab_comm t2,\n" +
  1228. " (select max(std_min_val) std_min_val,\n" +
  1229. " max(std_max_val) std_max_val,\n" +
  1230. " max(std_result_min) std_result_min,\n" +
  1231. " max(std_result_max) std_result_max,\n" +
  1232. " max(std_result_min_2) std_result_min_2,\n" +
  1233. " max(std_result_max_2) std_result_max_2,\n" +
  1234. " max(std_min_val_k) std_min_val_k,\n" +
  1235. " max(std_max_val_k) std_max_val_k,\n" +
  1236. " max(std_min_val_n) std_min_val_n,\n" +
  1237. " max(std_max_val_n) std_max_val_n,\n" +
  1238. " max(std_min_val_2) std_min_val_2,\n" +
  1239. " max(std_max_val_2) std_max_val_2,\n" +
  1240. " max(std_min_val_k_2) std_min_val_k_2,\n" +
  1241. " max(std_max_val_k_2) std_max_val_k_2,\n" +
  1242. " max(std_min_val_n_2) std_min_val_n_2,\n" +
  1243. " max(std_max_val_n_2) std_max_val_n_2,\n" +
  1244. " design_key,\n" +
  1245. " max(bias_code_1) bias_code,\n" +
  1246. " max(bias_code_2) bias_code_2,\n" +
  1247. " max(bias_name_1) bias_name,\n" +
  1248. " max(bias_name_2) bias_name_2\n" +
  1249. " from (select case\n" +
  1250. " when t.specl_fl = '0' and\n" +
  1251. " t.bias_code in ('KB01', 'KS01') then\n" +
  1252. " t.std_min_val\n" +
  1253. " end std_min_val,\n" +
  1254. " case\n" +
  1255. " when t.specl_fl = '0' and\n" +
  1256. " t.bias_code in ('KB01', 'KS01') then\n" +
  1257. " t.std_max_val\n" +
  1258. " end std_max_val,\n" +
  1259. " case\n" +
  1260. " when t.specl_fl = '0' and\n" +
  1261. " t.bias_code in ('KB01', 'KS01') then\n" +
  1262. " t.std_result_min\n" +
  1263. " end std_result_min,\n" +
  1264. " case\n" +
  1265. " when t.specl_fl = '0' and\n" +
  1266. " t.bias_code in ('KB01', 'KS01') then\n" +
  1267. " t.std_result_max\n" +
  1268. " end std_result_max,\n" +
  1269. " \n" +
  1270. " case\n" +
  1271. " when t.specl_fl = '1' and\n" +
  1272. " t.bias_code in ('KB01', 'KS01') then\n" +
  1273. " t.std_min_val\n" +
  1274. " end std_min_val_k,\n" +
  1275. " case\n" +
  1276. " when t.specl_fl = '1' and\n" +
  1277. " t.bias_code in ('KB01', 'KS01') then\n" +
  1278. " t.std_max_val\n" +
  1279. " end std_max_val_k,\n" +
  1280. " case\n" +
  1281. " when t.specl_fl = '2' and\n" +
  1282. " t.bias_code in ('KB01', 'KS01') then\n" +
  1283. " t.std_min_val\n" +
  1284. " end std_min_val_n,\n" +
  1285. " case\n" +
  1286. " when t.specl_fl = '2' and\n" +
  1287. " t.bias_code in ('KB01', 'KS01') then\n" +
  1288. " t.std_max_val\n" +
  1289. " end std_max_val_n,\n" +
  1290. " case\n" +
  1291. " when t.specl_fl = '0' and\n" +
  1292. " t.bias_code in ('KD01', 'KT01') then\n" +
  1293. " t.std_min_val\n" +
  1294. " end std_min_val_2,\n" +
  1295. " case\n" +
  1296. " when t.specl_fl = '0' and\n" +
  1297. " t.bias_code in ('KD01', 'KT01') then\n" +
  1298. " t.std_max_val\n" +
  1299. " end std_max_val_2,\n" +
  1300. " case\n" +
  1301. " when t.specl_fl = '0' and\n" +
  1302. " t.bias_code in ('KD01', 'KT01') then\n" +
  1303. " t.std_result_max\n" +
  1304. " end std_result_max_2,\n" +
  1305. " case\n" +
  1306. " when t.specl_fl = '0' and\n" +
  1307. " t.bias_code in ('KD01', 'KT01') then\n" +
  1308. " t.std_result_min\n" +
  1309. " end std_result_min_2,\n" +
  1310. " case\n" +
  1311. " when t.specl_fl = '1' and\n" +
  1312. " t.bias_code in ('KD01', 'KT01') then\n" +
  1313. " t.std_min_val\n" +
  1314. " end std_min_val_k_2,\n" +
  1315. " case\n" +
  1316. " when t.specl_fl = '1' and\n" +
  1317. " t.bias_code in ('KD01', 'KT01') then\n" +
  1318. " t.std_max_val\n" +
  1319. " end std_max_val_k_2,\n" +
  1320. " case\n" +
  1321. " when t.specl_fl = '2' and\n" +
  1322. " t.bias_code in ('KD01', 'KT01') then\n" +
  1323. " t.std_min_val\n" +
  1324. " end std_min_val_n_2,\n" +
  1325. " case\n" +
  1326. " when t.specl_fl = '2' and\n" +
  1327. " t.bias_code in ('KD01', 'KT01') then\n" +
  1328. " t.std_max_val\n" +
  1329. " end std_max_val_n_2,\n" +
  1330. " t.design_key,\n" +
  1331. " case\n" +
  1332. " when t.bias_code in ('KB01', 'KS01') then\n" +
  1333. " t.bias_code\n" +
  1334. " end bias_code_1,\n" +
  1335. " case\n" +
  1336. " when t.bias_code in ('KD01', 'KT01') then\n" +
  1337. " t.bias_code\n" +
  1338. " end bias_code_2,\n" +
  1339. " case\n" +
  1340. " when t.bias_code in ('KB01', 'KS01') then\n" +
  1341. " t.bias_name\n" +
  1342. " end bias_name_1,\n" +
  1343. " case\n" +
  1344. " when t.bias_code in ('KD01', 'KT01') then\n" +
  1345. " t.bias_name\n" +
  1346. " end bias_name_2\n" +
  1347. " from qcm_ord_design_std_sic t\n" +
  1348. " where t.use_code = 'H') t\n" +
  1349. " group by t.design_key) t3,\n" +
  1350. " (SELECT LIN.ORD_DEVLMT_DATE ORD_DEVLMT_DATE,\n" +
  1351. " ORD.DEL_TOL_THK_MIN DEL_TOL_THK_MIN,\n" +
  1352. " ORD.DEL_TOL_THK_MAX DEL_TOL_THK_MAX,\n" +
  1353. " ORD.DEL_TOL_WTH_MIN DEL_TOL_WTH_MIN,\n" +
  1354. " ORD.DEL_TOL_WTH_MAX DEL_TOL_WTH_MAX,\n" +
  1355. " ORD.ORD_NO ORD_NO,\n" +
  1356. " ORD.ORD_SEQ ORD_SEQ,\n" +
  1357. " DECODE(OHD.CUST_SPEC_NO, NULL, 'N', 'Y') CUST_SPEC_NO\n" +
  1358. " FROM TBA01_ORD_LINE LIN, TBB01_ORD_DEL ORD, TBB01_ORD_HEAD OHD\n" +
  1359. " WHERE LIN.ORD_NO = ORD.ORD_NO\n" +
  1360. " AND LIN.ORD_SEQ = ORD.ORD_SEQ\n" +
  1361. " AND ORD.ORD_NO = OHD.ORD_NO\n" +
  1362. " AND ORD.ORD_SEQ = OHD.ORD_SEQ\n" +
  1363. " AND (ORD.DSN_KIND =\n" +
  1364. " (SELECT MIN(DEL.DSN_KIND)\n" +
  1365. " FROM TBB01_ORD_DEL DEL\n" +
  1366. " WHERE DEL.ORD_NO = ORD.ORD_NO\n" +
  1367. " AND DEL.ORD_SEQ = ORD.ORD_SEQ))) AA,\n" +
  1368. " qcm_judge_measure t4,\n" +
  1369. " qcm_judge_surface t6,"+
  1370. " TBH02_REHEATFUR t7,"+
  1371. " (SELECT coil_no, qlty_kl FROM lx WHERE rn = 1) LX,JB_RSEPON_UNIT t10,"+
  1372. //" qcm_judge_surface_flaw t8,"+
  1373. " (SELECT * FROM get_autolx_bkd T WHERE T.ISAVIALD = '1') d\n" +
  1374. " where t.coil_no = t1.coil_no(+)\n" +
  1375. " and t.ord_no || t.ord_seq = t3.design_key(+)\n" +
  1376. " and t1.COIL_NO = t5.COIL_NO(+)\n" +
  1377. " and t.OLD_SAMPL_NO = lx.COIL_NO(+) and b.sizeid = t4.sic_id(+)\n" +
  1378. " and b.surfaceid = t6.surface_id(+)"+
  1379. //" and b.surfaceid = t8.surface_id(+)"+
  1380. " and t.OLD_SAMPL_NO = D.COIL_NO(+)\n" +
  1381. " and t.OLD_SAMPL_NO = t10.OLD_SAMPL_NO(+)\n" +
  1382. " and t.slab_no = t2.slab_no\n" +
  1383. " and t.coil_no = t7.coil_no(+)"+
  1384. " and t.old_sampl_no = b.coil_no\n" +
  1385. " and AA.ORD_NO(+) = t.ORD_NO\n" +
  1386. " AND AA.ORD_SEQ(+) = t.ORD_SEQ\n" +
  1387. " /*and t.coil_stat < '3'*/ "+
  1388. " " + swhere1 + ")\n" +
  1389. " where 1= 1 " + swhere + "\n" +
  1390. " order by plan_no,ROLL_SLAB_SEQ,producetime desc\n";
  1391. try {
  1392. System.out.print(sql);
  1393. List<HashMap> list = mapper.query(sql);
  1394. cro.setResult(list);
  1395. } catch (Exception ex) {
  1396. ex.printStackTrace();
  1397. cro.setV_errCode(-1);
  1398. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1399. }
  1400. SqlSession.close();
  1401. return cro;
  1402. }
  1403. /**
  1404. * 查询待判明细信息 根据轧批号、计划号查询物料号
  1405. */
  1406. @SuppressWarnings("rawtypes")
  1407. public CoreReturnObject doQueryMaterialDetailsJ(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge ) {
  1408. String swhere = "";
  1409. String swhere1 = "";
  1410. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1411. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  1412. }
  1413. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  1414. swhere += "and batchno >= '"+bbatchno+"'";
  1415. }
  1416. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  1417. swhere += "and batchno <= '"+ebatchno+"'";
  1418. }
  1419. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1420. swhere += " and design_key like '%"+design_key+"%'";
  1421. }
  1422. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1423. swhere += " and material_no like '%"+material_no+"%'";
  1424. }
  1425. swhere1 += " and b.JUDGERESULT = '0'";
  1426. if ("R".equals(type)){
  1427. swhere1 += " and b.r_chemresult = '0'";
  1428. }
  1429. if("M".equals(type)){
  1430. if(isjudge.equals("是")){
  1431. swhere1 += " and b.sizeresult <> '0'";
  1432. }else{
  1433. swhere1 += " and b.sizeresult = '0'";
  1434. }
  1435. }
  1436. if("B".equals(type)){
  1437. if(isjudge.equals("是")){
  1438. swhere1 += " and b.surfaceresult <> '0'";
  1439. }else{
  1440. swhere1 += " and b.surfaceresult = '0'";
  1441. }
  1442. }
  1443. /*if ("B".equals(type)) {
  1444. swhere1 += " and b.surfaceresult = '0'";
  1445. }else if ("M".equals(type)) {
  1446. swhere1 += " and b.sizeresult = '0'";
  1447. }else if ("T".equals(type)){
  1448. swhere1 += " and b.spyresult = '0'";
  1449. }else if ("R".equals(type)){
  1450. swhere1 += " and b.r_chemresult = '0'";
  1451. }*/
  1452. String sql = "";
  1453. if(prodline.equals("热连轧")){
  1454. sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc, "
  1455. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1456. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1457. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1458. }else if(prodline.equals("酸轧")){
  1459. sql = "select * from (select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1460. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1461. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1462. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1463. }else if(prodline.equals("连退")){
  1464. sql = "select * from ( select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1465. + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1466. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name"
  1467. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1468. }else{
  1469. sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1470. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1471. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1472. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" "
  1473. + "union all select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1474. + " t.PRODNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  1475. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  1476. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+""
  1477. + " union all select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1478. + "t.PRODNM_CD,T.INSTR_COIL_THK,T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  1479. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  1480. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1481. }
  1482. try {
  1483. System.out.print(sql);
  1484. List<HashMap> list = mapper.query(sql);
  1485. cro.setResult(list);
  1486. } catch (Exception ex) {
  1487. ex.printStackTrace();
  1488. cro.setV_errCode(-1);
  1489. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1490. }
  1491. SqlSession.close();
  1492. return cro;
  1493. }
  1494. @SuppressWarnings("rawtypes")
  1495. public CoreReturnObject doQueryMaterialDetailsRZFB(String begintime,String endtime,String bbatchno,String ebatchno ) {
  1496. String swhere = "";
  1497. String swhere1 = "";
  1498. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  1499. String sky=StrSky(begintime,endtime);
  1500. if(sky.equals("FALSE")){
  1501. SqlSession.close();
  1502. cro.setV_errCode(-1);
  1503. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1504. return cro;
  1505. }
  1506. }
  1507. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1508. swhere += " and LOCK_TIME between '"+begintime+"' and '"+endtime+"'";
  1509. }
  1510. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  1511. swhere += "and BATCH_NO >= '"+bbatchno+"'";
  1512. }
  1513. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  1514. swhere += "and BATCH_NO <= '"+ebatchno+"'";
  1515. }
  1516. /*if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1517. swhere += " and design_key like '%"+design_key+"%'";
  1518. }*/
  1519. /*if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1520. swhere += " and material_no like '%"+material_no+"%'";
  1521. }*/
  1522. /*swhere1 += " and b.JUDGERESULT = '0'";
  1523. if ("R".equals(type)){
  1524. swhere1 += " and b.r_chemresult = '0'";
  1525. }
  1526. if("M".equals(type)){
  1527. if(isjudge.equals("是")){
  1528. swhere1 += " and b.sizeresult <> '0'";
  1529. }else{
  1530. swhere1 += " and b.sizeresult = '0'";
  1531. }
  1532. }
  1533. if("B".equals(type)){
  1534. if(isjudge.equals("是")){
  1535. swhere1 += " and b.surfaceresult <> '0'";
  1536. }else{
  1537. swhere1 += " and b.surfaceresult = '0'";
  1538. }
  1539. }
  1540. /*if ("B".equals(type)) {
  1541. swhere1 += " and b.surfaceresult = '0'";
  1542. }else if ("M".equals(type)) {
  1543. swhere1 += " and b.sizeresult = '0'";
  1544. }else if ("T".equals(type)){
  1545. swhere1 += " and b.spyresult = '0'";
  1546. }else if ("R".equals(type)){
  1547. swhere1 += " and b.r_chemresult = '0'";
  1548. }*/
  1549. String sql = "";
  1550. sql = "select * from (select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" +
  1551. " T.OLD_SAMPL_NO MATERIAL_NO, \n" +
  1552. " t.FB_REASON LOCK_MEMO, \n" +
  1553. " t.SPEC_STL_GRD STEEL_NAME, \n" +
  1554. " t.DCS_THK THICK, \n" +
  1555. " t.ACT_WGT / 1000 WEIGHT, \n" +
  1556. " t.PRODNM_CD DELIVERY_STATE_DESC, \n" +
  1557. " t.SPEC_ABBSYM STD_NAME, \n" +
  1558. " t.ORD_NO || t.ORD_SEQ design_key, \n" +
  1559. " substr(t.SLAB_NO, 0, 10) heat_no,\n" +
  1560. " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME, \n" +
  1561. " t.DCS_WTH WIDTH, \n" +
  1562. " t.COIL_LEN LENGTH, \n"
  1563. + " T.DLIV_DIRNO, \n" +
  1564. " nvl(T2.OPERATE_NAME, t1.REG_ID) LOCK_NAME, \n" +
  1565. " t1.RESERVE_FIELD11 LOCK_TIME \n" +
  1566. " from tbh02_coil_comm t,\n" +
  1567. " TBE04_OPT_HIS t1,\n" +
  1568. " (select t3.operate_name, T3.PARAMS\n" +
  1569. " from (select max(t2.operate_name) operate_name, t2.params\n" +
  1570. " from qcm_judge_operate_log t2\n" +
  1571. " where t2.operate_type = '封闭'\n" +
  1572. " group by t2.params) t3,\n" +
  1573. " tbh02_coil_comm t\n" +
  1574. " where t.FB_YN = 'Y'\n" +
  1575. " and t.OLD_SAMPL_NO = t3.params) T2\n" +
  1576. " where t.FB_YN = 'Y'\n" +
  1577. " and t.OLD_SAMPL_NO = t1.RESERVE_FIELD1\n" +
  1578. " and t.OLD_SAMPL_NO = t2.params(+)\n"
  1579. + " and t.SPEC_STL_GRD not in ('CCSB','A572Gr.50','SS400+Ti','SPA-H','Q355B') " +
  1580. " and t1.RESERVE_FIELD15 = '02') a where 1= 1 "+swhere+" ";
  1581. try {
  1582. System.out.print(sql);
  1583. List<HashMap> list = mapper.query(sql);
  1584. cro.setResult(list);
  1585. } catch (Exception ex) {
  1586. ex.printStackTrace();
  1587. cro.setV_errCode(-1);
  1588. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1589. }
  1590. SqlSession.close();
  1591. return cro;
  1592. }
  1593. @SuppressWarnings("rawtypes")
  1594. public CoreReturnObject doQueryMaterialDetailsRZFBJL(String begintime,String endtime,String bbatchno,String ebatchno ) {
  1595. String swhere = "";
  1596. String swhere1 = "";
  1597. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) {
  1598. String sky=StrSky(begintime,endtime);
  1599. if(sky.equals("FALSE")){
  1600. SqlSession.close();
  1601. cro.setV_errCode(-1);
  1602. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1603. return cro;
  1604. }
  1605. }
  1606. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1607. swhere += " and LOCK_TIME between '"+begintime+"' and '"+endtime+"'";
  1608. }
  1609. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  1610. swhere += "and BATCH_NO >= '"+bbatchno+"'";
  1611. }
  1612. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  1613. swhere += "and BATCH_NO <= '"+ebatchno+"'";
  1614. }
  1615. /*if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1616. swhere += " and design_key like '%"+design_key+"%'";
  1617. }*/
  1618. /*if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1619. swhere += " and material_no like '%"+material_no+"%'";
  1620. }*/
  1621. /*swhere1 += " and b.JUDGERESULT = '0'";
  1622. /*if ("B".equals(type)) {
  1623. swhere1 += " and b.surfaceresult = '0'";
  1624. }else if ("M".equals(type)) {
  1625. swhere1 += " and b.sizeresult = '0'";
  1626. }else if ("T".equals(type)){
  1627. swhere1 += " and b.spyresult = '0'";
  1628. }else if ("R".equals(type)){
  1629. swhere1 += " and b.r_chemresult = '0'";
  1630. }*/
  1631. String sql = "";
  1632. sql = "select *\n" +
  1633. " from ((select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" +
  1634. " T.OLD_SAMPL_NO MATERIAL_NO,\n" +
  1635. " NVL(t1.RESERVE_FIELD14, t.FB_REASON) LOCK_MEMO,\n" +
  1636. " t.SPEC_STL_GRD STEEL_NAME,\n" +
  1637. " t.DCS_THK THICK,\n" +
  1638. " t.ACT_WGT / 1000 WEIGHT,\n" +
  1639. " t.PRODNM_CD DELIVERY_STATE_DESC,\n" +
  1640. " t.SPEC_ABBSYM STD_NAME,\n" +
  1641. " t.ORD_NO || t.ORD_SEQ design_key,\n" +
  1642. " substr(t.SLAB_NO, 0, 10) heat_no,\n" +
  1643. " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME,\n" +
  1644. " t.DCS_WTH WIDTH,\n" +
  1645. " t.COIL_LEN LENGTH,\n" +
  1646. " t1.REG_ID LOCK_NAME,\n" +
  1647. " t1.RESERVE_FIELD11 LOCK_TIME,\n" +
  1648. " DECODE(T1.RESERVE_FIELD15, '01', '取消封闭', '02', '封闭') FB\n" +
  1649. " from tbh02_coil_comm t, TBE04_OPT_HIS t1\n" +
  1650. " where t.OLD_SAMPL_NO = t1.RESERVE_FIELD1\n" +
  1651. " and t1.RESERVE_FIELD15 IN ('01', '02')\n" +
  1652. " AND T1.REG_PGM_ID not in ('YTHJUDGE', 'FBCOILYTH')) union all\n" +
  1653. " (select SUBSTR(T.OLD_SAMPL_NO, 0, 10) BATCH_NO,\n" +
  1654. " T.OLD_SAMPL_NO MATERIAL_NO,\n" +
  1655. " NVL(t2.memo, t.FB_REASON) LOCK_MEMO,\n" +
  1656. " t.SPEC_STL_GRD STEEL_NAME,\n" +
  1657. " t.DCS_THK THICK,\n" +
  1658. " t.ACT_WGT / 1000 WEIGHT,\n" +
  1659. " t.PRODNM_CD DELIVERY_STATE_DESC,\n" +
  1660. " t.SPEC_ABBSYM STD_NAME,\n" +
  1661. " t.ORD_NO || t.ORD_SEQ design_key,\n" +
  1662. " substr(t.SLAB_NO, 0, 10) heat_no,\n" +
  1663. " PKG_QUALITY_COMM.PK00_COMM('A01007', T.ORD_USE_CD) PROD_NAME,\n" +
  1664. " t.DCS_WTH WIDTH,\n" +
  1665. " t.COIL_LEN LENGTH,\n" +
  1666. " t2.operate_name LOCK_NAME,\n" +
  1667. " to_char(t2.operate_time, 'yyyymmddhh24miss') LOCK_TIME,\n" +
  1668. " t2.operate_type FB\n" +
  1669. " from tbh02_coil_comm t, qcm_judge_operate_log t2\n" +
  1670. " where t.OLD_SAMPL_NO = t2.PARAMS\n" +
  1671. " and T2.OPERATE_TYPE IN ('封闭', '取消封闭'))) where 1 = 1 "+swhere+" ";
  1672. try {
  1673. System.out.print(sql);
  1674. List<HashMap> list = mapper.query(sql);
  1675. cro.setResult(list);
  1676. } catch (Exception ex) {
  1677. ex.printStackTrace();
  1678. cro.setV_errCode(-1);
  1679. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1680. }
  1681. SqlSession.close();
  1682. return cro;
  1683. }
  1684. @SuppressWarnings("rawtypes")
  1685. public CoreReturnObject doQueryMaterialDetailsJ3(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String steelname ) {
  1686. String swhere = "";
  1687. String swhere1 = "";
  1688. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1689. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  1690. }
  1691. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  1692. swhere += "and batchno >= '"+bbatchno+"'";
  1693. }
  1694. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  1695. swhere += "and batchno <= '"+ebatchno+"'";
  1696. }
  1697. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1698. swhere += " and design_key like '%"+design_key+"%'";
  1699. }
  1700. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1701. swhere += " and material_no like '%"+material_no+"%'";
  1702. }
  1703. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1704. swhere += " and steel_name = '"+steelname+"'";
  1705. }
  1706. swhere1 += " and b.JUDGERESULT = '0'";
  1707. if ("R".equals(type)){
  1708. swhere1 += " and b.r_chemresult = '0'";
  1709. }
  1710. if("M".equals(type)){
  1711. if(isjudge.equals("是")){
  1712. swhere1 += " and b.sizeresult <> '0'";
  1713. }else{
  1714. swhere1 += " and b.sizeresult = '0'";
  1715. }
  1716. }
  1717. if("B".equals(type)){
  1718. if(isjudge.equals("是")){
  1719. swhere1 += " and b.surfaceresult <> '0'";
  1720. }else{
  1721. swhere1 += " and b.surfaceresult = '0'";
  1722. }
  1723. }
  1724. /*if ("B".equals(type)) {
  1725. swhere1 += " and b.surfaceresult = '0'";
  1726. }else if ("M".equals(type)) {
  1727. swhere1 += " and b.sizeresult = '0'";
  1728. }else if ("T".equals(type)){
  1729. swhere1 += " and b.spyresult = '0'";
  1730. }else if ("R".equals(type)){
  1731. swhere1 += " and b.r_chemresult = '0'";
  1732. }*/
  1733. String sql = "";
  1734. if(prodline.equals("热连轧")){
  1735. sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc, '' psc_desc, "
  1736. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1737. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1738. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1739. }else if(prodline.equals("酸轧")){
  1740. sql = "select * from (select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1741. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1742. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1743. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1744. }else if(prodline.equals("连退")){
  1745. sql = "select * from ( select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1746. + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1747. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name"
  1748. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1749. }else{
  1750. sql = "select * from (select 'RZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1751. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1752. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1753. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" "
  1754. + "union all select 'SZ1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1755. + " t.PRODNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  1756. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  1757. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+""
  1758. + " union all select 'LT1' pline_code,T.fb_yn,T.fb_reason,T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1759. + "t.PRODNM_CD,T.INSTR_COIL_THK,T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(t.mill_dtime, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,b.SURFACEID surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  1760. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  1761. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1762. }
  1763. try {
  1764. System.out.print(sql);
  1765. List<HashMap> list = mapper.query(sql);
  1766. cro.setResult(list);
  1767. } catch (Exception ex) {
  1768. ex.printStackTrace();
  1769. cro.setV_errCode(-1);
  1770. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1771. }
  1772. SqlSession.close();
  1773. return cro;
  1774. }
  1775. /**
  1776. * 查询待判明细信息 根据轧批号、计划号查询物料号 卷板熔炼待判信息
  1777. */
  1778. @SuppressWarnings("rawtypes")
  1779. public CoreReturnObject doQueryMaterialDetailsJR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) {
  1780. String swhere = "";
  1781. String swhere1 = "";
  1782. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) {
  1783. String sky=StrSky(begintime,endtime);
  1784. if(sky.equals("FALSE")){
  1785. SqlSession.close();
  1786. cro.setV_errCode(-1);
  1787. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1788. return cro;
  1789. }
  1790. }
  1791. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1792. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  1793. }
  1794. if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号
  1795. swhere += "and heat_no = '"+heat_no+"'";
  1796. }
  1797. if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号
  1798. swhere += "and board_no = '"+board_no+"'";
  1799. }
  1800. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1801. swhere += " and design_key like '%"+design_key+"%'";
  1802. }
  1803. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1804. swhere += " and material_no like '%"+material_no+"%'";
  1805. }
  1806. if(!SqlJoint.IsNullOrSpace(sbatchno)){
  1807. swhere += " and batchno >= '"+sbatchno+"'";
  1808. }
  1809. if(!SqlJoint.IsNullOrSpace(ebatchno)){
  1810. swhere += " and batchno <= '"+ebatchno+"'";
  1811. }
  1812. swhere1 += " and b.JUDGERESULT = '0'";
  1813. if ("R".equals(type)){
  1814. swhere1 += " and b.r_chemresult = '0'";
  1815. }
  1816. String sql = "";
  1817. if(prodline.equals("热连轧")){
  1818. sql = "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1819. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.MILL_DTIME,'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1820. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1821. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1822. }else if(prodline.equals("酸轧")){
  1823. sql = "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1824. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1825. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1826. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1827. }else if(prodline.equals("连退")){
  1828. sql = "select * from ( select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1829. + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1830. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name"
  1831. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1832. }else{
  1833. sql = "select * from (select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1834. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK THICK,T.INSTR_COIL_WTH WIDTH, T.INSTR_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT, to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1835. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1836. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" ) where 1= 1 "+swhere+" "
  1837. + " union all "
  1838. + "select * from (select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9)batchno, t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ design_key, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1839. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.INSTR_COIL_THK thick, T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1840. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  1841. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" "
  1842. + " union all "
  1843. +" select * from ( select T.SLAB_NO board_no, SUBSTR(T.SLAB_NO, 1, 10) heat_no,SUBSTR(t.OLD_SAMPL_NO, 1, 9) batchno, t1.CAL_NO plan_no, T.OLD_SAMPL_NO material_no,T.ORD_NO || T.ORD_SEQ design_key,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  1844. + "t.PRODNM_CD DELIVERY_STATE_DESC,T.INSTR_COIL_THK thick,T.INSTR_COIL_WTH width,T.INSTR_COIL_LEN length,T.ACT_WGT/1000 weight,to_date(t.MILL_DTIME, 'yyyy-mm-dd hh24:mi:ss') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  1845. + "T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name"
  1846. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+" ) order by PRODUCETIME desc";
  1847. }
  1848. try {
  1849. System.out.print(sql);
  1850. List<HashMap> list = mapper.query(sql);
  1851. cro.setResult(list);
  1852. } catch (Exception ex) {
  1853. ex.printStackTrace();
  1854. cro.setV_errCode(-1);
  1855. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1856. }
  1857. SqlSession.close();
  1858. return cro;
  1859. }
  1860. /**
  1861. * 查询待判明细信息 根据轧批号、计划号查询物料号 卷板熔炼待判信息
  1862. */
  1863. @SuppressWarnings("rawtypes")
  1864. public CoreReturnObject doQueryMaterialDetailsYR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) {
  1865. String swhere = "";
  1866. String swhere1 = "";
  1867. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) {
  1868. String sky=StrSky(begintime,endtime);
  1869. if(sky.equals("FALSE")){
  1870. SqlSession.close();
  1871. cro.setV_errCode(-1);
  1872. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1873. return cro;
  1874. }
  1875. }
  1876. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  1877. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  1878. }
  1879. if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号
  1880. swhere += "and heat_no = '"+heat_no+"'";
  1881. }
  1882. if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号
  1883. swhere += "and board_no = '"+board_no+"'";
  1884. }
  1885. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  1886. swhere += " and design_key like '%"+design_key+"%'";
  1887. }
  1888. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  1889. swhere += " and material_no like '%"+material_no+"%'";
  1890. }
  1891. if(!SqlJoint.IsNullOrSpace(sbatchno)){
  1892. swhere += " and batchno >= '"+sbatchno+"'";
  1893. }
  1894. if(!SqlJoint.IsNullOrSpace(ebatchno)){
  1895. swhere += " and batchno <= '"+ebatchno+"'";
  1896. }
  1897. swhere1 += " and b.JUDGERESULT = '0'";
  1898. if ("R".equals(type)){
  1899. swhere1 += " and b.r_chemresult = '0'";
  1900. }
  1901. String sql = "select * from (select t.HEATNO HEAT_NO,T.HEATNO BOARD_NO,t.BATCHNO,'' plan_no,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY,'' PSC,'' PSC_DESC, "
  1902. + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,'' CUTSIDESTATE,'' FIXSIZE,t.PRODUCEDATE PRODUCETIME, b.sizeid, "
  1903. + " '' GRADE_CODE,'' GRADE_NAME, cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t "
  1904. + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ "
  1905. + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO and b.FINAL_PROCESSES = '1' where t.STATE in ('0','-1', '7') "+swhere1+") where 1= 1 "+swhere+" order by PRODUCETIME desc";
  1906. try {
  1907. System.out.print(sql);
  1908. List<HashMap> list = mapper.query(sql);
  1909. cro.setResult(list);
  1910. } catch (Exception ex) {
  1911. ex.printStackTrace();
  1912. cro.setV_errCode(-1);
  1913. cro.setV_errMsg("查询失败!" + ex.getMessage());
  1914. }
  1915. SqlSession.close();
  1916. return cro;
  1917. }
  1918. @SuppressWarnings("rawtypes")
  1919. public CoreReturnObject doQueryMaterialDetailsBS2(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge,String surface_type) {
  1920. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) {
  1921. String sky=StrSky(begintime,endtime);
  1922. if(sky.equals("FALSE")){
  1923. SqlSession.close();
  1924. cro.setV_errCode(-1);
  1925. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  1926. return cro;
  1927. }
  1928. }
  1929. String swhere = "";
  1930. String swhere1 = "";
  1931. String swhere5 = "";
  1932. String swhere6 = "";
  1933. String swhere7 = "";
  1934. String swhere8 = "";
  1935. //上表面
  1936. String swhere2 = "";
  1937. //下表面
  1938. String swhere3 = "";
  1939. String swhere4 = "";
  1940. String table = "";
  1941. if(design_key.startsWith("19")){
  1942. table="sel_pactdetail_new@xgcx";
  1943. }else{
  1944. table="sel_pactdetail@xgcx";
  1945. }
  1946. /*" ( select z.ORDERNO,"+
  1947. "z.PRODLINECODE,"+
  1948. "z.STEELCODE,"+
  1949. "z.QUANTITY,"+
  1950. "z.WEIGHT,"+
  1951. "z.PRICE,"+
  1952. "z.AREACODE,"+
  1953. "z.FORECORPCODE,"+
  1954. "z.INCEPTCORPCODE,"+
  1955. "z.SENDBEGINDATE,"+
  1956. "z.REMARK,"+
  1957. "z.CONSWEIGHT,"+
  1958. "z.CONSMONEY,"+
  1959. "z.AUDITINGWEIGHT,"+
  1960. "z.AUDITINGMONEY,"+
  1961. "z.LENGTH,"+
  1962. "z.WIDTH,"+
  1963. "z.HEIGHT,"+
  1964. "z.SINDEX,"+
  1965. "z.ISCHECKSCAR,"+
  1966. "z.ISHEAT,"+
  1967. "z.USEDSTAND,"+
  1968. "z.CHECKORG,"+
  1969. "z.SAMPLINGREQUEST,"+
  1970. "z.SENDTYPE,"+
  1971. "z.STATIONCODE,"+
  1972. "z.TRANSTYPE,"+
  1973. "z.FIXSIZE,"+
  1974. "z.WIDTHFIXSIZELOW,"+
  1975. "z.WIDTHFIXSIZEUPPER,"+
  1976. "z.WEIGHTLOWER,"+
  1977. "z.WEIGHTUPPER,"+
  1978. "z.CHECKSTATUS,"+
  1979. "z.PRI,"+
  1980. "z.SIGNCOLOR,"+
  1981. "z.BALANCEMONEY,"+
  1982. "z.ORDERSTATUS,"+
  1983. "z.SENDENDDATE,"+
  1984. "z.ORDERPERSON,"+
  1985. "z.ORDERDATE,"+
  1986. "z.LENGTHFIXSIZELOW,"+
  1987. "z.LENGTHFIXSIZEUPPER,"+
  1988. "z.STANDROLLER,"+
  1989. "z.HEATROLL,"+
  1990. "z.QUENCH,"+
  1991. "z.TMCP,"+
  1992. "z.SALEAFFIRMFLAG,"+
  1993. "z.PRODUCECORPAFFIRMFLAG,"+
  1994. "z.SCCAFFIRMFLAG,"+
  1995. "z.SELLPLANNO,"+
  1996. "z.ZBSSTENCILCODE,"+
  1997. "z.PRODUCEPERSON,"+
  1998. "z.PRODUCEDATE,"+
  1999. "z.SCCPERSON,"+
  2000. "z.SCCDATE,"+
  2001. "z.HIC,"+
  2002. "z.ISSPECIAL,"+
  2003. "z.SALEDATE,"+
  2004. "z.CATEGORY,"+
  2005. "z.PACTNO,"+
  2006. "z.SENDSTATUS,"+
  2007. "z.ISWATERCARRIAGE,"+
  2008. "z.CONSQUANTITY,"+
  2009. "z.BUYERCODE,"+
  2010. "z.CLOSEER,"+
  2011. "z.CLOSETIME,"+
  2012. "z.PURPOSEID,"+
  2013. "z.MIC,"+
  2014. "z.PRECISION,"+
  2015. "z.SENDDATE,"+
  2016. "z.LEASEDLINE,"+
  2017. "z.ISLOCKPRICE,"+
  2018. "z.OUTPRICE,"+
  2019. "z.DOCKCODE,"+
  2020. "z.PACTINDEX,"+
  2021. "z.PLANWEIGHT,"+
  2022. "z.PLANQUANTITY,"+
  2023. "z.IMPORTOR,"+
  2024. "z.IMPORTTIME,"+
  2025. "z.PLANPRODUCTDATE,"+
  2026. "z.HEIGHTRANGE,"+
  2027. "z.PACTTYPECODE,"+
  2028. "z.CONTROLROLL,"+
  2029. "z.ADDWEIGHT,"+
  2030. "z.CHECKDATE,"+
  2031. "z.HEATDATE,"+
  2032. "z.ISHEATROLL,"+
  2033. "z.CONSDATEDECLARETIME,"+
  2034. "z.CONSDATEDECLAREPERSON,"+
  2035. "z.CONSDATEAFFIRMTIME,"+
  2036. "z.CONSDATEAFFIRMPERSON,"+
  2037. "z.ISNEWSTEELNAME,"+
  2038. "z.REINCEPTCORP,"+
  2039. "z.MULTISTEELNAME,"+
  2040. "z.ISPRODUCTMONEY,"+
  2041. "z.ORDERBEGINDATE,"+
  2042. "z.LASTSENDDATE,"+
  2043. "z.ISBUILDTRAINNO,"+
  2044. "z.OVERWEIGHT,"+
  2045. "z.OVERMONEY,"+
  2046. "z.TRANSMONEY,"+
  2047. "z.CHECKNO,"+
  2048. "z.PLANPRODUCTBEGINDATE,"+
  2049. "z.CHECKTIME,"+
  2050. "z.BJDEL,"+
  2051. "z.ISSAMPLINGREQUEST,"+
  2052. "z.SAMPLINGREQUESTTYPE,"+
  2053. "z.MLHH,"+
  2054. "z.HDG,"+
  2055. "z.KHIC,"+
  2056. "z.BUYERKINDCODE,"+
  2057. "z.ISPOSTER,"+
  2058. "z.ISNEWCHECKORG,"+
  2059. "z.DELIVERYSTATE,"+
  2060. "z.TSBZ,"+
  2061. "z.TSDJ,"+
  2062. "z.OPERATOR_NAME,"+
  2063. "z.OPERATOR_PHONE,"+
  2064. "z.OPERATOR_REM,"+
  2065. "z.QTDESIGNRESULT,"+
  2066. "z.QTDESIGNDATE,"+
  2067. "z.QTDESIGNOPERATOR,"+
  2068. "z.QTDESIGNERRMSG,"+
  2069. "z.ENDUSER_CODE,"+
  2070. "z.PRODUCT_YT,"+
  2071. "z.POINT_PROJECT,"+
  2072. "z.FACERESULT,"+
  2073. "z.TRANSPORTATION_REQUIREMENT,"+
  2074. "z.DEV_DGR_CD,"+
  2075. "z.DEV_SPEC_CD,"+
  2076. "z.SECTION,"+
  2077. "z.IS_ZB,"+
  2078. "z.PSRNO,"+
  2079. "z.SAMPLINGREQUESTTIME from sel_pactdetail@xgcx z where orderno not in (select orderno from sel_pactdetail_new@xgcx) "+
  2080. " union all " +
  2081. " select z.ORDERNO,"+
  2082. "z.PRODLINECODE,"+
  2083. "z.STEELCODE,"+
  2084. "z.QUANTITY,"+
  2085. "z.WEIGHT,"+
  2086. "z.PRICE,"+
  2087. "z.AREACODE,"+
  2088. "z.FORECORPCODE,"+
  2089. "z.INCEPTCORPCODE,"+
  2090. "z.SENDBEGINDATE,"+
  2091. "z.REMARK,"+
  2092. "z.CONSWEIGHT,"+
  2093. "z.CONSMONEY,"+
  2094. "z.AUDITINGWEIGHT,"+
  2095. "z.AUDITINGMONEY,"+
  2096. "z.LENGTH,"+
  2097. "z.WIDTH,"+
  2098. "z.HEIGHT,"+
  2099. "z.SINDEX,"+
  2100. "z.ISCHECKSCAR,"+
  2101. "z.ISHEAT,"+
  2102. "z.USEDSTAND,"+
  2103. "z.CHECKORG,"+
  2104. "z.SAMPLINGREQUEST,"+
  2105. "z.SENDTYPE,"+
  2106. "z.STATIONCODE,"+
  2107. "z.TRANSTYPE,"+
  2108. "z.FIXSIZE,"+
  2109. "z.WIDTHFIXSIZELOW,"+
  2110. "z.WIDTHFIXSIZEUPPER,"+
  2111. "z.WEIGHTLOWER,"+
  2112. "z.WEIGHTUPPER,"+
  2113. "z.CHECKSTATUS,"+
  2114. "z.PRI,"+
  2115. "z.SIGNCOLOR,"+
  2116. "z.BALANCEMONEY,"+
  2117. "z.ORDERSTATUS,"+
  2118. "z.SENDENDDATE,"+
  2119. "z.ORDERPERSON,"+
  2120. "z.ORDERDATE,"+
  2121. "z.LENGTHFIXSIZELOW,"+
  2122. "z.LENGTHFIXSIZEUPPER,"+
  2123. "z.STANDROLLER,"+
  2124. "z.HEATROLL,"+
  2125. "z.QUENCH,"+
  2126. "z.TMCP,"+
  2127. "z.SALEAFFIRMFLAG,"+
  2128. "z.PRODUCECORPAFFIRMFLAG,"+
  2129. "z.SCCAFFIRMFLAG,"+
  2130. "z.SELLPLANNO,"+
  2131. "z.ZBSSTENCILCODE,"+
  2132. "z.PRODUCEPERSON,"+
  2133. "z.PRODUCEDATE,"+
  2134. "z.SCCPERSON,"+
  2135. "z.SCCDATE,"+
  2136. "z.HIC,"+
  2137. "z.ISSPECIAL,"+
  2138. "z.SALEDATE,"+
  2139. "z.CATEGORY,"+
  2140. "z.PACTNO,"+
  2141. "z.SENDSTATUS,"+
  2142. "z.ISWATERCARRIAGE,"+
  2143. "z.CONSQUANTITY,"+
  2144. "z.BUYERCODE,"+
  2145. "z.CLOSEER,"+
  2146. "z.CLOSETIME,"+
  2147. "z.PURPOSEID,"+
  2148. "z.MIC,"+
  2149. "z.PRECISION,"+
  2150. "z.SENDDATE,"+
  2151. "z.LEASEDLINE,"+
  2152. "z.ISLOCKPRICE,"+
  2153. "z.OUTPRICE,"+
  2154. "z.DOCKCODE,"+
  2155. "z.PACTINDEX,"+
  2156. "z.PLANWEIGHT,"+
  2157. "z.PLANQUANTITY,"+
  2158. "z.IMPORTOR,"+
  2159. "z.IMPORTTIME,"+
  2160. "z.PLANPRODUCTDATE,"+
  2161. "z.HEIGHTRANGE,"+
  2162. "z.PACTTYPECODE,"+
  2163. "z.CONTROLROLL,"+
  2164. "z.ADDWEIGHT,"+
  2165. "z.CHECKDATE,"+
  2166. "z.HEATDATE,"+
  2167. "z.ISHEATROLL,"+
  2168. "z.CONSDATEDECLARETIME,"+
  2169. "z.CONSDATEDECLAREPERSON,"+
  2170. "z.CONSDATEAFFIRMTIME,"+
  2171. "z.CONSDATEAFFIRMPERSON,"+
  2172. "z.ISNEWSTEELNAME,"+
  2173. "z.REINCEPTCORP,"+
  2174. "z.MULTISTEELNAME,"+
  2175. "z.ISPRODUCTMONEY,"+
  2176. "z.ORDERBEGINDATE,"+
  2177. "z.LASTSENDDATE,"+
  2178. "z.ISBUILDTRAINNO,"+
  2179. "z.OVERWEIGHT,"+
  2180. "z.OVERMONEY,"+
  2181. "z.TRANSMONEY,"+
  2182. "z.CHECKNO,"+
  2183. "z.PLANPRODUCTBEGINDATE,"+
  2184. "z.CHECKTIME,"+
  2185. "z.BJDEL,"+
  2186. "z.ISSAMPLINGREQUEST,"+
  2187. "z.SAMPLINGREQUESTTYPE,"+
  2188. "z.MLHH,"+
  2189. "z.HDG,"+
  2190. "z.KHIC,"+
  2191. "z.BUYERKINDCODE,"+
  2192. "z.ISPOSTER,"+
  2193. "z.ISNEWCHECKORG,"+
  2194. "z.DELIVERYSTATE,"+
  2195. "TSBZ,"+
  2196. "z.TSDJ,"+
  2197. "z.OPERATOR_NAME,"+
  2198. "z.OPERATOR_PHONE,"+
  2199. "z.OPERATOR_REM,"+
  2200. "z.QTDESIGNRESULT,"+
  2201. "z.QTDESIGNDATE,"+
  2202. "z.QTDESIGNOPERATOR,"+
  2203. "z.QTDESIGNERRMSG,"+
  2204. "z.ENDUSER_CODE,"+
  2205. "z.PRODUCT_YT,"+
  2206. "z.POINT_PROJECT,"+
  2207. "z.FACERESULT,"+
  2208. "z.TRANSPORTATION_REQUIREMENT,"+
  2209. "z.DEV_DGR_CD,"+
  2210. "z.DEV_SPEC_CD,"+
  2211. "z.SECTION,"+
  2212. "z.IS_ZB,"+
  2213. "z.PSRNO,"+
  2214. "z.SAMPLINGREQUESTTIME from sel_pactdetail_new@xgcx z) ";*/
  2215. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  2216. swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  2217. swhere5 += " and PRODUCETIME between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  2218. swhere6 += " and ptime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  2219. }
  2220. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  2221. swhere += "and b.billetid like '"+bbatchno+"%'";
  2222. swhere7 += "and b.billetid like '"+bbatchno+"%'";
  2223. swhere8 += "and b.billetid like '"+bbatchno+"%'";
  2224. }
  2225. /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  2226. swhere += "and a.batchno <= '"+ebatchno+"'";
  2227. swhere7 += "and a.ROLLNUMBER <= '"+ebatchno+"'";
  2228. swhere8 += "and a.ROLLNUMBER <= '"+ebatchno+"'";
  2229. }*/
  2230. if (!SqlJoint.IsNullOrSpace(design_key) && !design_key.startsWith("19")) { //销售订单号
  2231. swhere4 += " and design_key like '%"+design_key+"%'";
  2232. }
  2233. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  2234. swhere += " and material_no like '%"+material_no+"%'";
  2235. }
  2236. // swhere1 += " and b.JUDGERESULT = '0'";
  2237. if ("R".equals(type)){
  2238. swhere1 += " and b.r_chemresult = '0'";
  2239. swhere5 += " and b.r_chemresult = '0'";
  2240. swhere6 += " and b.r_chemresult = '0'";
  2241. }
  2242. if("M".equals(type)){
  2243. if(isjudge.equals("是")){
  2244. swhere1 += " and b.sizeresult <> '0'";
  2245. swhere5 += " and b.sizeresult <> '0'";
  2246. swhere6 += " and b.sizeresult <> '0'";
  2247. }else{
  2248. swhere1 += " and b.sizeresult = '0'";
  2249. swhere5 += " and b.sizeresult = '0'";
  2250. swhere6 += " and b.sizeresult = '0'";
  2251. }
  2252. }
  2253. if("B".equals(type)){
  2254. if(isjudge.equals("是")){
  2255. //swhere1 += " and b.surfaceresult <> '0'";
  2256. swhere2 += " and b.up_surface_result <> '0'";
  2257. swhere3 += " and b.ud_surface_result <> '0'";
  2258. }else{
  2259. //swhere1 += " and b.surfaceresult = '0'";
  2260. swhere2 += " and b.up_surface_result = '0'";
  2261. swhere3 += " and b.ud_surface_result = '0'";
  2262. }
  2263. }
  2264. if (!SqlJoint.IsNullOrSpace(surface_type)) {
  2265. swhere4 += " and surface_type = '"+surface_type+"'";
  2266. }
  2267. String sql = "";
  2268. if(prodline.equals("厚板线")){
  2269. sql = "select * from (select to_char(a.heatno) heat_no,\n" +
  2270. " batchno,\n" +
  2271. " a.taskno plan_no,\n" +
  2272. " a.slabno material_no,\n" +
  2273. " a.orderid design_key,\n" +
  2274. " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" +
  2275. " a.width,\n" +
  2276. " a.len length,\n" +
  2277. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2278. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2279. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2280. " a.maketime producetime,\n" +
  2281. " b.sizeid,\n" +
  2282. " b.up_surface_result_id_desc surface_id,\n" +
  2283. " c.bigshopsign grade_code,\n" +
  2284. " c.bigshopsign grade_name,\n" +
  2285. " '上表面' surface_type,\n" +
  2286. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2287. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2288. " t2.usedstand std_code,\n" +
  2289. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2290. " t2.purposeid prod_code,\n" +
  2291. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2292. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2293. " t2.psrno psc,\n" +
  2294. " t2.dev_spec_cd psc_desc\n" +
  2295. " from zyhb_plandetailofplate@xgcx a,\n" +
  2296. " zj_result_all@xgcx b,\n" +
  2297. " kch_storagelist@xgcx c,\n" +
  2298. " "+table+" t2\n" +
  2299. " where a.slabno = b.billetid\n" +
  2300. " and a.billetid = c.billetid\n" + swhere1 + swhere2+ swhere +
  2301. " and a.orderid = t2.orderno and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" +
  2302. " union all\n" +
  2303. "select to_char(a.heatno) heat_no,\n" +
  2304. " batchno,\n" +
  2305. " a.taskno plan_no,\n" +
  2306. " a.slabno material_no,\n" +
  2307. " a.orderid design_key,\n" +
  2308. " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" +
  2309. " a.width,\n" +
  2310. " a.len length,\n" +
  2311. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2312. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2313. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2314. " a.maketime producetime,\n" +
  2315. " b.sizeid,\n" +
  2316. " b.up_surface_result_id_desc surface_id,\n" +
  2317. " c.bigshopsign grade_code,\n" +
  2318. " c.bigshopsign grade_name,\n" +
  2319. " '上表面' surface_type,\n" +
  2320. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2321. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2322. " t2.usedstand std_code,\n" +
  2323. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2324. " t2.purposeid prod_code,\n" +
  2325. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2326. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2327. " t2.psrno psc,\n" +
  2328. " t2.dev_spec_cd psc_desc\n" +
  2329. " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" +
  2330. " zj_result_all@xgcx b,\n" +
  2331. " kch_storagelist@xgcx c,\n" +
  2332. " "+table+" t2\n" +
  2333. " where a.slabno = b.billetid\n" +
  2334. " and a.orderid = t2.orderno \n" +
  2335. " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere2+ swhere +
  2336. " union all\n" +
  2337. " select to_char(a.heatno) heat_no,\n" +
  2338. " batchno,\n" +
  2339. " a.taskno plan_no,\n" +
  2340. " a.slabno material_no,\n" +
  2341. " a.orderid design_key,\n" +
  2342. " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" +
  2343. " a.width,\n" +
  2344. " a.len length,\n" +
  2345. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2346. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2347. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2348. " a.maketime producetime,\n" +
  2349. " b.sizeid,\n" +
  2350. " b.ud_surface_result_id_desc surface_id,\n" +
  2351. " c.bigshopsign grade_code,\n" +
  2352. " c.bigshopsign grade_name,\n" +
  2353. " '下表面' surface_type,\n" +
  2354. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2355. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2356. " t2.usedstand std_code,\n" +
  2357. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2358. " t2.purposeid prod_code,\n" +
  2359. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2360. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2361. " t2.psrno psc,\n" +
  2362. " t2.dev_spec_cd psc_desc\n" +
  2363. " from zyhb_plandetailofplate@xgcx a,\n" +
  2364. " zj_result_all@xgcx b,\n" +
  2365. " kch_storagelist@xgcx c,\n" +
  2366. " "+table+" t2\n" +
  2367. " where a.slabno = b.billetid\n" +
  2368. " and a.orderid = t2.orderno \n" +
  2369. " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere3+ swhere +
  2370. " union all\n" +
  2371. " select to_char(a.heatno) heat_no,\n" +
  2372. " batchno,\n" +
  2373. " a.taskno plan_no,\n" +
  2374. " a.slabno material_no,\n" +
  2375. " a.orderid design_key,\n" +
  2376. " a.thick,\n" +
  2377. " a.width,\n" +
  2378. " a.len length,\n" +
  2379. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2380. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2381. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2382. " a.maketime producetime,\n" +
  2383. " b.sizeid,\n" +
  2384. " b.ud_surface_result_id_desc surface_id,\n" +
  2385. " c.bigshopsign grade_code,\n" +
  2386. " c.bigshopsign grade_name,\n" +
  2387. " '下表面' surface_type,\n" +
  2388. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2389. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2390. " t2.usedstand std_code,\n" +
  2391. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2392. " t2.purposeid prod_code,\n" +
  2393. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2394. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2395. " t2.psrno psc,\n" +
  2396. " t2.dev_spec_cd psc_desc\n" +
  2397. " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" +
  2398. " zj_result_all@xgcx b,\n" +
  2399. " kch_storagelist@xgcx c,\n" +
  2400. " "+table+" t2\n" +
  2401. " where a.slabno = b.billetid\n" +
  2402. " and a.orderid = t2.orderno \n" +
  2403. " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 + swhere3+ swhere + ""
  2404. + " union all \n"
  2405. + "select a.STOVENO heat_no,\n" +
  2406. " A.ROLLNUMBER batchno,\n" +
  2407. " a.PLANNUMBER plan_no, \n" +
  2408. " a.BILLETID material_no,\n" +
  2409. " a.ALLOTORDERFORM design_key,\n" +
  2410. " a.PLY thick, \n" +
  2411. " a.width,\n" +
  2412. " a.lenGTH length,\n" +
  2413. " a.THEORYWEIGHT weight,\n" +
  2414. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2415. " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" +
  2416. " a.PRODUCETIME PRODUCETIME,\n" +
  2417. " b.sizeid,\n" +
  2418. " b.up_surface_result_id_desc surface_id,\n" +
  2419. " c.bigshopsign grade_code,\n" +
  2420. " c.bigshopsign grade_name,\n" +
  2421. " '上表面' surface_type,\n" +
  2422. " t2.steelcode steel_code,\n" +
  2423. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2424. " t2.usedstand std_code,\n" +
  2425. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2426. " t2.purposeid prod_code,\n" +
  2427. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2428. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2429. " t2.psrno psc,\n" +
  2430. " t2.dev_spec_cd psc_desc\n" +
  2431. " from KCH_TURNOFFLIST@xgcx a,\n" +
  2432. " zj_result_all@xgcx b,\n" +
  2433. " kch_storagelist@xgcx c,\n" +
  2434. " "+table+" t2,\n" +
  2435. " (SELECT *\n" +
  2436. " FROM zyhb_plandetailofplate@Xgcx\n" +
  2437. " UNION ALL\n" +
  2438. " SELECT *\n" +
  2439. " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" +
  2440. " where a.BILLETID = b.BILLETID\n" +
  2441. " and a.allotorderform = t2.ORDERNO\n" +// ((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" +
  2442. " and D.billetid = c.billetid(+)\n" +
  2443. " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere2+ swhere7 + ""
  2444. + " union all \n"
  2445. + "select a.STOVENO heat_no,\n" +
  2446. " A.ROLLNUMBER batchno,\n" +
  2447. " a.PLANNUMBER plan_no, \n" +
  2448. " a.BILLETID material_no,\n" +
  2449. " a.ALLOTORDERFORM design_key,\n" +
  2450. " a.PLY thick, \n" +
  2451. " a.width,\n" +
  2452. " a.lenGTH length,\n" +
  2453. " a.THEORYWEIGHT weight,\n" +
  2454. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2455. " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" +
  2456. " a.PRODUCETIME PRODUCETIME,\n" +
  2457. " b.sizeid,\n" +
  2458. " b.ud_surface_result_id_desc surface_id,\n" +
  2459. " c.bigshopsign grade_code,\n" +
  2460. " c.bigshopsign grade_name,\n" +
  2461. " '下表面' surface_type,\n" +
  2462. " t2.steelcode steel_code,\n" +
  2463. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2464. " t2.usedstand std_code,\n" +
  2465. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2466. " t2.purposeid prod_code,\n" +
  2467. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2468. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2469. " t2.psrno psc,\n" +
  2470. " t2.dev_spec_cd psc_desc\n" +
  2471. " from KCH_TURNOFFLIST@xgcx a,\n" +
  2472. " zj_result_all@xgcx b,\n" +
  2473. " kch_storagelist@xgcx c,\n" +
  2474. " "+table+" t2,\n" +
  2475. " (SELECT *\n" +
  2476. " FROM zyhb_plandetailofplate@Xgcx\n" +
  2477. " UNION ALL\n" +
  2478. " SELECT *\n" +
  2479. " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" +
  2480. " where a.BILLETID = b.BILLETID\n" +
  2481. " and a.allotorderform = t2.ORDERNO\n" +//+((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" +
  2482. " and D.billetid = c.billetid(+)\n" +
  2483. " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere3+ swhere7 + ") t1 where 1=1 "+swhere4+
  2484. " order by t1.batchno desc, t1.material_no, t1.surface_type\n";
  2485. }else if(prodline.equals("中板线")){
  2486. sql = "select t1.*\n" +
  2487. " from (select a.heatno heat_no,\n" +
  2488. " a.batchno,\n" +
  2489. " a.taskno plan_no,\n" +
  2490. " a.productno material_no,\n" +
  2491. " a.orderno design_key,\n" +
  2492. " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" +
  2493. " a.width,\n" +
  2494. " a.length,\n" +
  2495. " a.weight,\n" +
  2496. " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" +
  2497. " (select name_ from scm_base_info where id_ = a.sizestyle) fixsize,\n" +
  2498. " a.maketime producetime,\n" +
  2499. " b.sizeid,\n" +
  2500. " b.up_surface_result_id_desc surface_id,\n" +
  2501. " c.bigshopsign grade_code,\n" +
  2502. " c.bigshopsign grade_name,\n" +
  2503. " '上表面' surface_type,\n" +
  2504. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_code,\n" +
  2505. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_name,\n" +
  2506. " t2.usedstand std_code,\n" +
  2507. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2508. " t2.purposeid prod_code,\n" +
  2509. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2510. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2511. " t2.psrno psc,\n" +
  2512. " t2.dev_spec_cd psc_desc\n" +
  2513. " from (SELECT *\n" +
  2514. " FROM mb_plandetailofplate@Xgcx\n" +
  2515. " UNION ALL\n" +
  2516. " SELECT *\n" +
  2517. " FROM mb_plandetailofplate_zjnew@XGCX) a,\n" +
  2518. " zj_result_all@xgcx b,\n" +
  2519. " kcz_storagelist@xgcx c,\n" +
  2520. " "+table+" t2\n" +
  2521. " where a.productno = b.billetid\n" +
  2522. " and a.orderno = t2.orderno \n" +
  2523. " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere2+swhere +
  2524. //" and b.up_surface_result = '0'\n" +
  2525. " union all\n" +
  2526. " select a.heatno heat_no,\n" +
  2527. " a.batchno,\n" +
  2528. " a.taskno plan_no,\n" +
  2529. " a.productno material_no,\n" +
  2530. " a.orderno design_key,\n" +
  2531. " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" +
  2532. " a.width,\n" +
  2533. " a.length,\n" +
  2534. " a.weight,\n" +
  2535. " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" +
  2536. " (select name_ from scm_base_info where id_ = a.sizestyle) fixsize,\n" +
  2537. " a.maketime producetime,\n" +
  2538. " b.sizeid,\n" +
  2539. " b.ud_surface_result_id_desc surface_id,\n" +
  2540. " c.bigshopsign grade_code,\n" +
  2541. " c.bigshopsign grade_name,\n" +
  2542. " '下表面' surface_type,\n" +
  2543. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_code,\n" +
  2544. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.productno) else t2.steelcode end steel_name,\n" +
  2545. " t2.usedstand std_code,\n" +
  2546. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2547. " t2.purposeid prod_code,\n" +
  2548. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2549. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2550. " t2.psrno psc,\n" +
  2551. " t2.dev_spec_cd psc_desc\n" +
  2552. " from (SELECT *\n" +
  2553. " FROM mb_plandetailofplate@Xgcx\n" +
  2554. " UNION ALL\n" +
  2555. " SELECT *\n" +
  2556. " FROM mb_plandetailofplate_zjnew@XGCX) a,\n" +
  2557. " zj_result_all@xgcx b,\n" +
  2558. " kcz_storagelist@xgcx c,\n" +
  2559. " "+table+" t2\n" +
  2560. " where a.productno = b.billetid\n" +
  2561. " and a.orderno = t2.orderno \n" +
  2562. " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere3+swhere + ""
  2563. + " union all\n" +
  2564. " select to_char(a.STOVENO) heat_no,\n" +
  2565. " A.ROLLNUMBER batchno,\n" +
  2566. " a.planplanno plan_no,\n" +
  2567. " a.BILLETID material_no,\n" +
  2568. " a.orderno design_key,\n" +
  2569. " a.PLY thick,\n" +
  2570. " a.width,\n" +
  2571. " a.lenGTH length,\n" +
  2572. " a.THEORYWEIGHT weight,\n" +
  2573. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2574. " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" +
  2575. " a.ptime PRODUCETIME,\n" +
  2576. " b.sizeid,\n" +
  2577. " b.up_surface_result_id_desc surface_id,\n" +
  2578. " c.bigshopsign grade_code,\n" +
  2579. " c.bigshopsign grade_name,\n" +
  2580. " '上表面' surface_type,\n" +
  2581. " t2.steelcode steel_code,\n" +
  2582. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2583. " t2.usedstand std_code,\n" +
  2584. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2585. " t2.purposeid prod_code,\n" +
  2586. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2587. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2588. " t2.psrno psc,\n" +
  2589. " t2.dev_spec_cd psc_desc\n" +
  2590. " from KCz_TURNOFFLIST@xgcx a,\n" +
  2591. " zj_result_all@xgcx b,\n" +
  2592. " kcz_storagelist@xgcx c,\n" +
  2593. " "+table+" t2,\n" +
  2594. " (SELECT *\n" +
  2595. " FROM mb_plandetailofplate@Xgcx\n" +
  2596. " UNION ALL\n" +
  2597. " SELECT *\n" +
  2598. " FROM mb_plandetailofplate_zjnew@XGCX) D\n" +
  2599. " where a.BILLETID = b.BILLETID\n" +
  2600. " and D.billetid = c.billetid\n" +
  2601. " and a.ORDERNO = t2.ORDERNO \n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" +
  2602. " AND A.BILLETID = D.productno\n" + swhere6 +swhere2+swhere8 +
  2603. " union all\n" +
  2604. " select to_char(a.STOVENO) heat_no,\n" +
  2605. " A.ROLLNUMBER batchno,\n" +
  2606. " a.planplanno plan_no,\n" +
  2607. " a.BILLETID material_no,\n" +
  2608. " a.orderno design_key,\n" +
  2609. " a.PLY thick,\n" +
  2610. " a.width,\n" +
  2611. " a.lenGTH length,\n" +
  2612. " a.THEORYWEIGHT weight,\n" +
  2613. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2614. " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" +
  2615. " a.ptime PRODUCETIME,\n" +
  2616. " b.sizeid,\n" +
  2617. " b.ud_surface_result_id_desc surface_id,\n" +
  2618. " c.bigshopsign grade_code,\n" +
  2619. " c.bigshopsign grade_name,\n" +
  2620. " '下表面' surface_type,\n" +
  2621. " t2.steelcode steel_code,\n" +
  2622. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2623. " t2.usedstand std_code,\n" +
  2624. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2625. " t2.purposeid prod_code,\n" +
  2626. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2627. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2628. " t2.psrno psc,\n" +
  2629. " t2.dev_spec_cd psc_desc\n" +
  2630. " from KCz_TURNOFFLIST@xgcx a,\n" +
  2631. " zj_result_all@xgcx b,\n" +
  2632. " kcz_storagelist@xgcx c,\n" +
  2633. " "+table+" t2,\n" +
  2634. " (SELECT *\n" +
  2635. " FROM mb_plandetailofplate@Xgcx\n" +
  2636. " UNION ALL\n" +
  2637. " SELECT *\n" +
  2638. " FROM mb_plandetailofplate_zjnew@XGCX) D\n" +
  2639. " where a.BILLETID = b.BILLETID\n" +
  2640. " and D.billetid = c.billetid\n" +
  2641. " and a.ORDERNO = t2.ORDERNO \n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" +
  2642. " AND A.BILLETID = D.productno\n" + swhere6 +swhere3+swhere8 +
  2643. //" and b.ud_surface_result = '0'\n" +
  2644. " ) t1 where 1=1 "+swhere4+ "\n" +
  2645. " order by t1.batchno desc, t1.material_no, t1.surface_type\n";
  2646. }else{
  2647. sql = "select t1.*\n" +
  2648. " from (select to_char(a.heatno) heat_no,\n" +
  2649. " batchno,\n" +
  2650. " a.taskno plan_no,\n" +
  2651. " a.slabno material_no,\n" +
  2652. " a.orderid design_key,\n" +
  2653. " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" +
  2654. " a.width,\n" +
  2655. " a.len length,\n" +
  2656. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2657. " (select name_\n" +
  2658. " from scm_base_info\n" +
  2659. " where id_ = a.cutsizestate) cutsidestate,\n" +
  2660. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2661. " a.maketime producetime,\n" +
  2662. " b.sizeid,\n" +
  2663. " b.up_surface_result_id_desc surface_id,\n" +
  2664. " c.bigshopsign grade_code,\n" +
  2665. " c.bigshopsign grade_name,\n" +
  2666. " '上表面' surface_type,\n" +
  2667. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2668. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2669. " t2.usedstand std_code,\n" +
  2670. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2671. " t2.purposeid prod_code,\n" +
  2672. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2673. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2674. " t2.psrno psc,\n" +
  2675. " t2.dev_spec_cd psc_desc\n" +
  2676. " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,\n" +
  2677. " zj_result_all@xgcx b,\n" +
  2678. " kch_storagelist@xgcx c,\n" +
  2679. " "+table+" t2\n" +
  2680. " where a.slabno = b.billetid\n" +
  2681. " and a.orderid = t2.orderno \n" +
  2682. " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 +swhere2+swhere +
  2683. //" and b.up_surface_result = '0'\n" +
  2684. /*" union all\n" +
  2685. "select to_char(a.heatno) heat_no,\n" +
  2686. " batchno,\n" +
  2687. " a.taskno plan_no,\n" +
  2688. " a.slabno material_no,\n" +
  2689. " a.orderid design_key,\n" +
  2690. " a.thick,\n" +
  2691. " a.width,\n" +
  2692. " a.len length,\n" +
  2693. " a.weight,\n" +
  2694. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2695. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2696. " a.maketime producetime,\n" +
  2697. " b.sizeid,\n" +
  2698. " b.up_surface_result_id_desc surface_id,\n" +
  2699. " c.bigshopsign grade_code,\n" +
  2700. " c.bigshopsign grade_name,\n" +
  2701. " '上表面' surface_type\n" +
  2702. " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" +
  2703. " zj_result_all@xgcx b,\n" +
  2704. " kch_storagelist@xgcx c\n" +
  2705. " where a.slabno = b.billetid\n" +
  2706. " and a.billetid = c.billetid\n" + swhere1 + swhere2+ */
  2707. " union all\n" +
  2708. " select to_char(a.heatno) heat_no,\n" +
  2709. " batchno,\n" +
  2710. " a.taskno plan_no,\n" +
  2711. " a.slabno material_no,\n" +
  2712. " a.orderid design_key,\n" +
  2713. " case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick,\n" +
  2714. " a.width,\n" +
  2715. " a.len length,\n" +
  2716. " case when (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select THEORYWEIGHT from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.weight end weight,\n" +
  2717. " (select name_\n" +
  2718. " from scm_base_info\n" +
  2719. " where id_ = a.cutsizestate) cutsidestate,\n" +
  2720. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2721. " a.maketime producetime,\n" +
  2722. " b.sizeid,\n" +
  2723. " b.ud_surface_result_id_desc surface_id,\n" +
  2724. " c.bigshopsign grade_code,\n" +
  2725. " c.bigshopsign grade_name,\n" +
  2726. " '下表面' surface_type,\n" +
  2727. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_code,\n" +
  2728. " case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else t2.steelcode end steel_name,\n" +
  2729. " t2.usedstand std_code,\n" +
  2730. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2731. " t2.purposeid prod_code,\n" +
  2732. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2733. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2734. " t2.psrno psc,\n" +
  2735. " t2.dev_spec_cd psc_desc\n" +
  2736. " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,\n" +
  2737. " zj_result_all@xgcx b,\n" +
  2738. " kch_storagelist@xgcx c,\n" +
  2739. " "+table+" t2\n" +
  2740. " where a.slabno = b.billetid\n" +
  2741. " and a.orderid = t2.orderno \n" +
  2742. " and a.billetid = c.billetid and a.slabno not in (select billetid from kch_turnofflist@xgcx where allotorderform is not null) \n" + swhere1 +swhere3+swhere+ ""
  2743. + " union all \n"
  2744. + "select a.STOVENO heat_no,\n" +
  2745. " A.ROLLNUMBER batchno,\n" +
  2746. " a.PLANNUMBER plan_no, \n" +
  2747. " a.BILLETID material_no,\n" +
  2748. " a.ALLOTORDERFORM design_key,\n" +
  2749. " a.PLY thick, \n" +
  2750. " a.width,\n" +
  2751. " a.lenGTH length,\n" +
  2752. " a.THEORYWEIGHT weight,\n" +
  2753. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2754. " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" +
  2755. " a.PRODUCETIME PRODUCETIME,\n" +
  2756. " b.sizeid,\n" +
  2757. " b.up_surface_result_id_desc surface_id,\n" +
  2758. " c.bigshopsign grade_code,\n" +
  2759. " c.bigshopsign grade_name,\n" +
  2760. " '上表面' surface_type,\n" +
  2761. " t2.steelcode steel_code,\n" +
  2762. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2763. " t2.usedstand std_code,\n" +
  2764. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2765. " t2.purposeid prod_code,\n" +
  2766. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2767. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2768. " t2.psrno psc,\n" +
  2769. " t2.dev_spec_cd psc_desc\n" +
  2770. " from KCH_TURNOFFLIST@xgcx a,\n" +
  2771. " zj_result_all@xgcx b,\n" +
  2772. " kch_storagelist@xgcx c,\n" +
  2773. " "+table+" t2,\n" +
  2774. " (SELECT *\n" +
  2775. " FROM zyhb_plandetailofplate@Xgcx\n" +
  2776. " UNION ALL\n" +
  2777. " SELECT *\n" +
  2778. " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" +
  2779. " where a.BILLETID = b.BILLETID\n" +
  2780. " and a.allotorderform = t2.ORDERNO\n" +//((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" +
  2781. " and D.billetid = c.billetid(+)\n" +
  2782. " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere2+ swhere7 + ""
  2783. + " union all \n"
  2784. + "select a.STOVENO heat_no,\n" +
  2785. " A.ROLLNUMBER batchno,\n" +
  2786. " a.PLANNUMBER plan_no, \n" +
  2787. " a.BILLETID material_no,\n" +
  2788. " a.ALLOTORDERFORM design_key,\n" +
  2789. " a.PLY thick, \n" +
  2790. " a.width,\n" +
  2791. " a.lenGTH length,\n" +
  2792. " a.THEORYWEIGHT weight,\n" +
  2793. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2794. " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE,\n" +
  2795. " a.PRODUCETIME PRODUCETIME,\n" +
  2796. " b.sizeid,\n" +
  2797. " b.ud_surface_result_id_desc surface_id,\n" +
  2798. " c.bigshopsign grade_code,\n" +
  2799. " c.bigshopsign grade_name,\n" +
  2800. " '下表面' surface_type,\n" +
  2801. " t2.steelcode steel_code,\n" +
  2802. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2803. " t2.usedstand std_code,\n" +
  2804. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2805. " t2.purposeid prod_code,\n" +
  2806. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2807. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2808. " t2.psrno psc,\n" +
  2809. " t2.dev_spec_cd psc_desc\n" +
  2810. " from KCH_TURNOFFLIST@xgcx a,\n" +
  2811. " zj_result_all@xgcx b,\n" +
  2812. " kch_storagelist@xgcx c,\n" +
  2813. " "+table+" t2,\n" +
  2814. " (SELECT *\n" +
  2815. " FROM zyhb_plandetailofplate@Xgcx\n" +
  2816. " UNION ALL\n" +
  2817. " SELECT *\n" +
  2818. " FROM zyhb_plandetailofplate_ZJNEW@XGCX) D\n" +
  2819. " where a.BILLETID = b.BILLETID\n" +
  2820. " and a.allotorderform = t2.ORDERNO\n" +//((a.allotorderform = t2.ORDERNO AND A.allotorderform IS NOT NULL) OR (A.allotorderform IS NULL AND a.planorderform = t2.ORDERNO))\n" +
  2821. " and D.billetid = c.billetid(+)\n" +
  2822. " AND A.BILLETID = D.SLABNO(+) "+ swhere5 + swhere3+ swhere7 + ""
  2823. /*" union all\n" +
  2824. " select to_char(a.heatno) heat_no,\n" +
  2825. " batchno,\n" +
  2826. " a.taskno plan_no,\n" +
  2827. " a.slabno material_no,\n" +
  2828. " a.orderid design_key,\n" +
  2829. " a.thick,\n" +
  2830. " a.width,\n" +
  2831. " a.len length,\n" +
  2832. " a.weight,\n" +
  2833. " (select name_ from scm_base_info where id_ = a.cutsizestate) cutsidestate,\n" +
  2834. " (select name_ from scm_base_info where id_ = a.sizemode) fixsize,\n" +
  2835. " a.maketime producetime,\n" +
  2836. " b.sizeid,\n" +
  2837. " b.ud_surface_result_id_desc surface_id,\n" +
  2838. " c.bigshopsign grade_code,\n" +
  2839. " c.bigshopsign grade_name,\n" +
  2840. " '下表面' surface_type\n" +
  2841. " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,\n" +
  2842. " zj_result_all@xgcx b,\n" +
  2843. " kch_storagelist@xgcx c\n" +
  2844. " where a.slabno = b.billetid\n" +
  2845. " and a.billetid = c.billetid\n" + swhere1 + swhere3+*/
  2846. // " and b.ud_surface_result = '0'" +
  2847. +" union all\n" +
  2848. " select to_char(a.heatno) heat_no,\n" +
  2849. " a.batchno,\n" +
  2850. " a.taskno plan_no,\n" +
  2851. " a.productno material_no,\n" +
  2852. " a.orderno design_key,\n" +
  2853. " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" +
  2854. " a.width,\n" +
  2855. " a.length,\n" +
  2856. " a.weight,\n" +
  2857. " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" +
  2858. " (select name_\n" +
  2859. " from scm_base_info\n" +
  2860. " where id_ = a.sizestyle) fixsize,\n" +
  2861. " a.maketime producetime,\n" +
  2862. " b.sizeid,\n" +
  2863. " b.up_surface_result_id_desc surface_id,\n" +
  2864. " c.bigshopsign grade_code,\n" +
  2865. " c.bigshopsign grade_name,\n" +
  2866. " '上表面' surface_type,\n" +
  2867. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_code,\n" +
  2868. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_name,\n" +
  2869. " t2.usedstand std_code,\n" +
  2870. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2871. " t2.purposeid prod_code,\n" +
  2872. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2873. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2874. " t2.psrno psc,\n" +
  2875. " t2.dev_spec_cd psc_desc\n" +
  2876. " from mb_plandetailofplate@xgcx a,\n" +
  2877. " zj_result_all@xgcx b,\n" +
  2878. " kcz_storagelist@xgcx c,\n" +
  2879. " "+table+" t2\n" +
  2880. " where a.productno = b.billetid\n" +
  2881. " and a.orderno = t2.orderno \n" +
  2882. " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere2+swhere+
  2883. // " and b.up_surface_result = '0'\n" +
  2884. " union all\n" +
  2885. " select to_char(a.heatno) heat_no,\n" +
  2886. " a.batchno,\n" +
  2887. " a.taskno plan_no,\n" +
  2888. " a.productno material_no,\n" +
  2889. " a.orderno design_key,\n" +
  2890. " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick,\n" +
  2891. " a.width,\n" +
  2892. " a.length,\n" +
  2893. " a.weight,\n" +
  2894. " (select name_ from scm_base_info where id_ = a.cutstyle) cutsidestate,\n" +
  2895. " (select name_\n" +
  2896. " from scm_base_info\n" +
  2897. " where id_ = a.sizestyle) fixsize,\n" +
  2898. " a.maketime producetime,\n" +
  2899. " b.sizeid,\n" +
  2900. " b.ud_surface_result_id_desc surface_id,\n" +
  2901. " c.bigshopsign grade_code,\n" +
  2902. " c.bigshopsign grade_name,\n" +
  2903. " '下表面' surface_type,\n" +
  2904. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_code,\n" +
  2905. " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else t2.steelcode end steel_name,\n" +
  2906. " t2.usedstand std_code,\n" +
  2907. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2908. " t2.purposeid prod_code,\n" +
  2909. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2910. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2911. " t2.psrno psc,\n" +
  2912. " t2.dev_spec_cd psc_desc\n" +
  2913. " from mb_plandetailofplate@xgcx a,\n" +
  2914. " zj_result_all@xgcx b,\n" +
  2915. " kcz_storagelist@xgcx c,\n" +
  2916. " "+table+" t2\n" +
  2917. " where a.productno = b.billetid\n" +
  2918. " and a.orderno = t2.orderno \n" +
  2919. " and a.billetid = c.billetid and a.productno not in (select billetid from kcz_turnofflist@xgcx where orderno is not null) \n" + swhere1 +swhere3+swhere+
  2920. " union all\n" +
  2921. " select to_char(a.STOVENO) heat_no,\n" +
  2922. " A.ROLLNUMBER batchno,\n" +
  2923. " a.planplanno plan_no,\n" +
  2924. " a.BILLETID material_no,\n" +
  2925. " a.orderno design_key,\n" +
  2926. " a.PLY thick,\n" +
  2927. " a.width,\n" +
  2928. " a.lenGTH length,\n" +
  2929. " a.THEORYWEIGHT weight,\n" +
  2930. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2931. " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" +
  2932. " a.ptime PRODUCETIME,\n" +
  2933. " b.sizeid,\n" +
  2934. " b.up_surface_result_id_desc surface_id,\n" +
  2935. " c.bigshopsign grade_code,\n" +
  2936. " c.bigshopsign grade_name,\n" +
  2937. " '上表面' surface_type,\n" +
  2938. " t2.steelcode steel_code,\n" +
  2939. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2940. " t2.usedstand std_code,\n" +
  2941. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2942. " t2.purposeid prod_code,\n" +
  2943. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2944. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2945. " t2.psrno psc,\n" +
  2946. " t2.dev_spec_cd psc_desc\n" +
  2947. " from KCz_TURNOFFLIST@xgcx a,\n" +
  2948. " zj_result_all@xgcx b,\n" +
  2949. " kcz_storagelist@xgcx c,\n" +
  2950. " "+table+" t2,\n" +
  2951. " (SELECT *\n" +
  2952. " FROM mb_plandetailofplate@Xgcx\n" +
  2953. " UNION ALL\n" +
  2954. " SELECT *\n" +
  2955. " FROM mb_plandetailofplate_zjnew@XGCX) D\n" +
  2956. " where a.BILLETID = b.BILLETID\n" +
  2957. " and D.billetid = c.billetid\n" +
  2958. " and a.ORDERNO = t2.ORDERNO\n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" +
  2959. " AND A.BILLETID = D.productno\n" + swhere6 +swhere2+swhere8 +
  2960. " union all\n" +
  2961. " select to_char(a.STOVENO) heat_no,\n" +
  2962. " A.ROLLNUMBER batchno,\n" +
  2963. " a.planplanno plan_no,\n" +
  2964. " a.BILLETID material_no,\n" +
  2965. " a.orderno design_key,\n" +
  2966. " a.PLY thick,\n" +
  2967. " a.width,\n" +
  2968. " a.lenGTH length,\n" +
  2969. " a.THEORYWEIGHT weight,\n" +
  2970. " (select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE,\n" +
  2971. " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE,\n" +
  2972. " a.ptime PRODUCETIME,\n" +
  2973. " b.sizeid,\n" +
  2974. " b.ud_surface_result_id_desc surface_id,\n" +
  2975. " c.bigshopsign grade_code,\n" +
  2976. " c.bigshopsign grade_name,\n" +
  2977. " '下表面' surface_type,\n" +
  2978. " t2.steelcode steel_code,\n" +
  2979. " c2n@xgcx(t2.steelcode) steel_name,\n" +
  2980. " t2.usedstand std_code,\n" +
  2981. " c2n@xgcx(t2.usedstand) std_name,\n" +
  2982. " t2.purposeid prod_code,\n" +
  2983. " c2n@xgcx(t2.purposeid) prod_name,\n" +
  2984. " psel_get_standroll@xgcx(t2.standroller) delivery_state_desc,\n" +
  2985. " t2.psrno psc,\n" +
  2986. " t2.dev_spec_cd psc_desc\n" +
  2987. " from KCz_TURNOFFLIST@xgcx a,\n" +
  2988. " zj_result_all@xgcx b,\n" +
  2989. " kcz_storagelist@xgcx c,\n" +
  2990. " "+table+" t2,\n" +
  2991. " (SELECT *\n" +
  2992. " FROM mb_plandetailofplate@Xgcx\n" +
  2993. " UNION ALL\n" +
  2994. " SELECT *\n" +
  2995. " FROM mb_plandetailofplate_zjnew@XGCX) D\n" +
  2996. " where a.BILLETID = b.BILLETID\n" +
  2997. " and D.billetid = c.billetid\n" +
  2998. " and a.ORDERNO = t2.ORDERNO\n" +//((a.ORDERNO = t2.ORDERNO AND A.ORDERNO IS NOT NULL) OR (A.ORDERNO IS NULL AND a.PLANORDERNO = t2.ORDERNO))\n" +
  2999. " AND A.BILLETID = D.productno\n" + swhere6 +swhere3+swhere8 +
  3000. // " and b.ud_surface_result = '0'" +
  3001. " ) t1 where 1=1 "+swhere4+ "\n" +
  3002. " order by t1.batchno desc, t1.material_no, t1.surface_type\n";
  3003. }
  3004. try {
  3005. System.out.print(sql);
  3006. List<HashMap> list = mapper.query(sql);
  3007. cro.setResult(list);
  3008. } catch (Exception ex) {
  3009. ex.printStackTrace();
  3010. cro.setV_errCode(-1);
  3011. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3012. }
  3013. SqlSession.close();
  3014. return cro;
  3015. }
  3016. @SuppressWarnings("rawtypes")
  3017. public CoreReturnObject doQueryMaterialDetailsBS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) {
  3018. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) {
  3019. String sky=StrSky(begintime,endtime);
  3020. if(sky.equals("FALSE")){
  3021. SqlSession.close();
  3022. cro.setV_errCode(-1);
  3023. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3024. return cro;
  3025. }
  3026. }
  3027. String swhere = "";
  3028. String swhere1 = "";
  3029. String swhere2 = "";
  3030. String swhere3 = "";
  3031. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3032. swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3033. swhere2 += " and PRODUCETIME between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3034. swhere3 += " and ptime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3035. }
  3036. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  3037. swhere += "and material_no like '"+bbatchno+"%'";
  3038. }
  3039. /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  3040. swhere += "and batchno <= '"+ebatchno+"'";
  3041. }*/
  3042. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3043. swhere += " and design_key like '%"+design_key+"%'";
  3044. }
  3045. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3046. swhere += " and material_no like '%"+material_no+"%'";
  3047. }
  3048. //swhere1 += " and b.JUDGERESULT = '0'";
  3049. //swhere2 += " and b.JUDGERESULT = '0'";
  3050. //swhere3 += " and b.JUDGERESULT = '0'";
  3051. if ("R".equals(type)){
  3052. swhere1 += " and b.r_chemresult = '0'";
  3053. swhere2 += " and b.r_chemresult = '0'";
  3054. swhere3 += " and b.r_chemresult = '0'";
  3055. }
  3056. if("M".equals(type)){
  3057. if(isjudge.equals("是")){
  3058. swhere1 += " and b.sizeresult <> '0'";
  3059. swhere2 += " and b.sizeresult <> '0'";
  3060. swhere3 += " and b.sizeresult <> '0'";
  3061. }else{
  3062. swhere1 += " and b.sizeresult = '0'";
  3063. swhere2 += " and b.sizeresult = '0'";
  3064. swhere3 += " and b.sizeresult = '0'";
  3065. }
  3066. }
  3067. if("B".equals(type)){
  3068. if(isjudge.equals("是")){
  3069. swhere1 += " and b.surfaceresult <> '0'";
  3070. swhere2 += " and b.surfaceresult <> '0'";
  3071. swhere3 += " and b.surfaceresult <> '0'";
  3072. }else{
  3073. swhere1 += " and b.surfaceresult = '0'";
  3074. swhere2 += " and b.surfaceresult = '0'";
  3075. swhere3 += " and b.surfaceresult = '0'";
  3076. }
  3077. }
  3078. String sql = "";
  3079. if(prodline.equals("厚板线")){
  3080. sql = "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, "
  3081. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3082. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3083. + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, "
  3084. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3085. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3086. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3087. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3088. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)"
  3089. + " union all "
  3090. + "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, "
  3091. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3092. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3093. + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, "
  3094. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3095. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3096. + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3097. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3098. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)"
  3099. +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3100. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, "
  3101. + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3102. + " a.ALLOTORDERFORM design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, "
  3103. + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE, a.PRODUCETIME PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, "
  3104. + " c.bigshopsign grade_name from KCH_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kch_storagelist@xgcx c, (SELECT * FROM zyhb_plandetailofplate@Xgcx UNION ALL "
  3105. + " SELECT * FROM zyhb_plandetailofplate_ZJNEW@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid(+) AND A.BILLETID = D.SLABNO(+) "
  3106. + " "+swhere2+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"";
  3107. }else if(prodline.equals("中板线")){
  3108. sql = "select t1.*, case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code, "
  3109. + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3110. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3111. + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3112. + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3113. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3114. + " c.bigshopsign grade_code, c.bigshopsign grade_name from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, "
  3115. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3116. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCz_TURNOFFLIST@XGCX where orderno is not null)"
  3117. +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3118. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, "
  3119. + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.planplanno plan_no, a.BILLETID material_no, "
  3120. + " a.orderno design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, "
  3121. + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE, a.ptime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, "
  3122. + " c.bigshopsign grade_name from KCz_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kcz_storagelist@xgcx c, (SELECT * FROM mb_plandetailofplate@Xgcx UNION ALL "
  3123. + " SELECT * FROM mb_plandetailofplate_zjnew@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid AND A.BILLETID = D.productno "
  3124. + " "+swhere3+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"";
  3125. }else{
  3126. sql = "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, "
  3127. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3128. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3129. + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, "
  3130. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3131. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3132. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3133. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3134. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)"
  3135. + " union all "
  3136. + "select t1.*,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code,case when (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select instroagesteel from KCh_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name,t2.USEDSTAND std_code, "
  3137. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3138. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3139. + " a.slabno material_no, a.ORDERID design_key, case when (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) is not null then (select ply from KCh_TURNOFFLIST@XGCX where billetid = a.slabno) else a.thick end thick, a.width, a.len length, a.weight, "
  3140. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3141. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3142. + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3143. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3144. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCH_TURNOFFLIST@XGCX where ALLOTORDERFORM is not null)"
  3145. + " union all "
  3146. + "select t1.*, case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_code, "
  3147. + " case when (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) is not null then (select insteel from KCz_TURNOFFLIST@XGCX where billetid = t1.material_no) else t2.steelcode end steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3148. + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3149. + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3150. + " case when (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) is not null then (select ply from KCz_TURNOFFLIST@XGCX where billetid = a.PRODUCTNO) else a.height end thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3151. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3152. + " c.bigshopsign grade_code, c.bigshopsign grade_name from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, "
  3153. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail_new@xgcx t2 "
  3154. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" AND T1.MATERIAL_NO NOT IN (SELECT BILLETID FROM KCz_TURNOFFLIST@XGCX where orderno is not null)"
  3155. +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3156. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, "
  3157. + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3158. + " a.ALLOTORDERFORM design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, "
  3159. + " (select name_ from scm_base_info where id_ = a.ROLE) FIXSIZE, a.PRODUCETIME PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, "
  3160. + " c.bigshopsign grade_name from KCH_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kch_storagelist@xgcx c, (SELECT * FROM zyhb_plandetailofplate@Xgcx UNION ALL "
  3161. + " SELECT * FROM zyhb_plandetailofplate_ZJNEW@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid(+) AND A.BILLETID = D.SLABNO(+) "
  3162. + " "+swhere2+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  3163. +" union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3164. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc, "
  3165. + " t2.DEV_SPEC_CD psc_desc from (select to_char(a.STOVENO) heat_no, A.ROLLNUMBER batchno, a.planplanno plan_no, a.BILLETID material_no, "
  3166. + " a.orderno design_key, a.PLY thick, a.width, a.lenGTH length, a.THEORYWEIGHT weight,(select name_ from scm_base_info where id_ = a.CUTSIDESTATE) CUTSIDESTATE, "
  3167. + " (select name_ from scm_base_info where id_ = a.rule) FIXSIZE, a.ptime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, "
  3168. + " c.bigshopsign grade_name from KCz_TURNOFFLIST@xgcx a, zj_result_all@xgcx b, kcz_storagelist@xgcx c, (SELECT * FROM mb_plandetailofplate@Xgcx UNION ALL "
  3169. + " SELECT * FROM mb_plandetailofplate_zjnew@XGCX) D where a.BILLETID = b.BILLETID and D.billetid = c.billetid AND A.BILLETID = D.productno "
  3170. + " "+swhere3+") T1 join sel_pactdetail_new@xgcx t2 on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"";
  3171. }
  3172. try {
  3173. System.out.print(sql);
  3174. List<HashMap> list = mapper.query(sql);
  3175. cro.setResult(list);
  3176. } catch (Exception ex) {
  3177. ex.printStackTrace();
  3178. cro.setV_errCode(-1);
  3179. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3180. }
  3181. SqlSession.close();
  3182. return cro;
  3183. }
  3184. @SuppressWarnings("rawtypes")
  3185. public CoreReturnObject doQueryMaterialDetailsBcS(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) {
  3186. String swhere = "";
  3187. String swhere1 = "";
  3188. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3189. swhere1 += " and maketime between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3190. }
  3191. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  3192. swhere += "and batchno >= '"+bbatchno+"'";
  3193. }
  3194. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  3195. swhere += "and batchno <= '"+ebatchno+"'";
  3196. }
  3197. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3198. swhere += " and design_key like '%"+design_key+"%'";
  3199. }
  3200. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3201. swhere += " and material_no like '%"+material_no+"%'";
  3202. }
  3203. swhere1 += " and b.JUDGERESULT = '0'";
  3204. if ("R".equals(type)){
  3205. swhere1 += " and b.r_chemresult = '0'";
  3206. }
  3207. if("M".equals(type)){
  3208. if(isjudge.equals("是")){
  3209. swhere1 += " and b.sizeresult <> '0'";
  3210. }else{
  3211. swhere1 += " and b.sizeresult = '0'";
  3212. }
  3213. }
  3214. if("B".equals(type)){
  3215. if(isjudge.equals("是")){
  3216. swhere1 += " and b.surfaceresult <> '0'";
  3217. }else{
  3218. swhere1 += " and b.surfaceresult = '0'";
  3219. }
  3220. }
  3221. String sql = "";
  3222. if(prodline.equals("厚板线")){
  3223. sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3224. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3225. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, batchno, a.taskno plan_no, "
  3226. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3227. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3228. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3229. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3230. + " and a.billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3231. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  3232. + " union all "
  3233. + "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3234. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3235. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, batchno, a.taskno plan_no, "
  3236. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3237. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3238. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3239. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3240. + " and a.billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3241. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"";
  3242. }else if(prodline.equals("中板线")){
  3243. sql = "select t1.*, t2.STEELCODE steel_code, "
  3244. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3245. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3246. + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3247. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3248. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3249. + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, "
  3250. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3251. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""
  3252. + " union all "
  3253. + "select t1.*, t2.STEELCODE steel_code, "
  3254. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3255. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3256. + " from (select a.heatno heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3257. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3258. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3259. + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, "
  3260. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3261. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"";
  3262. }else{
  3263. sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3264. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3265. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3266. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3267. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3268. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3269. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3270. + " and a.billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3271. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  3272. + " union all "
  3273. + "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3274. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3275. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no, batchno, a.taskno plan_no, "
  3276. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3277. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3278. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3279. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3280. + " and a.billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3281. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  3282. + " union all "
  3283. + "select t1.*, t2.STEELCODE steel_code, "
  3284. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3285. + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3286. + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3287. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3288. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3289. + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, "
  3290. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.up_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3291. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""
  3292. + " union all "
  3293. + "select t1.*, t2.STEELCODE steel_code, "
  3294. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3295. + " C2N@xgcx(t2.PURPOSEID) prod_name,t2.STANDROLLER DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3296. + " from (select to_char(a.heatno) heat_no, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3297. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3298. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3299. + " c.bigshopsign grade_code, c.bigshopsign grade_name from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b, "
  3300. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and b.ud_surface_result = '0' "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3301. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"";
  3302. }
  3303. try {
  3304. System.out.print(sql);
  3305. List<HashMap> list = mapper.query(sql);
  3306. cro.setResult(list);
  3307. } catch (Exception ex) {
  3308. ex.printStackTrace();
  3309. cro.setV_errCode(-1);
  3310. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3311. }
  3312. SqlSession.close();
  3313. return cro;
  3314. }
  3315. @SuppressWarnings("rawtypes")
  3316. public CoreReturnObject doQueryMaterialDetailsB(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline) {
  3317. String swhere = "";
  3318. String swhere1 = "";
  3319. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3320. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3321. }
  3322. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  3323. swhere += "and batchno >= '"+bbatchno+"'";
  3324. }
  3325. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  3326. swhere += "and batchno <= '"+ebatchno+"'";
  3327. }
  3328. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3329. swhere += " and design_key like '%"+design_key+"%'";
  3330. }
  3331. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3332. swhere += " and material_no like '%"+material_no+"%'";
  3333. }
  3334. swhere1 += " and b.JUDGERESULT = '0'";
  3335. if ("R".equals(type)){
  3336. swhere1 += " and b.r_chemresult = '0'";
  3337. }
  3338. String sql ="";
  3339. if(prodline.equals("厚板线")){
  3340. sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3341. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3342. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  3343. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  3344. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx "
  3345. + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code, "
  3346. + " (select BIGSHOPSIGN from kch_storagelist@xgcx where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx "
  3347. + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a "
  3348. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"";
  3349. }else if(prodline.equals("中板线")){
  3350. sql =
  3351. "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3352. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) "
  3353. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, "
  3354. + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3355. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID "
  3356. + " from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN "
  3357. + " from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx "
  3358. + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  3359. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" ";
  3360. }else{
  3361. sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3362. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3363. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  3364. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  3365. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx "
  3366. + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code, "
  3367. + " (select BIGSHOPSIGN from kch_storagelist@xgcx where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx "
  3368. + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a "
  3369. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""
  3370. + " union all "
  3371. + "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3372. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) "
  3373. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, "
  3374. + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3375. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID "
  3376. + " from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN "
  3377. + " from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx "
  3378. + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  3379. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" ";
  3380. }
  3381. try {
  3382. System.out.print(sql);
  3383. List<HashMap> list = mapper.query(sql);
  3384. cro.setResult(list);
  3385. } catch (Exception ex) {
  3386. ex.printStackTrace();
  3387. cro.setV_errCode(-1);
  3388. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3389. }
  3390. SqlSession.close();
  3391. return cro;
  3392. }
  3393. @SuppressWarnings("rawtypes")
  3394. public CoreReturnObject doQueryMaterialDetailsBR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) {
  3395. String swhere = "";
  3396. String swhere1 = "";
  3397. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) {
  3398. String sky=StrSky(begintime,endtime);
  3399. if(sky.equals("FALSE")){
  3400. SqlSession.close();
  3401. cro.setV_errCode(-1);
  3402. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3403. return cro;
  3404. }
  3405. }
  3406. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3407. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3408. }
  3409. if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号
  3410. swhere1 += "and a.heatno = '"+heat_no+"'";
  3411. }
  3412. if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号
  3413. swhere += "and board_no = '"+board_no+"'";
  3414. }
  3415. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3416. swhere += " and design_key like '%"+design_key+"%'";
  3417. }
  3418. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3419. swhere += " and material_no like '%"+material_no+"%'";
  3420. }
  3421. if(!SqlJoint.IsNullOrSpace(sbatchno)){
  3422. swhere += " and batchno >= '"+sbatchno+"'";
  3423. }
  3424. if(!SqlJoint.IsNullOrSpace(ebatchno)){
  3425. swhere += " and batchno <= '"+ebatchno+"'";
  3426. }
  3427. swhere1 += " and b.JUDGERESULT = '0'";
  3428. if ("R".equals(type)){
  3429. swhere1 += " and b.r_chemresult = '0'";
  3430. }
  3431. String sql ="";
  3432. if(prodline.equals("厚板线")){
  3433. sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3434. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3435. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select a.heatno heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, "
  3436. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3437. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3438. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3439. + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3440. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3441. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+"";
  3442. }else if(prodline.equals("中板线")){
  3443. sql = "select t1.*, t2.STEELCODE steel_code, "
  3444. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3445. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3446. + " from (select a.heatno heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3447. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3448. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3449. + " c.bigshopsign grade_code, c.bigshopsign grade_name from (SELECT * FROM mb_plandetailofplate@xgcx UNION ALL SELECT * FROM mb_plandetailofplate_ZJNEW@XGCX) a, zj_result_all@xgcx b, "
  3450. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3451. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"";
  3452. }else{
  3453. sql = "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3454. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3455. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select to_char(a.heatno) heat_no,TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO, batchno, a.taskno plan_no, "
  3456. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3457. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3458. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name "
  3459. + " from (select * from zyhb_plandetailofplate@xgcx union all SELECT * FROM ZYHB_PLANDETAILOFPLATE_ZJNEW@XGCX) a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3460. + " and a.billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3461. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  3462. + " union all "
  3463. + "select t1.*, t2.STEELCODE steel_code, "
  3464. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  3465. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  3466. + " from (select to_char(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  3467. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  3468. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3469. + " c.bigshopsign grade_code, c.bigshopsign grade_name from (SELECT * FROM mb_plandetailofplate@xgcx UNION ALL SELECT * FROM mb_plandetailofplate_ZJNEW@XGCX) a, zj_result_all@xgcx b, "
  3470. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  3471. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+"";
  3472. }
  3473. try {
  3474. System.out.print(sql);
  3475. List<HashMap> list = mapper.query(sql);
  3476. cro.setResult(list);
  3477. } catch (Exception ex) {
  3478. ex.printStackTrace();
  3479. cro.setV_errCode(-1);
  3480. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3481. }
  3482. SqlSession.close();
  3483. return cro;
  3484. }
  3485. @SuppressWarnings("rawtypes")
  3486. public CoreReturnObject doQueryMaterialDetailsX(String begintime,String endtime,String bbatchno,String ebatchno,String design_key,String material_no,String type,String prodline,String isjudge) {
  3487. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(bbatchno)) {
  3488. String sky=StrSky(begintime,endtime);
  3489. if(sky.equals("FALSE")){
  3490. SqlSession.close();
  3491. cro.setV_errCode(-1);
  3492. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3493. return cro;
  3494. }
  3495. }
  3496. String swhere = "";
  3497. String swhere1 = "";
  3498. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3499. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3500. }
  3501. if (!SqlJoint.IsNullOrSpace(bbatchno)) { //起始轧批号
  3502. swhere += "and batchno >= '"+bbatchno+"'";
  3503. }
  3504. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  3505. swhere += "and batchno <= '"+ebatchno+"'";
  3506. }
  3507. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3508. swhere += " and design_key like '%"+design_key+"%'";
  3509. }
  3510. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3511. swhere += " and material_no like '%"+material_no+"%'";
  3512. }
  3513. //swhere1 += " and b.JUDGERESULT = '0'";
  3514. if ("R".equals(type)){
  3515. swhere1 += " and b.r_chemresult = '0'";
  3516. }
  3517. if(prodline.equals("高棒")){
  3518. swhere1 += " and a.pld = '4001GX1'";
  3519. }else if(prodline.equals("棒二")){
  3520. swhere1 += "and a.pld = '4001BC2'";
  3521. }else if(prodline.equals("高线")){
  3522. swhere1 += " and a.pld = '4001GX2'";
  3523. }
  3524. if("M".equals(type)){
  3525. if(isjudge.equals("是")){
  3526. swhere1 += " and b.sizeresult <> '0'";
  3527. }else{
  3528. swhere1 += " and b.sizeresult = '0'";
  3529. }
  3530. }
  3531. if("B".equals(type)){
  3532. if(isjudge.equals("是")){
  3533. swhere1 += " and b.surfaceresult <> '0'";
  3534. }else{
  3535. swhere1 += " and b.surfaceresult = '0'";
  3536. }
  3537. }
  3538. swhere1 += " and a.pld in ('4001GX1','4001GX2','4001BC2')";
  3539. String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3540. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC from (select substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  3541. + " ORDERNO DESIGN_KEY,'' PSC_DESC, a.PLY thick, "
  3542. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3543. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id, C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO "
  3544. + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" order by batchno desc";
  3545. try {
  3546. System.out.print(sql);
  3547. List<HashMap> list = mapper.query(sql);
  3548. cro.setResult(list);
  3549. } catch (Exception ex) {
  3550. ex.printStackTrace();
  3551. cro.setV_errCode(-1);
  3552. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3553. }
  3554. SqlSession.close();
  3555. return cro;
  3556. }
  3557. @SuppressWarnings("rawtypes")
  3558. public CoreReturnObject doQueryMaterialDetailsY1(String begintime,String endtime,String material_no,String design_key,String type,String prodline,String isjudge,String processes) {
  3559. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) {
  3560. String sky=StrSky(begintime,endtime);
  3561. if(sky.equals("FALSE")){
  3562. SqlSession.close();
  3563. cro.setV_errCode(-1);
  3564. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3565. return cro;
  3566. }
  3567. }
  3568. String swhere = "";
  3569. String swhere1 = "";
  3570. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3571. swhere += " and to_date(to_char(PRODUCEDATE,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3572. }
  3573. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3574. swhere += " and substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) like '%"+design_key+"%'";
  3575. }
  3576. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3577. swhere += " and coil_no like '%"+material_no+"%'";
  3578. }
  3579. if(processes.equals("4mm分条机组")){
  3580. swhere += " and MACHINE_CODE = 'M0001'";
  3581. }else if(processes.equals("12mm分条机组")){
  3582. swhere += " and MACHINE_CODE = 'M0002'";
  3583. }else if(processes.equals("3mm横剪机组")){
  3584. swhere += " and MACHINE_CODE = 'M0003'";
  3585. }else if(processes.equals("退火炉宝信")){
  3586. swhere += " and MACHINE_CODE = 'M0004'";
  3587. }else if(processes.equals("退火炉南方D")){
  3588. swhere += " and MACHINE_CODE = 'M0005'";
  3589. }else if(processes.equals("退火炉艾伯纳")){
  3590. swhere += " and MACHINE_CODE = 'M0006'";
  3591. }else if(processes.equals("平整机组")){
  3592. swhere += " and MACHINE_CODE = 'M0007'";
  3593. }else if(processes.equals("轧机机组")){
  3594. swhere += " and MACHINE_CODE = 'M0008'";
  3595. }else if(processes.equals("退火炉南方G")){
  3596. swhere += " and MACHINE_CODE = 'M0009'";
  3597. }else if(processes.equals("酸洗机组")){
  3598. swhere += " and MACHINE_CODE = 'M0010'";
  3599. }
  3600. //swhere1 += " and b.JUDGERESULT = '0'";
  3601. if ("R".equals(type)){
  3602. swhere1 += " and b.r_chemresult = '0'";
  3603. }
  3604. if("M".equals(type)){
  3605. if(isjudge.equals("是")){
  3606. swhere1 += " and b.sizeresult <> '0'";
  3607. }else{
  3608. swhere1 += " and b.sizeresult = '0'";
  3609. }
  3610. }
  3611. if("B".equals(type)){
  3612. if(isjudge.equals("是")){
  3613. swhere1 += " and b.surfaceresult <> '0'";
  3614. }else{
  3615. swhere1 += " and b.surfaceresult = '0'";
  3616. }
  3617. }
  3618. String sql = "select * from (select t.HEATNO HEAT_NO,t.BATCHNO,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY, CASE WHEN B.FINAL_PROCESSES = '0' THEN (select max(use_desc) from qcm_ord_design_std_sic where design_key = substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) and use_code in (select case when t.COILNO like '%S%' THEN 'YTSX' when t.COILNO like '%L%' and y.num = '1' THEN 'YTZZ' when t.COILNO like '%L%' and y.num = '2' THEN 'YTZZ2' when t.COILNO like '%P%' THEN 'YTPZ' when t.COILNO like '%T%' THEN 'YTTH' when t.COILNO like '%K%' THEN 'YTHJ' when t.COILNO like '%F%' THEN 'YTZJ' END FROM DUAL)) ELSE soi.LEVEL_NAME END sf_level, "
  3619. + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,t.PRODUCEDATE PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3620. + " cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t "
  3621. + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ "
  3622. + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO left join ( select count(1) as num,MATERAILCOILNO from ( "
  3623. + " select MATERAILCOILNO from YDM_PRODUCT_DETAIL@LINK_YTG ypd join MES_RCM_D@LINK_YTG d on ypd.COILNO = d.COIL_NO where substr(ypd.COILNO, -1, 1) not in ('H', 'B') and ypd.MACHINE_CODE = 'M0008' group by ypd.MATERAILCOILNO,d.PROCESS_NO ) group by MATERAILCOILNO )y on y.MATERAILCOILNO = t.MATERAILCOILNO where t.STATE in ('0','-1', '7') "+swhere+swhere1+" order by batchno desc) where sf_level is not null";
  3624. try {
  3625. System.out.print(sql);
  3626. List<HashMap> list = mapper.query(sql);
  3627. cro.setResult(list);
  3628. } catch (Exception ex) {
  3629. ex.printStackTrace();
  3630. cro.setV_errCode(-1);
  3631. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3632. }
  3633. SqlSession.close();
  3634. return cro;
  3635. }
  3636. @SuppressWarnings("rawtypes")
  3637. public CoreReturnObject doQueryMaterialDetailsY(String begintime,String endtime,String material_no,String design_key,String type,String prodline,String isjudge,String processes) {
  3638. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) {
  3639. String sky=StrSky(begintime,endtime);
  3640. if(sky.equals("FALSE")){
  3641. SqlSession.close();
  3642. cro.setV_errCode(-1);
  3643. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3644. return cro;
  3645. }
  3646. }
  3647. String swhere = "";
  3648. String swhere1 = "";
  3649. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3650. swhere += " and to_date(to_char(PRODUCEDATE,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3651. }
  3652. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3653. swhere += " and substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) like '%"+design_key+"%'";
  3654. }
  3655. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3656. swhere += " and coil_no like '%"+material_no+"%'";
  3657. }
  3658. if(processes.equals("4mm分条机组")){
  3659. swhere += " and MACHINE_CODE = 'M0001'";
  3660. }else if(processes.equals("12mm分条机组")){
  3661. swhere += " and MACHINE_CODE = 'M0002'";
  3662. }else if(processes.equals("3mm横剪机组")){
  3663. swhere += " and MACHINE_CODE = 'M0003'";
  3664. }else if(processes.equals("退火炉宝信")){
  3665. swhere += " and MACHINE_CODE = 'M0004'";
  3666. }else if(processes.equals("退火炉南方D")){
  3667. swhere += " and MACHINE_CODE = 'M0005'";
  3668. }else if(processes.equals("退火炉艾伯纳")){
  3669. swhere += " and MACHINE_CODE = 'M0006'";
  3670. }else if(processes.equals("平整机组")){
  3671. swhere += " and MACHINE_CODE = 'M0007'";
  3672. }else if(processes.equals("轧机机组")){
  3673. swhere += " and MACHINE_CODE = 'M0008'";
  3674. }else if(processes.equals("退火炉南方G")){
  3675. swhere += " and MACHINE_CODE = 'M0009'";
  3676. }else if(processes.equals("酸洗机组")){
  3677. swhere += " and MACHINE_CODE = 'M0010'";
  3678. }
  3679. //swhere1 += " and b.JUDGERESULT = '0'";
  3680. if ("R".equals(type)){
  3681. swhere1 += " and b.r_chemresult = '0'";
  3682. }
  3683. if("M".equals(type)){
  3684. if(isjudge.equals("是")){
  3685. swhere1 += " and b.sizeresult <> '0'";
  3686. }else{
  3687. swhere1 += " and b.sizeresult = '0'";
  3688. }
  3689. }
  3690. if("B".equals(type)){
  3691. if(isjudge.equals("是")){
  3692. swhere1 += " and b.surfaceresult <> '0'";
  3693. }else{
  3694. swhere1 += " and b.surfaceresult = '0'";
  3695. }
  3696. }
  3697. String sql = "select * from (select t.HEATNO HEAT_NO,t.BATCHNO,t.COILNO MATERIAL_NO,substr(ORDERNO, 0, length(ORDERNO) - 6) || substr(ORDERNO, -3, 3) as DESIGN_KEY, "
  3698. + " t.DELIVERY_STATE_DESC, t.THICK,t.WIDTH, t.LENGTH,t.FACTWEIGHT/1000 WEIGHT,t.PRODUCEDATE PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  3699. + " cbs.STEEL_code,cbs.STEEL_NAME,T.std_code,t.STD_NAME,T.prod_code,t.PROD_NAME from YDM_PRODUCT_DETAIL@LINK_YTG t "
  3700. + " left join COM_BASE_STEEL@LINK_YTG cbs on t.STEELCODE = cbs.STEEL_CODE left join SLM_ORDER_INFO@LINK_YTG soi on t.ORDERNO = soi.CONTRACT_NO || soi.CONTRACT_LINE_SEQ || soi.ORDER_SEQ "
  3701. + " and nvl(soi.VALID_FLAG, '0') = '1' and nvl(soi.CHANGE_FLAG, '0') != '1' JOIN QCM_JUDGE_YT_COIL_RESULT B ON T.COILNO = B.COIL_NO where t.STATE in ('0','-1', '7') "+swhere+swhere1+" order by batchno desc) y where (select count(distinct z.design_key) "
  3702. + " from qcm_ord_design_std_sic z "
  3703. + " where z.design_key = y.design_key) > 0 OR Y.DESIGN_KEY IS NULL";
  3704. try {
  3705. System.out.print(sql);
  3706. List<HashMap> list = mapper.query(sql);
  3707. cro.setResult(list);
  3708. } catch (Exception ex) {
  3709. ex.printStackTrace();
  3710. cro.setV_errCode(-1);
  3711. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3712. }
  3713. SqlSession.close();
  3714. return cro;
  3715. }
  3716. @SuppressWarnings("rawtypes")
  3717. public CoreReturnObject doQueryMaterialDetailsXR(String begintime,String endtime,String heat_no,String board_no,String design_key,String material_no,String type,String prodline,String sbatchno,String ebatchno) {
  3718. String swhere = "";
  3719. String swhere1 = "";
  3720. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(heat_no) && SqlJoint.IsNullOrSpace(sbatchno)) {
  3721. String sky=StrSky(begintime,endtime);
  3722. if(sky.equals("FALSE")){
  3723. SqlSession.close();
  3724. cro.setV_errCode(-1);
  3725. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  3726. return cro;
  3727. }
  3728. }
  3729. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  3730. swhere += " and to_date(to_char(PRODUCETIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  3731. }
  3732. if (!SqlJoint.IsNullOrSpace(heat_no)) { //起始轧批号
  3733. swhere += "and heat_no = '"+heat_no+"'";
  3734. }
  3735. if (!SqlJoint.IsNullOrSpace(board_no)) { //最后轧批号
  3736. swhere += "and board_no = '"+board_no+"'";
  3737. }
  3738. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  3739. swhere += " and design_key like '%"+design_key+"%'";
  3740. }
  3741. if (!SqlJoint.IsNullOrSpace(material_no)) { //Psc_desc
  3742. swhere += " and material_no like '%"+material_no+"%'";
  3743. }
  3744. if(!SqlJoint.IsNullOrSpace(sbatchno)){
  3745. swhere += " and batchno >= '"+sbatchno+"'";
  3746. }
  3747. if(!SqlJoint.IsNullOrSpace(ebatchno)){
  3748. swhere += " and batchno <= '"+ebatchno+"'";
  3749. }
  3750. swhere1 += " and b.JUDGERESULT = '0'";
  3751. if ("R".equals(type)){
  3752. swhere1 += " and b.r_chemresult = '0'";
  3753. }
  3754. if(prodline.equals("高棒")){
  3755. swhere1 += " and a.pld in ('4001GX1')";
  3756. }else if(prodline.equals("棒二")){
  3757. swhere1 += " and a.pld in ('4001BC2')";
  3758. }else if(prodline.equals("高线")){
  3759. swhere1 += " and a.pld in ('4001GX2')";
  3760. }
  3761. /*if ("B".equals(type)) {
  3762. swhere1 += " and b.surfaceresult = '0'";
  3763. }else if ("M".equals(type)) {
  3764. swhere1 += " and b.sizeresult = '0'";
  3765. }else if ("T".equals(type)){
  3766. swhere1 += " and b.spyresult = '0'";
  3767. }else if ("R".equals(type)){
  3768. swhere1 += " and b.r_chemresult = '0'";
  3769. }*/
  3770. String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3771. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC from (select substr(a.STOVENO,1,10) HEAT_NO,a.STOVENO BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  3772. + " ORDERNO DESIGN_KEY,'' PSC_DESC, a.PLY thick, "
  3773. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3774. + " PTIME PRODUCETIME, b.sizeid, C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO "
  3775. + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" order by PRODUCETIME desc";
  3776. try {
  3777. System.out.print(sql);
  3778. List<HashMap> list = mapper.query(sql);
  3779. cro.setResult(list);
  3780. } catch (Exception ex) {
  3781. ex.printStackTrace();
  3782. cro.setV_errCode(-1);
  3783. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3784. }
  3785. SqlSession.close();
  3786. return cro;
  3787. }
  3788. /**
  3789. * 查询待判明细信息 根据轧批号、计划号查询物料号
  3790. */
  3791. @SuppressWarnings("rawtypes")
  3792. public CoreReturnObject doQueryMaterialDetailB(String batchno,String planno,String type) {
  3793. String swhere = "";
  3794. String swhere1 = "";
  3795. if (!SqlJoint.IsNullOrSpace(batchno)) { //轧批号
  3796. swhere += " and batchno = '"+batchno+"'";
  3797. }
  3798. if (!SqlJoint.IsNullOrSpace(planno)) { //最后轧批号
  3799. swhere += " and plan_no = '"+planno+"'";
  3800. }
  3801. swhere1 += " and b.JUDGERESULT = '0'";
  3802. if ("R".equals(type)){
  3803. swhere1 += " and b.r_chemresult = '0'";
  3804. }
  3805. /*if ("B".equals(type)) {
  3806. swhere1 += " and b.surfaceresult = '0'";
  3807. }else if ("M".equals(type)) {
  3808. swhere1 += " and b.sizeresult = '0'";
  3809. }else if ("T".equals(type)){
  3810. swhere1 += " and b.spyresult = '0'";
  3811. }else if ("R".equals(type)){
  3812. swhere1 += " and b.r_chemresult = '0'";
  3813. }*/
  3814. String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3815. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3816. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  3817. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  3818. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid from kch_turnofflist@xgcx a "
  3819. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3820. + "union all "
  3821. + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3822. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) "
  3823. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, "
  3824. + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3825. + " PTIME PRODUCETIME, b.sizeid from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  3826. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" ";
  3827. try {
  3828. System.out.print(sql);
  3829. List<HashMap> list = mapper.query(sql);
  3830. cro.setResult(list);
  3831. } catch (Exception ex) {
  3832. ex.printStackTrace();
  3833. cro.setV_errCode(-1);
  3834. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3835. }
  3836. SqlSession.close();
  3837. return cro;
  3838. }
  3839. /**
  3840. * 查询待判明细信息 根据轧批号、计划号查询物料号
  3841. */
  3842. @SuppressWarnings("rawtypes")
  3843. public CoreReturnObject doQueryMaterialDetail(String batchno,String planno,String type) {
  3844. String swhere = "";
  3845. String swhere1 = "";
  3846. if (!SqlJoint.IsNullOrSpace(batchno)) { //轧批号
  3847. swhere += " and batchno = '"+batchno+"'";
  3848. }
  3849. if (!SqlJoint.IsNullOrSpace(planno)) { //最后轧批号
  3850. swhere += " and plan_no = '"+planno+"'";
  3851. }
  3852. swhere1 += " and b.JUDGERESULT = '0'";
  3853. if ("R".equals(type)){
  3854. swhere1 += " and b.r_chemresult = '0'";
  3855. }
  3856. /*if ("B".equals(type)) {
  3857. swhere1 += " and b.surfaceresult = '0'";
  3858. }else if ("M".equals(type)) {
  3859. swhere1 += " and b.sizeresult = '0'";
  3860. }else if ("T".equals(type)){
  3861. swhere1 += " and b.spyresult = '0'";
  3862. }else if ("R".equals(type)){
  3863. swhere1 += " and b.r_chemresult = '0'";
  3864. }*/
  3865. String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3866. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3867. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  3868. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  3869. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.surfaceid surface_id,(select BIGSHOPSIGN from kch_storagelist@xgcx "
  3870. + " where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_code,(select BIGSHOPSIGN from kch_storagelist@xgcx "
  3871. +" where BILLETID = (select BILLETID from zyhb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) grade_name from kch_turnofflist@xgcx a "
  3872. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3873. + "union all "
  3874. + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3875. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) "
  3876. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, "
  3877. + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3878. + " PTIME PRODUCETIME, b.sizeid,b.surfaceid surface_id,(select BIGSHOPSIGN from kcz_storagelist@xgcx where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx "
  3879. + " where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_CODE, (select BIGSHOPSIGN from kcz_storagelist@xgcx "
  3880. + " where BILLETID = (select BILLETID from mb_planofmotherplate@xgcx where MOTHERPLATEID = A.MOTHERBOARDNUMBER)) GRADE_NAME from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  3881. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3882. + "union select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3883. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select a.STOVENO HEAT_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  3884. + " ORDERNO design_key,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, "
  3885. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3886. + " PTIME PRODUCETIME, b.sizeid,b.surfaceid surface_id,C.STEELCODE GRADE_CODE,C.STEELCODE GRADE_NAME from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO "
  3887. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3888. + "union all select * from (select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  3889. + " t.PRDNM_CD, T.INSTR_COIL_THK,T.INSTR_COIL_WTH, T.INSTR_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD steel_code,"
  3890. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  3891. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" "
  3892. + "union all select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  3893. + " t.PRDNM_CD, T.INSTR_COIL_THK, T.INSTR_COIL_WTH,T.INSTR_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  3894. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  3895. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+""
  3896. + " union all select SUBSTR(T.SLAB_NO, 1, 10),SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, "
  3897. + "t.PRDNM_CD,T.INSTR_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.surfaceid surface_id,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE, nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,T.SPEC_STL_GRD,"
  3898. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  3899. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+"";
  3900. try {
  3901. System.out.print(sql);
  3902. List<HashMap> list = mapper.query(sql);
  3903. cro.setResult(list);
  3904. } catch (Exception ex) {
  3905. ex.printStackTrace();
  3906. cro.setV_errCode(-1);
  3907. cro.setV_errMsg("查询失败!" + ex.getMessage());
  3908. }
  3909. SqlSession.close();
  3910. return cro;
  3911. }
  3912. /**
  3913. * 查询物料明细信息 根据物料号 不增加炼钢牌号
  3914. * @return
  3915. */
  3916. @SuppressWarnings("rawtypes")
  3917. public List<HashMap> doQueryMaterialInfo1(String material_no) {
  3918. String swhere = "";
  3919. String swhere1 = "";
  3920. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  3921. swhere += " and material_no = '"+material_no+"'";
  3922. }
  3923. /*if ("B".equals(type)) {
  3924. swhere1 += " and b.surfaceresult = '0'";
  3925. }else if ("M".equals(type)) {
  3926. swhere1 += " and b.sizeresult = '0'";
  3927. }else if ("T".equals(type)){
  3928. swhere1 += " and b.spyresult = '0'";
  3929. }*/
  3930. String sql = "select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3931. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO, a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  3932. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  3933. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  3934. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kch_turnofflist@xgcx a "
  3935. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" )T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3936. + " union all "
  3937. + " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3938. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,a.STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO DESIGN_KEY,'' PSC_DESC, (select max(STANDROLLER) "
  3939. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, a.WIDTH, "
  3940. + " a.LENGTH, a.THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3941. + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  3942. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3943. + " union all select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  3944. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,a.STOVENO HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  3945. + " ORDERNO DESIGN_KEY,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, a.PLY thick, "
  3946. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  3947. + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO"
  3948. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  3949. + "union all select * from (select ''ht_no,'RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  3950. + " t.PRDNM_CD, T.instr_COIL_THK,T.instr_COIL_WTH, T.instr_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code,"
  3951. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  3952. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" "
  3953. + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  3954. + " t.PRDNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  3955. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  3956. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+""
  3957. + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, "
  3958. + "t.PRDNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  3959. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  3960. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+") where 1= 1 "+swhere+"";
  3961. try {
  3962. System.out.print(sql);
  3963. List<HashMap> list = mapper.query(sql);
  3964. return list;
  3965. } catch (Exception ex) {
  3966. ex.printStackTrace();
  3967. }
  3968. return null;
  3969. }
  3970. /**
  3971. * 查询物料明细信息 根据物料号 需增加炼钢牌号
  3972. * @return
  3973. */
  3974. @SuppressWarnings("rawtypes")
  3975. public List<HashMap> doQueryMaterialInfoBX(String material_no) {
  3976. /* String swhere = "";
  3977. String swhere1 = "";
  3978. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  3979. swhere += " and material_no = '"+material_no+"'";
  3980. }*/
  3981. String sql =
  3982. "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3983. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3984. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select (select rcl_state from kch_turnofflist@xgcx "
  3985. + " where BILLETID like 'H%' and billetid = a.slabno) ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME, TO_CHAR(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, "
  3986. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3987. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3988. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT "
  3989. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  3990. + " and a.billetid = c.billetid and a.slabno = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 "
  3991. + " on t1.design_key = t2.ORDERNO where 1 = 1 "
  3992. +" UNION ALL "
  3993. +"select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  3994. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC, "
  3995. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select (select rcl_state from kch_turnofflist@xgcx "
  3996. + " where BILLETID like 'H%' and billetid = a.slabno) ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME, TO_CHAR(a.heatno) heat_no, TO_CHAR(substr(A.BILLETID, 1, 12) || '0') BOARD_NO,batchno, a.taskno plan_no, "
  3997. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  3998. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  3999. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id, c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT "
  4000. + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b,kch_storagelist@xgcx c where a.SLABNO = b.BILLETID "
  4001. + " and a.billetid = c.billetid and a.slabno = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 "
  4002. + " on t1.design_key = t2.ORDERNO where 1 = 1";
  4003. System.out.print(sql);
  4004. List<HashMap> list = mapper.query(sql);
  4005. if(list.size() == 0)
  4006. {
  4007. sql = " select t1.*, t2.STEELCODE steel_code, "
  4008. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  4009. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  4010. + " from (select (select rcl_state "
  4011. + " from kcZ_turnofflist@xgcx where BILLETID like 'Z%' and billetid = a.PRODUCTNO) ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,a.heatno heat_no, substr(A.BILLETID, 1, 12) || '0' BOARD_NO,A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  4012. + " a.HEIGHT THICK, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  4013. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id, "
  4014. + " c.bigshopsign grade_code, c.bigshopsign grade_name, b.BILLETID_jy INSPECTION_LOT from (select * from mb_plandetailofplate@xgcx union all select * from mb_plandetailofplate_zjnew@xgcx) a, zj_result_all@xgcx b, "
  4015. + " kcZ_storagelist@xgcx c where a.PRODUCTNO = b.BILLETID and a.Billetid = c.billetid and a.PRODUCTNO = '"+material_no+"') T1 left join sel_pactdetail@xgcx t2 "
  4016. + " on t1.design_key = t2.ORDERNO where 1=1 ";
  4017. System.out.print(sql);
  4018. list = mapper.query(sql);
  4019. if(list.size() == 0){
  4020. sql = " select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  4021. + " t2.PURPOSEID prod_code, C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc from (select '' ht_no,CASE WHEN a.PLD = '4001GX1' THEN 'GX1' WHEN A.PLD = '4001GX2' THEN 'GX2' WHEN A.PLD = '4001BC2' THEN 'BC2' END PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,a.STOVENO BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  4022. + " ORDERNO DESIGN_KEY, a.PLY thick, "
  4023. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4024. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,C.STEELCODE GRADE_CODE, C.STEELCODE GRADE_NAME,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO"
  4025. + " where 1=1 and a.BILLETID = '"+material_no+"')T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 ";
  4026. System.out.print(sql);
  4027. list = mapper.query(sql);
  4028. }
  4029. }
  4030. try {
  4031. return list;
  4032. } catch (Exception ex) {
  4033. ex.printStackTrace();
  4034. }
  4035. SqlSession.close();
  4036. return null;
  4037. }
  4038. @SuppressWarnings("rawtypes")
  4039. public List<HashMap> doQueryMaterialInfoJ(String material_no) {
  4040. String swhere = "";
  4041. String swhere1 = "";
  4042. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  4043. swhere += " and material_no = '"+material_no+"'";
  4044. }
  4045. String sql = "select * from (select ''ht_no,'RZ1' PLINE_CODE,'热轧线' PLINE_NAME,SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,T.SLAB_NO BOARD_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ DESIGN_KEY, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4046. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.instr_COIL_THK THICK,T.instr_COIL_WTH WIDTH, T.instr_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code,"
  4047. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  4048. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" "
  4049. + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4050. + " t.PRODNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4051. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4052. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+""
  4053. + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4054. + "t.PRODNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4055. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4056. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+"";
  4057. try {
  4058. System.out.print(sql);
  4059. List<HashMap> list = mapper.query(sql);
  4060. return list;
  4061. } catch (Exception ex) {
  4062. ex.printStackTrace();
  4063. }
  4064. SqlSession.close();
  4065. return null;
  4066. }
  4067. public List<HashMap> doQueryMaterialInfoLZNJ(String material_no){
  4068. String swhere1 = "";
  4069. SqlSession SqlSession1 =
  4070. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  4071. QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  4072. String sql = "select t.INSTR_COIL_INDIA,t.COIL_INDIA from c_tbc02_coil_comm t where t.OLD_SAMPL_NO = '"+material_no+"'\n" +
  4073. " union all \n" +
  4074. "select t.INSTR_COIL_INDIA,t.COIL_INDIA from c_tbl02_coil_comm t where t.OLD_SAMPL_NO = '"+material_no+"'\n" ;
  4075. try {
  4076. System.out.println(sql);
  4077. List<HashMap> list = mapper1.query(sql);
  4078. return list;
  4079. } catch (Exception ex) {
  4080. ex.printStackTrace();
  4081. }
  4082. SqlSession1.close();
  4083. return null;
  4084. }
  4085. @SuppressWarnings("rawtypes")
  4086. public List<HashMap> doQueryMaterialInfoJ1(String material_no) {
  4087. SqlSession SqlSession1 =
  4088. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  4089. QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  4090. String swhere = "";
  4091. String swhere1 = "";
  4092. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  4093. swhere += " and material_no = '"+material_no+"'";
  4094. }
  4095. String sql = "select * from (select ''ht_no,'RZ1' PLINE_CODE,'热轧线' PLINE_NAME,SUBSTR(T.SLAB_NO, 1, 10) HEAT_NO,T.SLAB_NO BOARD_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ DESIGN_KEY, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4096. + " t.PRODNM_CD DELIVERY_STATE_DESC, T.instr_COIL_THK THICK,T.instr_COIL_WTH WIDTH, T.instr_COIL_LEN LENGTH,T.ACT_WGT/1000 WEIGHT,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code,"
  4097. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  4098. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" "
  4099. + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, (select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4100. + " t.PRODNM_CD, T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4101. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4102. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+""
  4103. + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,(select PSC from tbb01_ord_prod F WHERE F.ORD_NO= T.ORD_NO AND ROWNUM=1) psc,'' psc_desc, "
  4104. + "t.PRODNM_CD,T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_CODE,nvl(t2.LG_STL_GRD, t2.STL_GRD) GRADE_NAME,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4105. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4106. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+"";
  4107. try {
  4108. System.out.print(sql);
  4109. List<HashMap> list = mapper1.query(sql);
  4110. return list;
  4111. } catch (Exception ex) {
  4112. ex.printStackTrace();
  4113. }
  4114. SqlSession1.close();
  4115. return null;
  4116. }
  4117. /**
  4118. * 查询物料明细信息 根据物料号
  4119. * @return
  4120. */
  4121. /*@SuppressWarnings("rawtypes")
  4122. public List<HashMap> doQueryMaterialInfos(String material_no) {
  4123. String swhere = "";
  4124. String swhere1 = "";
  4125. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  4126. swhere += " and material_no in "+material_no+"";
  4127. }
  4128. String sql =
  4129. "select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  4130. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,"
  4131. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,to_char(a.heatno) heatno,MOTHERSLAB BOARD_NO, batchno, a.taskno plan_no, "
  4132. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  4133. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  4134. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc, b.billetid_jy INSPECTION_LOT"
  4135. + " from zyhb_plandetailofplate@xgcx a,zj_result_all@xgcx b where a.SLABNO = b.BILLETID "
  4136. + " "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  4137. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  4138. + " union all "
  4139. +"select t1.*,t2.STEELCODE steel_code,C2N@xgcx(t2.STEELCODE) steel_name,t2.USEDSTAND std_code, "
  4140. + " C2N@xgcx(t2.USEDSTAND) std_name,t2.PURPOSEID prod_code,C2N@xgcx(t2.PURPOSEID) prod_name, psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,"
  4141. + " t2.PSRNO psc, t2.DEV_SPEC_CD psc_desc from (select '' ht_no, 'HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,to_char(a.heatno) heatno,MOTHERSLAB BOARD_NO, batchno, a.taskno plan_no, "
  4142. + " a.slabno material_no, a.ORDERID design_key, a.thick, a.width, a.len length, a.weight, "
  4143. + " (select name_ from scm_base_info where id_ = a.cutsizestate) CUTSIDESTATE, (select name_ from scm_base_info where id_ = a.SIZEMODE) FIXSIZE, "
  4144. + " a.maketime PRODUCETIME, b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc, b.billetid_jy INSPECTION_LOT"
  4145. + " from ZYHB_PLANDETAILOFPLATE_ZJNEW@xgcx a,zj_result_all@xgcx b where a.SLABNO = b.BILLETID "
  4146. + " "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  4147. + " on t1.design_key = t2.ORDERNO where 1 = 1 "+swhere+""
  4148. + " union all "
  4149. + "select t1.*, t2.STEELCODE steel_code, "
  4150. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  4151. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  4152. + " from (select '' ht_no, 'ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,to_char(a.heatno) heat_no,MOTHERPLATEID BOARD_NO, A.batchno, a.taskno plan_no, a.PRODUCTNO material_no, a.ORDERNO design_key, "
  4153. + " a.HEIGHT thick, a.width,a.lenGTH, a.weight,(select name_ from scm_base_info where id_ = a.CUTSTYLE) CUTSIDESTATE, "
  4154. + " (select name_ from scm_base_info where id_ = a.SIZESTYLE) FIXSIZE,a.maketime PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.billetid_jy INSPECTION_LOT "
  4155. + " from mb_plandetailofplate@xgcx a, zj_result_all@xgcx b "
  4156. + " where a.PRODUCTNO = b.BILLETID "+swhere1+") T1 left join sel_pactdetail@xgcx t2 "
  4157. + " on t1.design_key = t2.ORDERNO where 1=1 "+swhere+""
  4158. +" union all select t1.*, t2.STEELCODE steel_code, "
  4159. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  4160. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  4161. + " from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  4162. + " ORDERNO design_key, a.PLY thick, "
  4163. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4164. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO"
  4165. + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  4166. + "union all select * from (select ''ht_no,'RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, "
  4167. + " T.instr_COIL_THK,T.instr_COIL_WTH, T.instr_COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code,"
  4168. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name,t.PRODNM_CD,'' psc,'' psc_desc "
  4169. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+" "
  4170. + "union all select '' ht_no,'SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, "
  4171. + " T.instr_COIL_THK, T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4172. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD),t.PRODNM_CD,'' psc,'' psc_desc "
  4173. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.COIL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+""
  4174. + " union all select '' ht_no,'LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ, "
  4175. + "T.instr_COIL_THK,T.instr_COIL_WTH,T.instr_COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid, b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4176. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD),t.PRODNM_CD,'' psc,'' psc_desc "
  4177. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b,tbg02_slab_comm t2 where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) AND t.SLAB_NO = t2.SLAB_NO and t.OLD_SAMPL_NO=b.coil_no "+swhere1+") where 1= 1 "+swhere+"";
  4178. try {
  4179. System.out.print(sql);
  4180. List<HashMap> list = mapper.query(sql);
  4181. return list;
  4182. } catch (Exception ex) {
  4183. ex.printStackTrace();
  4184. }
  4185. return null;
  4186. }*/
  4187. @SuppressWarnings("rawtypes")
  4188. public List<HashMap> doQueryMaterialInfosX(String material_no) {
  4189. String swhere = "";
  4190. String swhere1 = "";
  4191. if (!SqlJoint.IsNullOrSpace(material_no)) { //产品序号
  4192. swhere += " and material_no in "+material_no+"";
  4193. }
  4194. String sql =
  4195. "select t1.*, t2.STEELCODE steel_code, "
  4196. + " C2N@xgcx(t2.STEELCODE) steel_name, t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, t2.PURPOSEID prod_code, "
  4197. + " C2N@xgcx(t2.PURPOSEID) prod_name,psel_get_standroll@XGCX(t2.STANDROLLER) DELIVERY_STATE_DESC,t2.PSRNO psc,t2.DEV_SPEC_CD psc_desc "
  4198. + " from (select '' ht_no,a.PLD PLINE_CODE,C2N@xgcx(a.PLD) PLINE_NAME,substr(a.STOVENO,1,10) HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  4199. + " ORDERNO design_key, a.PLY thick, "
  4200. + " a.WIDTH, a.LENGTH, a.THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4201. + " PTIME PRODUCETIME, b.sizeid,b.SURFACEID surface_id,b.up_surface_result_id_desc,b.ud_surface_result_id_desc,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID LEFT JOIN kcx_stufflist@xgcx C ON C.STOVENO = A.STOVENO"
  4202. + " where 1=1 "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" ";
  4203. try {
  4204. System.out.print(sql);
  4205. List<HashMap> list = mapper.query(sql);
  4206. return list;
  4207. } catch (Exception ex) {
  4208. ex.printStackTrace();
  4209. }
  4210. return null;
  4211. }
  4212. /**
  4213. * 查询物料明细信息 根据物料号
  4214. * @return
  4215. */
  4216. @SuppressWarnings("rawtypes")
  4217. public List<HashMap> doQueryMaterialInfoByHeatNo(String design_key,String heatno) {
  4218. String swhere = "";
  4219. String swhere1 = "";
  4220. if (!SqlJoint.IsNullOrSpace(design_key)) { //产品序号
  4221. swhere += " and design_key = '"+design_key+"'";
  4222. }
  4223. if (!SqlJoint.IsNullOrSpace(heatno)) { //产品序号
  4224. swhere += " and heat_no = '"+heatno+"'";
  4225. }
  4226. /*if ("B".equals(type)) {
  4227. swhere1 += " and b.surfaceresult = '0'";
  4228. }else if ("M".equals(type)) {
  4229. swhere1 += " and b.sizeresult = '0'";
  4230. }else if ("T".equals(type)){
  4231. swhere1 += " and b.spyresult = '0'";
  4232. }*/
  4233. String sql = "select * from (select t1.*, t2.STEELCODE steel_code, C2N@xgcx(t2.STEELCODE)steel_name , t2.USEDSTAND std_code, C2N@xgcx(t2.USEDSTAND) std_name, "
  4234. + " t2.CATEGORY prod_code, C2N@xgcx(t2.CATEGORY) prod_name from (select '' ht_no, '4001HB1' PLINE_CODE,C2N@xgcx('4001HB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO, a.ROLLNUMBER batchno, a.PLANNUMBER plan_no, a.BILLETID material_no, "
  4235. + " ALLOTORDERFORM design_key, '' PSC_DESC, (select STANDROLLER from sel_pactdetail@xgcx where ORDERNO = ALLOTORDERFORM) DELIVERY_STATE_DESC, "
  4236. + " PLY thick, WIDTH, LENGTH,THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  4237. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE, PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kch_turnofflist@xgcx a "
  4238. + " left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" union all "
  4239. + " select '' ht_no, '4001ZB1' PLINE_CODE,C2N@xgcx('4001ZB1') PLINE_NAME,STOVENO HEAT_NO,MOTHERBOARDNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no, a.BILLETID material_no, ORDERNO,'' PSC_DESC, (select max(STANDROLLER) "
  4240. + " from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, WIDTH, "
  4241. + " LENGTH, THEORYWEIGHT weight, (select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4242. + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcz_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  4243. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+" union all select '' ht_no,PLD PLINE_CODE,C2N@xgcx(PLD) PLINE_NAME,STOVENO HEAT_NO,ROLLNUMBER BOARD_NO,ROLLNUMBER batchno, PLANNO plan_no,a.BILLETID material_no, "
  4244. + " ORDERNO,'' PSC_DESC, (select max(STANDROLLER) from sel_pactdetail@xgcx where ORDERNO = ORDERNO) DELIVERY_STATE_DESC, PLY thick, "
  4245. + " WIDTH, LENGTH, THEORYWEIGHT weight, '' CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4246. + " PTIME PRODUCETIME, b.sizeid,b.BILLETID_jy INSPECTION_LOT from kcx_turnofflist@xgcx a left join zj_result_all@xgcx b on a.BILLETID = b.BILLETID "
  4247. + " where 1=1 and a.STORAGESTATUS = '501602' "+swhere1+")T1 left join sel_pactdetail@xgcx t2 on t1.design_key = t2.ORDERNO where 1=1 "+swhere+" "
  4248. + "union all select * from (select ''ht_no,'4001RZ1','热轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 10) batchno,t1.ROLL_MANA_NO plan_no, T.OLD_SAMPL_NO material_no, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  4249. + " t.PRDNM_CD, T.COIL_THK,T.COIL_WTH, T.COIL_LEN,T.ACT_WGT/1000,''CUTSIDESTATE,''FIXSIZE, to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD steel_code,"
  4250. + " T.SPEC_STL_GRD steel_name,T.SPEC_ABBSYM std_code,T.SPEC_ABBSYM std_name, T.ORD_USE_CD prod_code,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) prod_name "
  4251. + " from tbh02_coil_comm t,tbf02_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+" "
  4252. + "union all select '' ht_no,'4001SZ1','酸轧线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.ROLL_MANA_NO, T.OLD_SAMPL_NO, T.ORD_NO || T.ORD_SEQ, '' psc_desc, "
  4253. + " t.PRDNM_CD, T.COIL_THK, T.COIL_WTH,T.COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4254. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4255. + " from c_tbl02_coil_comm t,c_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.COIL_NO=t1.C_COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+""
  4256. + " union all select '' ht_no,'4001LT1','连退线',SUBSTR(T.SLAB_NO, 1, 10),T.SLAB_NO,SUBSTR(t.OLD_SAMPL_NO, 1, 9), t1.CAL_NO, T.OLD_SAMPL_NO,T.ORD_NO || T.ORD_SEQ,'' psc_desc, "
  4257. + "t.PRDNM_CD,T.COIL_THK,T.COIL_WTH,T.COIL_LEN,T.ACT_WGT/1000,'','',to_date(substr(t.MILL_DTIME,'0','8'), 'yyyy-mm-dd') PRODUCETIME,b.sizeid,b.INSPECTION_LOT,T.SPEC_STL_GRD,"
  4258. + "T.SPEC_STL_GRD,T.SPEC_ABBSYM,T.SPEC_ABBSYM, T.ORD_USE_CD,PKG_QUALITY_COMM.PK00_COMM('A01007',T.ORD_USE_CD) "
  4259. + " from c_tbc02_coil_comm t,l_tbf03_spec_mill t1,QCM_JUDGE_COIL_RESULT b where t.ORI_OLD_SAMPL_NO=t1.C_COIL_NO(+) and t.OLD_SAMPL_NO=b.coil_no and t.coil_stat = '2' "+swhere1+")) where 1= 1 "+swhere+"";
  4260. try {
  4261. System.out.print(sql);
  4262. List<HashMap> list = mapper.query(sql);
  4263. return list;
  4264. } catch (Exception ex) {
  4265. ex.printStackTrace();
  4266. }
  4267. return null;
  4268. }
  4269. /**
  4270. * 查询检验信息
  4271. */
  4272. @SuppressWarnings({ "unchecked", "rawtypes" })
  4273. public CoreReturnObject GetMeasureInfoJ(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String plan_no,String prodline,String steelname) throws Exception{
  4274. try{
  4275. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  4276. String sky=StrSky(begintime,endtime);
  4277. if(sky.equals("FALSE")){
  4278. SqlSession.close();
  4279. cro.setV_errCode(-1);
  4280. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  4281. return cro;
  4282. }
  4283. }
  4284. //String sqls = "select sizeid from QCM_JUDGE_COIL_RESULT";
  4285. /*String sql = "select a.SIC_ID, a.BATCH_NO,A.THICK,A.WIDTH,A.LENGTH, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO,"
  4286. + " a.steel_name,a.prod_name,a.std_name,a.level_desc "
  4287. + " from qcm_judge_measure a ";*/
  4288. String swhere = " where 1=1 ";
  4289. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  4290. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  4291. }
  4292. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号
  4293. swhere += " and material_no like '"+sbatchno+"%'";
  4294. }
  4295. /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  4296. swhere += " and batch_no <= '"+ebatchno+"'";
  4297. }*/
  4298. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  4299. swhere += " and design_key like '%"+design_key+"%'";
  4300. }
  4301. if (!SqlJoint.IsNullOrSpace(plan_no)) { //Psc
  4302. swhere += " and ROLL_MANA_NO like '%"+plan_no+"%'";
  4303. }
  4304. if(!SqlJoint.IsNullOrSpace(steelname)){
  4305. swhere += " and steel_name = '" + steelname + "'";
  4306. }
  4307. if(prodline.equals("热连轧")){
  4308. swhere += " and pline_code = 'RZ1'";
  4309. }else if(prodline.equals("酸轧")){
  4310. swhere += " and pline_code = 'SZ1'";
  4311. }else if(prodline.equals("连退")){
  4312. swhere += " and pline_code = 'LT1'";
  4313. }
  4314. swhere += " and pline_code in ('RZ1','SZ1','LT1')";
  4315. //swhere += "and sic_id in ("+sqls+")";
  4316. //swhere += " order by judge_time desc";
  4317. String sql = "select a.SIC_ID, "
  4318. +" a.BATCH_NO,"
  4319. +" A.THICK,"
  4320. +" A.WIDTH,"
  4321. +" A.LENGTH,"
  4322. +" a.SIC_RESULT_DESC,"
  4323. +" a.material_no,"
  4324. +" a.design_key,"
  4325. +" a.psc_desc,"
  4326. +" a.judge_name,"
  4327. +" a.judge_time,"
  4328. +" a.SIC_MEMO,"
  4329. +" a.steel_name,"
  4330. +" a.prod_name,"
  4331. +" a.std_name,"
  4332. +" a.level_desc,"
  4333. +" b.PRODNM_CD DELIVERY_STATE_DESC,"
  4334. +" b.ACT_WGT/1000 weight,"
  4335. +" d.ROLL_MANA_NO plan_no"
  4336. +" from qcm_judge_measure a"
  4337. +" join tbh02_coil_comm b"
  4338. +" on a.material_no = b.OLD_SAMPL_NO"
  4339. +" left join tbf02_spec_mill d"
  4340. +" on b.COIL_NO = d.COIL_NO "+swhere+""
  4341. /*+" union all"
  4342. +" select a.SIC_ID,"
  4343. +" a.BATCH_NO,"
  4344. +" A.THICK,"
  4345. +" A.WIDTH,"
  4346. +" A.LENGTH,"
  4347. +" a.SIC_RESULT_DESC,"
  4348. +" a.material_no,"
  4349. +" a.design_key,"
  4350. +" a.psc_desc,"
  4351. +" a.judge_name,"
  4352. +" a.judge_time,"
  4353. +" a.SIC_MEMO,"
  4354. +" a.steel_name,"
  4355. +" a.prod_name,"
  4356. +" a.std_name,"
  4357. +" a.level_desc,"
  4358. +" c.PRODNM_CD DELIVERY_STATE_DESC,"
  4359. +" c.ACT_WGT/1000 weight,"
  4360. +" d.CAL_NO plan_no"
  4361. +" from qcm_judge_measure a"
  4362. +" join c_tbc02_coil_comm c"
  4363. +" on a.material_no = c.OLD_SAMPL_NO"
  4364. +" left join l_tbf03_spec_mill d"
  4365. +" on c.COIL_NO = d.COIL_NO "+swhere+""
  4366. +" union all"
  4367. +" select a.SIC_ID,"
  4368. +" a.BATCH_NO,"
  4369. +" A.THICK,"
  4370. +" A.WIDTH,"
  4371. +" A.LENGTH,"
  4372. +" a.SIC_RESULT_DESC,"
  4373. +" a.material_no,"
  4374. +" a.design_key,"
  4375. +" a.psc_desc,"
  4376. +" a.judge_name,"
  4377. +" a.judge_time,"
  4378. +" a.SIC_MEMO,"
  4379. +" a.steel_name,"
  4380. +" a.prod_name,"
  4381. +" a.std_name,"
  4382. +" a.level_desc,"
  4383. +" c.PRODNM_CD DELIVERY_STATE_DESC,"
  4384. +" c.ACT_WGT/1000 weight,"
  4385. +" d.ROLL_MANA_NO plan_no"
  4386. +" from qcm_judge_measure a"
  4387. +" join c_tbl02_coil_comm c"
  4388. +" on a.material_no = c.OLD_SAMPL_NO"
  4389. +" left join c_tbf03_spec_mill d"
  4390. +" on c.COIL_NO = d.COIL_NO"+swhere+""*/;
  4391. List<HashMap> list = mapper.query(sql);
  4392. cro.setResult(list);
  4393. }catch(Exception e){
  4394. cro.setV_errCode(-1);
  4395. cro.setV_errMsg("查询判定信息出错" + e.getMessage());
  4396. SqlSession.rollback();
  4397. }
  4398. SqlSession.close();
  4399. return cro;
  4400. }
  4401. @SuppressWarnings({ "unchecked", "rawtypes" })
  4402. public CoreReturnObject GetMeasureInfoB(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{
  4403. try{
  4404. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  4405. String sky=StrSky(begintime,endtime);
  4406. if(sky.equals("FALSE")){
  4407. SqlSession.close();
  4408. cro.setV_errCode(-1);
  4409. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  4410. return cro;
  4411. }
  4412. }
  4413. //String sqls = "select sizeid from zj_result_all@xgcx WHERE 1=1 and (BILLETID LIKE 'Z%' OR BILLETID LIKE 'Z%')";
  4414. /*String sql = "select a.SIC_ID, a.heat_no,a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO,"
  4415. + " a.steel_name,a.prod_name,a.std_name,a.level_desc "
  4416. + " from qcm_judge_measure a ";*/
  4417. String swhere = " where 1=1 ";
  4418. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  4419. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  4420. }
  4421. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号
  4422. swhere += " and material_no like '"+sbatchno+"%'";
  4423. }
  4424. /*if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  4425. swhere += " and batch_no <= '"+ebatchno+"'";
  4426. }*/
  4427. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  4428. swhere += " and design_key like '%"+design_key+"%'";
  4429. }
  4430. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  4431. swhere += " and psc_desc like '%"+psc_desc+"%'";
  4432. }
  4433. if(prodline.equals("中板线")){
  4434. swhere += " and pline_code in ('ZB1') ";
  4435. }else if(prodline.equals("厚板线")){
  4436. swhere += " and pline_code in ('HB1') ";
  4437. }
  4438. swhere += " and pline_code in ('ZB1','HB1')";
  4439. //swhere += "and sic_id in ("+sqls+")";
  4440. //swhere += " order by judge_time desc";
  4441. String sql = "select a.SIC_ID, "
  4442. +" a.heat_no,"
  4443. +" a.BATCH_NO,"
  4444. +" a.SIC_RESULT_DESC,"
  4445. +" a.material_no,"
  4446. +" a.design_key,"
  4447. +" a.psc_desc,"
  4448. +" a.judge_name,"
  4449. +" a.judge_time,"
  4450. +" a.SIC_MEMO,"
  4451. +" a.steel_name,"
  4452. +" a.prod_name,"
  4453. +" a.std_name,"
  4454. +" a.level_desc,"
  4455. + " a.SOUTH_THICK_VAL, "
  4456. + " a.south_h_val, "
  4457. + " a.south_m_val, "
  4458. + " a.south_r_val, "
  4459. + " a.middle_thick_val, "
  4460. + " a.middle_h_val, "
  4461. + " a.middle_m_val, "
  4462. + " a.middle_r_val, "
  4463. + " a.north_thick_val, "
  4464. + " a.north_h_val, "
  4465. + " a.north_m_val,"
  4466. + " a.north_r_val,"
  4467. +" b.ply THICK,"
  4468. +" b.WIDTH WIDTH,"
  4469. +" b.LENGTH LENGTH,"
  4470. + " b.THEORYWEIGHT weight,"
  4471. + "(select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, "
  4472. + " (select name_ from scm_base_info@xgcx where id_ = ROLE) FIXSIZE,"
  4473. +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC,"
  4474. +" b.planorderform PLANORDERNO,"
  4475. +" b.allotorderform orderno,"
  4476. +" C2N@xgcx(b.INSTORAGECLASS) INSTORAGECLASS,"
  4477. +" C2N@xgcx(b.PRODUCECLASS) PRODUCECLASS"
  4478. +" from qcm_judge_measure a"
  4479. +" left join kch_turnofflist@xgcx b"
  4480. +" on a.material_no = b.billetid"
  4481. +" left join sel_pactdetail@xgcx c"
  4482. +" on b.planorderform = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'H%'"
  4483. +" union all"
  4484. +" select a.SIC_ID,"
  4485. +" a.heat_no,"
  4486. +" a.BATCH_NO,"
  4487. +" a.SIC_RESULT_DESC,"
  4488. +" a.material_no,"
  4489. +" a.design_key,"
  4490. +" a.psc_desc,"
  4491. +" a.judge_name,"
  4492. +" a.judge_time,"
  4493. +" a.SIC_MEMO,"
  4494. +" a.steel_name,"
  4495. +" a.prod_name,"
  4496. +" a.std_name,"
  4497. +" a.level_desc,"
  4498. + " a.SOUTH_THICK_VAL, "
  4499. + " a.south_h_val, "
  4500. + " a.south_m_val, "
  4501. + " a.south_r_val, "
  4502. + " a.middle_thick_val, "
  4503. + " a.middle_h_val, "
  4504. + " a.middle_m_val, "
  4505. + " a.middle_r_val, "
  4506. + " a.north_thick_val, "
  4507. + " a.north_h_val, "
  4508. + " a.north_m_val,"
  4509. + " a.north_r_val,"
  4510. +" b.ply THICK,"
  4511. +" b.WIDTH WIDTH,"
  4512. +" b.LENGTH LENGTH,"
  4513. + " b.THEORYWEIGHT weight,"
  4514. + "(select name_ from scm_base_info@xgcx where id_ = CUTSIDESTATE) CUTSIDESTATE, (select name_ from scm_base_info@xgcx where id_ = RuLE) FIXSIZE, "
  4515. +" psel_get_standroll@XGCX(c.STANDROLLER) DELIVERY_STATE_DESC,"
  4516. +" b.planorderno PLANORDERNO,"
  4517. +" b.orderno orderno,"
  4518. +" C2N@xgcx(b.INCLASSTEAM) INSTORAGECLASS,"
  4519. +" C2N@xgcx(b.PCLASSTEAM) PRODUCECLASS"
  4520. +" from qcm_judge_measure a"
  4521. +" left join kcz_turnofflist@xgcx b"
  4522. +" on a.material_no = b.billetid"
  4523. +" left join sel_pactdetail@xgcx c"
  4524. +" on b.planorderno = c.orderno "+swhere+" AND A.MATERIAL_NO LIKE 'Z%'";
  4525. List<HashMap> list = mapper.query(sql);
  4526. cro.setResult(list);
  4527. }catch(Exception e){
  4528. cro.setV_errCode(-1);
  4529. cro.setV_errMsg("查询判定信息出错" + e.getMessage());
  4530. SqlSession.rollback();
  4531. }
  4532. SqlSession.close();
  4533. return cro;
  4534. }
  4535. @SuppressWarnings({ "unchecked", "rawtypes" })
  4536. public CoreReturnObject GetMeasureInfoX(String begintime,String endtime,String sbatchno,String ebatchno,String design_key,String psc_desc,String prodline) throws Exception{
  4537. try{
  4538. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(sbatchno)) {
  4539. String sky=StrSky(begintime,endtime);
  4540. if(sky.equals("FALSE")){
  4541. SqlSession.close();
  4542. cro.setV_errCode(-1);
  4543. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  4544. return cro;
  4545. }
  4546. }
  4547. //String sqls = "select sizeid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'";
  4548. /*String sql = "select a.SIC_ID, a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO,"
  4549. + " a.steel_name,a.prod_name,a.std_name,a.level_desc "
  4550. + " from qcm_judge_measure a ";*/
  4551. String swhere = " where 1=1 ";
  4552. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  4553. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  4554. }
  4555. if (!SqlJoint.IsNullOrSpace(sbatchno)) { //起始轧批号
  4556. swhere += " and batch_no >= '"+sbatchno+"'";
  4557. }
  4558. if (!SqlJoint.IsNullOrSpace(ebatchno)) { //最后轧批号
  4559. swhere += " and batch_no <= '"+ebatchno+"'";
  4560. }
  4561. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  4562. swhere += " and design_key like '%"+design_key+"%'";
  4563. }
  4564. if (!SqlJoint.IsNullOrSpace(psc_desc)) { //Psc
  4565. swhere += " and psc_desc like '%"+psc_desc+"%'";
  4566. }
  4567. swhere += " and pline_code in ('GX1','BC1','BC2','GX2','4001GX1','4001GX2','4001BC2')";
  4568. if(prodline.equals("高棒")){
  4569. swhere += " and pline_code in ('GX1','4001GX1')";
  4570. }else if(prodline.equals("棒二")){
  4571. swhere += " and pline_code in ('BC2','4001BC2')";
  4572. }else if(prodline.equals("高线")){
  4573. swhere += " and pline_code in ('GX2','4001GX2')";
  4574. }
  4575. String sql = "select a.SIC_ID, "
  4576. + " a.BATCH_NO, "
  4577. + " a.SIC_RESULT_DESC,"
  4578. + " a.material_no,"
  4579. + " a.design_key,"
  4580. + " a.psc_desc,"
  4581. + " a.judge_name,"
  4582. + " a.judge_time,"
  4583. + " a.SIC_MEMO,"
  4584. + " a.steel_name,"
  4585. + " a.prod_name,"
  4586. + " a.std_name,"
  4587. + " a.level_desc,"
  4588. + " c.PLY thick,"
  4589. + " c.WIDTH width,"
  4590. + " c.LENGTH length,"
  4591. + " c.THEORYWEIGHT weight,"
  4592. + " psel_get_standroll@XGCX(d.STANDROLLER) DELIVERY_STATE_DESC"
  4593. + " from qcm_judge_measure a"
  4594. + " left join kcx_turnofflist@xgcx c"
  4595. + " on a.material_no = c.BILLETID"
  4596. + " left join sel_pactdetail d"
  4597. + " on c.ORDERNO = d.ORDERNO "+swhere+"";
  4598. //swhere += "and sic_id in ("+sqls+")";
  4599. //swhere += " order by batch_no desc";
  4600. List<HashMap> list = mapper.query(sql);
  4601. cro.setResult(list);
  4602. }catch(Exception e){
  4603. cro.setV_errCode(-1);
  4604. cro.setV_errMsg("查询判定信息出错" + e.getMessage());
  4605. SqlSession.rollback();
  4606. }
  4607. SqlSession.close();
  4608. return cro;
  4609. }
  4610. @SuppressWarnings({ "unchecked", "rawtypes" })
  4611. public CoreReturnObject GetMeasureInfoY(String begintime,String endtime,String material_no,String design_key,String prodline,String processes) throws Exception{
  4612. try{
  4613. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime) && SqlJoint.IsNullOrSpace(material_no)) {
  4614. String sky=StrSky(begintime,endtime);
  4615. if(sky.equals("FALSE")){
  4616. SqlSession.close();
  4617. cro.setV_errCode(-1);
  4618. cro.setV_errMsg("查询时间不能大于30天,请核实查询时间条件!");
  4619. return cro;
  4620. }
  4621. }
  4622. //String sqls = "select sizeid from zj_result_all@xgcx WHERE BILLETID NOT LIKE 'Z%' AND BILLETID NOT LIKE 'Z%'";
  4623. /*String sql = "select a.SIC_ID, a.BATCH_NO, a.SIC_RESULT_DESC, a.material_no, a.design_key, a.psc_desc,a.judge_name,a.judge_time,a.SIC_MEMO,"
  4624. + " a.steel_name,a.prod_name,a.std_name,a.level_desc "
  4625. + " from qcm_judge_measure a ";*/
  4626. String swhere = " where 1=1 ";
  4627. if (!SqlJoint.IsNullOrSpace(begintime) && !SqlJoint.IsNullOrSpace(endtime)) { //生产时间
  4628. swhere += " and to_date(to_char(JUDGE_TIME,'yyyy-mm-dd'),'yyyy-mm-dd') between to_date('"+begintime+"','yyyy-mm-dd') and to_date('"+endtime+"','yyyy-mm-dd')";
  4629. }
  4630. if (!SqlJoint.IsNullOrSpace(material_no)) { //起始轧批号
  4631. swhere += " and material_no like '%"+material_no+"%'";
  4632. }
  4633. if (!SqlJoint.IsNullOrSpace(design_key)) { //销售订单号
  4634. swhere += " and design_key like '%"+design_key+"%'";
  4635. }
  4636. if(processes.equals("4mm分条机组")){
  4637. swhere += " and MACHINE_CODE = 'M0001'";
  4638. }else if(processes.equals("12mm分条机组")){
  4639. swhere += " and MACHINE_CODE = 'M0002'";
  4640. }else if(processes.equals("3mm横剪机组")){
  4641. swhere += " and MACHINE_CODE = 'M0003'";
  4642. }else if(processes.equals("退火炉宝信")){
  4643. swhere += " and MACHINE_CODE = 'M0004'";
  4644. }else if(processes.equals("退火炉南方D")){
  4645. swhere += " and MACHINE_CODE = 'M0005'";
  4646. }else if(processes.equals("退火炉艾伯纳")){
  4647. swhere += " and MACHINE_CODE = 'M0006'";
  4648. }else if(processes.equals("平整机组")){
  4649. swhere += " and MACHINE_CODE = 'M0007'";
  4650. }else if(processes.equals("轧机机组")){
  4651. swhere += " and MACHINE_CODE = 'M0008'";
  4652. }else if(processes.equals("退火炉南方G")){
  4653. swhere += " and MACHINE_CODE = 'M0009'";
  4654. }else if(processes.equals("酸洗机组")){
  4655. swhere += " and MACHINE_CODE = 'M0010'";
  4656. }
  4657. swhere += " and pline_code in ('YT1') ";
  4658. String sql = "select a.SIC_ID, "
  4659. + " a.BATCH_NO, "
  4660. + " a.SIC_RESULT_DESC,"
  4661. + " a.material_no,"
  4662. + " a.design_key,"
  4663. + " a.psc_desc,"
  4664. + " a.judge_name,"
  4665. + " a.judge_time,"
  4666. + " a.SIC_MEMO,"
  4667. + " a.steel_name,"
  4668. + " a.prod_name,"
  4669. + " a.std_name,"
  4670. + " a.level_desc,"
  4671. + " a.change_type_desc,"
  4672. + " c.thick,"
  4673. + " c.width,"
  4674. + " c.length,"
  4675. + " c.FACTWEIGHT/1000 weight,"
  4676. + " c.DELIVERY_STATE_DESC"
  4677. + " from qcm_judge_measure a"
  4678. + " left join YDM_PRODUCT_DETAIL@LINK_YTG c"
  4679. + " on a.material_no = c.COILNO"+swhere+"";
  4680. //swhere += "and sic_id in ("+sqls+")";
  4681. //swhere += " order by batch_no desc";
  4682. List<HashMap> list = mapper.query(sql);
  4683. cro.setResult(list);
  4684. }catch(Exception e){
  4685. cro.setV_errCode(-1);
  4686. cro.setV_errMsg("查询判定信息出错" + e.getMessage());
  4687. SqlSession.rollback();
  4688. }
  4689. SqlSession.close();
  4690. return cro;
  4691. }
  4692. /**
  4693. * 质量判定-卡量检测-查询测量实绩
  4694. * sum.material_no 材料号
  4695. * */
  4696. @SuppressWarnings("rawtypes")
  4697. public CoreReturnObject getQcmJudgeMeasure(String SIC_ID){
  4698. try {
  4699. StringBuffer sqlucomm = new StringBuffer();
  4700. sqlucomm.append("select '头' THICK_TYPE,a.SOUTH_THICK_VAL THICK_VAL,a.SOUTH_H_VAL H_VAL,a.MIDDLE_H_VAL M_VAL,a.NORTH_H_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' "
  4701. + " union all "
  4702. + " select '中' THICK_TYPE,a.MIDDLE_THICK_VAL THICK_VAL,a.SOUTH_M_VAL H_VAL ,a.MIDDLE_M_VAL M_VAL,a.NORTH_M_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' "
  4703. + " union all "
  4704. + " select '尾' THICK_TYPE,a.NORTH_THICK_VAL THICK_VAL,a.SOUTH_R_VAL H_VAL,a.MIDDLE_R_VAL M_VAL,a.NORTH_R_VAL R_VAL from qcm_judge_measure a where SIC_ID ='"+SIC_ID+"' ");
  4705. List<HashMap> list = mapper.query(sqlucomm.toString());
  4706. cro.setResult(list);
  4707. } catch (Exception e) {
  4708. cro.setV_errCode(-1);
  4709. cro.setV_errMsg(e.getMessage());
  4710. SqlSession.rollback();
  4711. }
  4712. SqlSession.close();
  4713. return cro;
  4714. }
  4715. /**
  4716. * 质量判定-卡量检测-查询测量实绩
  4717. * sum.material_no 材料号
  4718. * */
  4719. @SuppressWarnings("rawtypes")
  4720. public CoreReturnObject getQcmJudgeMeasureJ(String SIC_ID){
  4721. try {
  4722. StringBuffer sqlucomm = new StringBuffer();
  4723. sqlucomm.append("select '传动侧' THICK_TYPE,a.SOUTH_THICK_VAL THICK_VAL,a.SOUTH_H_VAL H_VAL,a.MIDDLE_H_VAL M_VAL,a.NORTH_H_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' "
  4724. + " union all "
  4725. + " select '中间' THICK_TYPE,a.MIDDLE_THICK_VAL THICK_VAL,a.SOUTH_M_VAL H_VAL ,a.MIDDLE_M_VAL M_VAL,a.NORTH_M_VAL R_VAL from qcm_judge_measure a where SIC_ID = '"+SIC_ID+"' "
  4726. + " union all "
  4727. + " select '操作侧' THICK_TYPE,a.NORTH_THICK_VAL THICK_VAL,a.SOUTH_R_VAL H_VAL,a.MIDDLE_R_VAL M_VAL,a.NORTH_R_VAL R_VAL from qcm_judge_measure a where SIC_ID ='"+SIC_ID+"' ");
  4728. List<HashMap> list = mapper.query(sqlucomm.toString());
  4729. cro.setResult(list);
  4730. } catch (Exception e) {
  4731. cro.setV_errCode(-1);
  4732. cro.setV_errMsg(e.getMessage());
  4733. SqlSession.rollback();
  4734. }
  4735. SqlSession.close();
  4736. return cro;
  4737. }
  4738. public CoreReturnObject GetMemo(String design_key){
  4739. try{
  4740. String sql = "select * from qcm_ord_design_memo where design_key = '"+design_key+"'";
  4741. List<HashMap> list = mapper.query(sql);
  4742. cro.setResult(list);
  4743. }catch(Exception e){
  4744. cro.setV_errCode(-1);
  4745. cro.setV_errMsg(e.getMessage());
  4746. SqlSession.rollback();
  4747. }
  4748. SqlSession.close();
  4749. return cro;
  4750. }
  4751. /**
  4752. * 质量判定-卡量检测-公差判定实绩
  4753. * design_key 质量设计主键
  4754. * psc 产品规范码
  4755. * */
  4756. public CoreReturnObject getToleranceInfo(String sic_id ){
  4757. try {
  4758. QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id);
  4759. List<QcmJudgeMeasureD> qjmd = mapper.queryQcmJudgeMeasureD(sic_id);
  4760. String design_key = pln.getDesign_key();
  4761. // 查询公差基础项目
  4762. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  4763. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  4764. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  4765. //获取DESIGN_KEY、PSC对应所有公差标准
  4766. sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"'";
  4767. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  4768. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  4769. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  4770. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) {
  4771. siclist.add(slmOrdDesignStdSic);
  4772. }
  4773. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  4774. siclist.add(slmOrdDesignStdSic);
  4775. }
  4776. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){
  4777. siclist.add(slmOrdDesignStdSic);
  4778. }
  4779. List<QCMOrdDesignStdSic> sodList = new ArrayList<QCMOrdDesignStdSic>();
  4780. siclist.addAll(sodList);
  4781. for(QCMOrdDesignStdSic sod: siclist){
  4782. for(QcmJudgeMeasureD qjmds :qjmd){
  4783. if(sod.getBias_code().equals(qjmds.getSic_item_code())){
  4784. sod.setVal(qjmds.getJudge_val());
  4785. sod.setPlan(qjmds.getPlan_val());
  4786. }
  4787. }
  4788. }
  4789. //调用质量设计接口获取标准上下限传出siclist,写入siclist并传回
  4790. List<QCMOrdDesignStdSic> orderSic=new ArrayList<QCMOrdDesignStdSic>();
  4791. if (siclist!=null && siclist.size()>0) {
  4792. List<QCMOrdDesignStdSic> pri=new ArrayList<QCMOrdDesignStdSic>();
  4793. for (int i = 0; i < siclist.size(); i++) {
  4794. if ("1".equals(siclist.get(i).getIscheck())) {
  4795. pri.add(siclist.get(i));
  4796. siclist.remove(i);
  4797. i--;
  4798. }
  4799. }
  4800. if (pri!=null && pri.size()>0) {
  4801. TreeSet<String> priOne=new TreeSet<String>();
  4802. for (QCMOrdDesignStdSic p : pri) {
  4803. priOne.add(p.getBias_code());
  4804. }
  4805. for (String one : priOne) {
  4806. for (QCMOrdDesignStdSic sic : pri) {
  4807. if (one.equals(sic.getBias_code())) {
  4808. orderSic.add(sic);
  4809. break;
  4810. }
  4811. }
  4812. }
  4813. }
  4814. if (siclist!=null && siclist.size()>0) {
  4815. TreeSet<String> onlyOne=new TreeSet<String>();
  4816. for (QCMOrdDesignStdSic QCMOrdDesignStdSic : siclist) {
  4817. onlyOne.add(QCMOrdDesignStdSic.getBias_code());
  4818. }
  4819. for (String set : onlyOne) {
  4820. for (QCMOrdDesignStdSic sic : siclist) {
  4821. if (set.equals(sic.getBias_code())) {
  4822. orderSic.add(sic);
  4823. break;
  4824. }
  4825. }
  4826. }
  4827. }
  4828. }
  4829. cro.setResult(orderSic);
  4830. } catch (Exception e) {
  4831. cro.setV_errCode(-1);
  4832. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  4833. SqlSession.rollback();
  4834. }
  4835. SqlSession.close();
  4836. return cro;
  4837. }
  4838. public CoreReturnObject getToleranceInfoNew(String sic_id ){
  4839. try {
  4840. QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id);
  4841. if(pln==null){
  4842. return cro;
  4843. }
  4844. List<QcmJudgeMeasureD> qjmd = mapper.queryQcmJudgeMeasureD(sic_id);
  4845. String design_key = pln.getDesign_key();
  4846. // 查询公差基础项目
  4847. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  4848. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  4849. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  4850. //获取DESIGN_KEY、PSC对应所有公差标准
  4851. sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"'";
  4852. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  4853. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  4854. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  4855. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) {
  4856. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  4857. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  4858. siclist.add(slmOrdDesignStdSic);
  4859. }
  4860. boolean pass = true;
  4861. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  4862. pass = true;
  4863. for(QCMOrdDesignStdSic sic :siclist){
  4864. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  4865. sic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  4866. sic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  4867. pass = false;
  4868. }
  4869. }
  4870. if(pass){
  4871. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  4872. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  4873. siclist.add(slmOrdDesignStdSic);
  4874. }
  4875. }
  4876. pass = true;
  4877. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){
  4878. pass = true;
  4879. for(QCMOrdDesignStdSic sic :siclist){
  4880. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  4881. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  4882. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  4883. pass = false;
  4884. }
  4885. }
  4886. if(pass){
  4887. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  4888. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  4889. siclist.add(slmOrdDesignStdSic);
  4890. }
  4891. }
  4892. for(QCMOrdDesignStdSic sod: siclist){
  4893. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  4894. sod.setIscheck("是");
  4895. }else{
  4896. sod.setIscheck("否");
  4897. }
  4898. for(QcmJudgeMeasureD qjmds :qjmd){
  4899. if(sod.getBias_code().equals(qjmds.getSic_item_code())){
  4900. sod.setVal(qjmds.getJudge_val());
  4901. sod.setPlan(qjmds.getPlan_val());
  4902. }
  4903. }
  4904. }
  4905. cro.setResult(siclist);
  4906. } catch (Exception e) {
  4907. cro.setV_errCode(-1);
  4908. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  4909. SqlSession.rollback();
  4910. }
  4911. SqlSession.close();
  4912. return cro;
  4913. }
  4914. public CoreReturnObject getToleranceInfoNewY(String sic_id ){
  4915. try {
  4916. QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id);
  4917. if(pln==null){
  4918. return cro;
  4919. }
  4920. List<QcmJudgeMeasureD> qjmd = mapper.queryQcmJudgeMeasureD(sic_id);
  4921. String design_key = pln.getDesign_key();
  4922. List<HashMap> hashmap = mapper.doQueryMaterialInfoY1(pln.getMaterial_no());
  4923. if(hashmap.size() == 0){
  4924. return cro;
  4925. }
  4926. String use_code = "";
  4927. if(pln.getMaterial_no().contains("S"))
  4928. {
  4929. use_code = "YTSX";
  4930. }else if(pln.getMaterial_no().contains("L") && hashmap.get(0).get("NUM").toString().equals("1"))
  4931. {
  4932. use_code = "YTZZ";
  4933. }else if(pln.getMaterial_no().contains("L") && hashmap.get(0).get("NUM").toString().equals("2"))
  4934. {
  4935. use_code = "YTZZ2";
  4936. }else if(pln.getMaterial_no().contains("P"))
  4937. {
  4938. use_code = "YTPZ";
  4939. }else if(pln.getMaterial_no().contains("T"))
  4940. {
  4941. use_code = "YTTH";
  4942. }else if(pln.getMaterial_no().contains("K"))
  4943. {
  4944. use_code = "YTHJ";
  4945. }else if(pln.getMaterial_no().contains("F"))
  4946. {
  4947. use_code = "YTZJ";
  4948. }
  4949. if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  4950. use_code = "YT1";
  4951. }
  4952. // 查询公差基础项目
  4953. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  4954. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  4955. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  4956. //获取DESIGN_KEY、PSC对应所有公差标准
  4957. sql = "select * from qcm_ord_design_std_sic where design_key = '"+design_key+"' AND USE_CODE = '"+use_code+"'";
  4958. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  4959. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  4960. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  4961. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  4962. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  4963. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  4964. siclist.add(slmOrdDesignStdSic);
  4965. }
  4966. boolean pass = true;
  4967. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  4968. pass = true;
  4969. for(QCMOrdDesignStdSic sic :siclist){
  4970. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  4971. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  4972. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  4973. pass = false;
  4974. }
  4975. }
  4976. if(pass){
  4977. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  4978. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  4979. siclist.add(slmOrdDesignStdSic);
  4980. }
  4981. }
  4982. pass = true;
  4983. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  4984. pass = true;
  4985. for(QCMOrdDesignStdSic sic :siclist){
  4986. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  4987. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  4988. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  4989. pass = false;
  4990. }
  4991. }
  4992. if(pass){
  4993. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  4994. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  4995. siclist.add(slmOrdDesignStdSic);
  4996. }
  4997. }
  4998. for(QCMOrdDesignStdSic sod: siclist){
  4999. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5000. sod.setIscheck("是");
  5001. }else{
  5002. sod.setIscheck("否");
  5003. }
  5004. if(sod.getBias_code().contains("KB")){
  5005. sod.setStdmemo(hashmap.get(0).get("PASS_EXIT_THICK") == null ?"":hashmap.get(0).get("PASS_EXIT_THICK").toString());
  5006. }
  5007. for(QcmJudgeMeasureD qjmds :qjmd){
  5008. if(sod.getBias_code().equals(qjmds.getSic_item_code())){
  5009. sod.setVal(qjmds.getJudge_val());
  5010. //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  5011. sod.setPlan(qjmds.getPlan_val());
  5012. //}
  5013. }
  5014. }
  5015. }
  5016. cro.setResult(siclist);
  5017. } catch (Exception e) {
  5018. cro.setV_errCode(-1);
  5019. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5020. SqlSession.rollback();
  5021. }
  5022. SqlSession.close();
  5023. return cro;
  5024. }
  5025. /**
  5026. * 卷板冷轧综判
  5027. * @param sic_id
  5028. * @return
  5029. */
  5030. public CoreReturnObject getToleranceInfoLZ(String sic_id,String thk,String wth,String ind,
  5031. String suf_id,String ord_no,String ord_seq,String pakge,String wgt,String edge ,String crk1){
  5032. try {
  5033. QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id);
  5034. String design_key = "";
  5035. String pline_code = "";
  5036. if(pln!=null){
  5037. design_key = pln.getDesign_key();
  5038. pline_code = (pln.getPline_code().equals("RZ1"))?"H":"C";
  5039. }
  5040. List<QcmJudgeMeasureD> qjmd = mapper.queryQcmJudgeMeasureD(sic_id);
  5041. // 查询公差基础项目
  5042. String sql = "select '厚度' T_NAME,\n" +
  5043. " case\n" +
  5044. " when t2.std_min_val_k is not null then\n" +
  5045. " TO_CHAR(t1.ORD_THK + t2.std_min_val_k,'FM0.999')\n" +
  5046. " else\n" +
  5047. " TO_CHAR(t1.ORD_THK + t2.std_min_val,'FM0.999')\n" +
  5048. " end T_MIN,\n" +
  5049. " case\n" +
  5050. " when t2.std_max_val_k is not null then\n" +
  5051. " TO_CHAR(t1.ORD_THK + t2.std_max_val_k,'FM0.999')\n" +
  5052. " else\n" +
  5053. " TO_CHAR(t1.ORD_THK + t2.std_max_val,'FM0.999')\n" +
  5054. " end T_MAX,\n"
  5055. + " t4.judge_val T_VALUE," +
  5056. " '"+thk+"' T_VALUE1,\n" +
  5057. " '' RMK\n" +
  5058. " from tba01_ord_line t1,\n" +
  5059. " \n" +
  5060. " (select max(std_min_val) std_min_val,\n" +
  5061. " max(std_max_val) std_max_val,\n" +
  5062. " max(std_min_val_k) std_min_val_k,\n" +
  5063. " max(std_max_val_k) std_max_val_k,\n" +
  5064. " max(std_min_val_n) std_min_val_n,\n" +
  5065. " max(std_max_val_n) std_max_val_n,\n" +
  5066. " max(design_key) design_key\n" +
  5067. " from (select case\n" +
  5068. " when t.specl_fl = '0' and\n" +
  5069. " t.bias_code in ('KB01', 'KS01') then\n" +
  5070. " t.std_min_val\n" +
  5071. " end std_min_val,\n" +
  5072. " case\n" +
  5073. " when t.specl_fl = '0' and\n" +
  5074. " t.bias_code in ('KB01', 'KS01') then\n" +
  5075. " t.std_max_val\n" +
  5076. " end std_max_val,\n" +
  5077. " case\n" +
  5078. " when t.specl_fl = '1' and\n" +
  5079. " t.bias_code in ('KB01', 'KS01') then\n" +
  5080. " t.std_min_val\n" +
  5081. " end std_min_val_k,\n" +
  5082. " case\n" +
  5083. " when t.specl_fl = '1' and\n" +
  5084. " t.bias_code in ('KB01', 'KS01') then\n" +
  5085. " t.std_max_val\n" +
  5086. " end std_max_val_k,\n" +
  5087. " case\n" +
  5088. " when t.specl_fl = '2' and\n" +
  5089. " t.bias_code in ('KB01', 'KS01') then\n" +
  5090. " t.std_min_val\n" +
  5091. " end std_min_val_n,\n" +
  5092. " case\n" +
  5093. " when t.specl_fl = '2' and\n" +
  5094. " t.bias_code in ('KB01', 'KS01') then\n" +
  5095. " t.std_max_val\n" +
  5096. " end std_max_val_n,\n" +
  5097. " t.design_key design_key\n" +
  5098. " from qcm_ord_design_std_sic t\n" +
  5099. " where t.use_code = '"+pline_code+"'\n" +
  5100. " and t.design_key = '"+design_key+"')) t2,\n" +
  5101. "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n"
  5102. + "(select t1.judge_val \n" +
  5103. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" +
  5104. " and sic_id = '"+sic_id+"') t4" +
  5105. " where t2.design_key = t3.design_key\n" +
  5106. " and t1.ORD_NO || t1.ORD_SEQ = t3.design_key\n" +
  5107. " \n" +
  5108. "UNION\n" +
  5109. "\n" +
  5110. "select '宽度' T_NAME,\n" +
  5111. " case\n" +
  5112. " when t2.std_min_val_k is not null then\n" +
  5113. " TO_CHAR(t1.ORD_WTH + t2.std_min_val_k)\n" +
  5114. " else\n" +
  5115. " TO_CHAR(t1.ORD_WTH + t2.std_min_val)\n" +
  5116. " end T_MIN,\n" +
  5117. " case\n" +
  5118. " when t2.std_max_val_k is not null then\n" +
  5119. " TO_CHAR(t1.ORD_WTH + t2.std_max_val_k)\n" +
  5120. " else\n" +
  5121. " TO_CHAR(t1.ORD_WTH + t2.std_max_val)\n" +
  5122. " end T_MAX,\n"
  5123. + " t4.judge_val T_VALUE," +
  5124. " '"+wth+"' T_VALUE1,\n" +
  5125. " '' RMK\n" +
  5126. " from tba01_ord_line t1, \n" +
  5127. " (select max(std_min_val) std_min_val,\n" +
  5128. " max(std_max_val) std_max_val,\n" +
  5129. " max(std_min_val_k) std_min_val_k,\n" +
  5130. " max(std_max_val_k) std_max_val_k,\n" +
  5131. " max(std_min_val_n) std_min_val_n,\n" +
  5132. " max(std_max_val_n) std_max_val_n,\n" +
  5133. " max(design_key) design_key\n" +
  5134. " from (select case\n" +
  5135. " when t.specl_fl = '0' and\n" +
  5136. " t.bias_code in ('KD01', 'KT01') then\n" +
  5137. " t.std_min_val\n" +
  5138. " end std_min_val,\n" +
  5139. " case\n" +
  5140. " when t.specl_fl = '0' and\n" +
  5141. " t.bias_code in ('KD01', 'KT01') then\n" +
  5142. " t.std_max_val\n" +
  5143. " end std_max_val,\n" +
  5144. " case\n" +
  5145. " when t.specl_fl = '1' and\n" +
  5146. " t.bias_code in ('KD01', 'KT01') then\n" +
  5147. " t.std_min_val\n" +
  5148. " end std_min_val_k,\n" +
  5149. " case\n" +
  5150. " when t.specl_fl = '1' and\n" +
  5151. " t.bias_code in ('KD01', 'KT01') then\n" +
  5152. " t.std_max_val\n" +
  5153. " end std_max_val_k,\n" +
  5154. " case\n" +
  5155. " when t.specl_fl = '2' and\n" +
  5156. " t.bias_code in ('KD01', 'KT01') then\n" +
  5157. " t.std_min_val\n" +
  5158. " end std_min_val_n,\n" +
  5159. " case\n" +
  5160. " when t.specl_fl = '2' and\n" +
  5161. " t.bias_code in ('KD01', 'KT01') then\n" +
  5162. " t.std_max_val\n" +
  5163. " end std_max_val_n,\n" +
  5164. " t.design_key design_key\n" +
  5165. " from qcm_ord_design_std_sic t\n" +
  5166. " where t.use_code = '"+pline_code+"'\n" +
  5167. " and t.design_key = '"+design_key+"')) t2,\n" +
  5168. "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" +
  5169. "(select t1.judge_val \n" +
  5170. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" +
  5171. " and sic_id = '"+sic_id+"') t4" +
  5172. " where t2.design_key = t3.design_key\n" +
  5173. " and t1.ORD_NO ||t1.ORD_SEQ = t3.design_key\n" +
  5174. "\n" +
  5175. "UNION\n" +
  5176. "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" +
  5177. " FROM TBA01_ORD_LINE T\n" +
  5178. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5179. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5180. " \n" +
  5181. "UNION\n" +
  5182. "SELECT '重量' T_NAME,\n" +
  5183. " TO_CHAR(OH.C_ORD_WGT_MIN),\n" +
  5184. " TO_CHAR(OH.C_ORD_WGT_MAX),\n" +
  5185. " '"+wgt+"',\n"
  5186. + "''," +
  5187. " ''\n" +
  5188. " FROM TBB01_ORD_HEAD OH\n" +
  5189. " WHERE OH.ORD_NO = '"+ord_no+"'\n" +
  5190. " AND OH.ORD_SEQ = '"+ord_seq+"'\n" +
  5191. " \n" +
  5192. "union\n" +
  5193. "\n" +
  5194. "select '外观' T_NAME,\n" +
  5195. " t2.C_EXTSHAPE_REQ T_MIN,\n" +
  5196. " '' T_MAX,\n" +
  5197. " t1.level_desc T_VALUE,\n"
  5198. + " '' T_VALUE1," +
  5199. " '"+crk1+"' RMK\n" +
  5200. " from qcm_judge_surface t1,tba01_ord_line t2\n" +
  5201. " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" +
  5202. " and t1.surface_id = '"+suf_id+"'\n" +
  5203. "UNION\n" +
  5204. "SELECT '包装' T_NAME,\n" +
  5205. " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" +
  5206. " '',\n" +
  5207. " '"+pakge+"',\n"
  5208. + "''," +
  5209. " ''\n" +
  5210. " FROM TBA01_ORD_LINE T\n" +
  5211. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5212. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5213. "UNION\n" +
  5214. "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" +
  5215. " FROM TBB01_ORD_HEAD T\n" +
  5216. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5217. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5218. "";
  5219. System.out.println(sql);
  5220. List<HashMap> list = mapper.query(sql);
  5221. cro.setResult(list);
  5222. } catch (Exception e) {
  5223. cro.setV_errCode(-1);
  5224. cro.setV_errMsg("其他检验项查询失败!"+e.getMessage());
  5225. SqlSession.rollback();
  5226. }
  5227. SqlSession.close();
  5228. return cro;
  5229. }
  5230. public CoreReturnObject getToleranceInfoLZOther(String sic_id,String thk,String wth,String ind,
  5231. String suf_id,String ord_no,String ord_seq,String pakge,String wgt,String edge ,String crk1,String Extshape_quality){
  5232. try {
  5233. QCMJudgeMeasure pln = mapper.queryQCMJudgeMeasure(sic_id);
  5234. String design_key = " ";
  5235. String pline_code = "";
  5236. if(pln!=null){
  5237. design_key = pln.getDesign_key();
  5238. pline_code = (pln.getPline_code().equals("RZ1"))?"H":"C";
  5239. }
  5240. List<QcmJudgeMeasureD> qjmd = mapper.queryQcmJudgeMeasureD(sic_id);
  5241. String sql1 = "SELECT '厚度' T_NAME,\n" +
  5242. " CASE\n" +
  5243. " WHEN T.DEL_TOL_THK_MIN < 1 THEN\n" +
  5244. " '0' || TO_CHAR(T.DEL_TOL_THK_MIN, 'FM9999.9999')\n" +
  5245. " ELSE\n" +
  5246. " TO_CHAR(T.DEL_TOL_THK_MIN, 'FM9999.9999')\n" +
  5247. " END T_MIN,\n" +
  5248. " CASE\n" +
  5249. " WHEN T.DEL_TOL_THK_MAX < 1 THEN\n" +
  5250. " '0' || TO_CHAR(T.DEL_TOL_THK_MAX, 'FM9999.9999')\n" +
  5251. " ELSE\n" +
  5252. " TO_CHAR(T.DEL_TOL_THK_MAX, 'FM9999.9999')\n" +
  5253. " END T_MAX," +
  5254. " t4.judge_val T_VALUE," +
  5255. " '"+thk+"' T_VALUE1,\n" +
  5256. " '' RMK "
  5257. + "FROM TBB01_ORD_DEL T, "
  5258. + "(select t1.judge_val \n" +
  5259. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" +
  5260. " and sic_id = '"+sic_id+"') t4 "
  5261. + "WHERE T.ORD_NO || T.ORD_SEQ = '"+ design_key +"'"
  5262. + " and T.DSN_KIND = PKG_QUALITY_COMM.FIB010203('"+design_key.substring(0, design_key.length()-3)+"'"+","
  5263. + " '"+design_key.substring(design_key.length()-3)+"')"
  5264. + " UNION "
  5265. + " SELECT '宽度' T_NAME,\n" +
  5266. " TO_CHAR(T.DEL_TOL_WTH_MIN) T_MIN,"+
  5267. " TO_CHAR(T.DEL_TOL_WTH_MAX) T_MAX," +
  5268. " t4.judge_val T_VALUE," +
  5269. " '"+wth+"' T_VALUE1,\n" +
  5270. " '' RMK "
  5271. + "FROM TBB01_ORD_DEL T, "
  5272. + "(select t1.judge_val \n" +
  5273. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" +
  5274. " and sic_id = '"+sic_id+"') t4 "
  5275. + "WHERE T.ORD_NO || T.ORD_SEQ = '"+ design_key +"'"
  5276. + " and T.DSN_KIND = PKG_QUALITY_COMM.FIB010203('"+design_key.substring(0, design_key.length()-3)+"'"+","
  5277. + " '"+design_key.substring(design_key.length()-3)+"')"
  5278. +" UNION\n" +
  5279. "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" +
  5280. " FROM TBA01_ORD_LINE T\n" +
  5281. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5282. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5283. " \n" +
  5284. "UNION\n" +
  5285. "SELECT '重量' T_NAME,\n" +
  5286. " TO_CHAR(OH.ORD_UNIT_WGT_MIN),\n" +
  5287. " TO_CHAR(OH.ORD_UNIT_WGT_MAX),\n" +
  5288. " '"+wgt+"',\n"
  5289. + "''," +
  5290. " ''\n" +
  5291. " FROM TBE02_ORD_PRC OH\n" +
  5292. " WHERE OH.ORD_NO = '"+ord_no+"'\n" +
  5293. " AND OH.ORD_SEQ = '"+ord_seq+"'\n" +
  5294. " \n" +
  5295. "union\n" +
  5296. "\n" +
  5297. "select '外观' T_NAME,\n" +
  5298. " t2.C_EXTSHAPE_REQ T_MIN,\n" +
  5299. " '' T_MAX,\n" +
  5300. " t1.level_desc T_VALUE,\n"
  5301. + " '"+Extshape_quality+"' T_VALUE1," +
  5302. " '"+crk1+"' RMK\n" +
  5303. " from qcm_judge_surface t1,tba01_ord_line t2\n" +
  5304. " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" +
  5305. " and t1.surface_id = '"+suf_id+"'\n" +
  5306. "UNION\n" +
  5307. "SELECT '包装' T_NAME,\n" +
  5308. " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" +
  5309. " '',\n" +
  5310. " '"+pakge+"',\n"
  5311. + "''," +
  5312. " ''\n" +
  5313. " FROM TBA01_ORD_LINE T\n" +
  5314. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5315. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5316. "UNION\n" +
  5317. "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" +
  5318. " FROM TBB01_ORD_HEAD T\n" +
  5319. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5320. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5321. "";
  5322. // 查询公差基础项目
  5323. /*String sql = "select '厚度' T_NAME,\n" +
  5324. " case\n" +
  5325. " when t2.std_min_val_k is not null then\n" +
  5326. " TO_CHAR(t1.ORD_THK + t2.std_min_val_k,'FM0.999')\n" +
  5327. " else\n" +
  5328. " TO_CHAR(t1.ORD_THK + t2.std_min_val,'FM0.999')\n" +
  5329. " end T_MIN,\n" +
  5330. " case\n" +
  5331. " when t2.std_max_val_k is not null then\n" +
  5332. " TO_CHAR(t1.ORD_THK + t2.std_max_val_k,'FM0.999')\n" +
  5333. " else\n" +
  5334. " TO_CHAR(t1.ORD_THK + t2.std_max_val,'FM0.999')\n" +
  5335. " end T_MAX,\n"
  5336. + " t4.judge_val T_VALUE," +
  5337. " '"+thk+"' T_VALUE1,\n" +
  5338. " '' RMK\n" +
  5339. " from tba01_ord_line t1,\n" +
  5340. " \n" +
  5341. " (select max(std_min_val) std_min_val,\n" +
  5342. " max(std_max_val) std_max_val,\n" +
  5343. " max(std_min_val_k) std_min_val_k,\n" +
  5344. " max(std_max_val_k) std_max_val_k,\n" +
  5345. " max(std_min_val_n) std_min_val_n,\n" +
  5346. " max(std_max_val_n) std_max_val_n,\n" +
  5347. " max(design_key) design_key\n" +
  5348. " from (select case\n" +
  5349. " when t.specl_fl = '0' and\n" +
  5350. " t.bias_code in ('KB01', 'KS01') then\n" +
  5351. " t.std_min_val\n" +
  5352. " end std_min_val,\n" +
  5353. " case\n" +
  5354. " when t.specl_fl = '0' and\n" +
  5355. " t.bias_code in ('KB01', 'KS01') then\n" +
  5356. " t.std_max_val\n" +
  5357. " end std_max_val,\n" +
  5358. " case\n" +
  5359. " when t.specl_fl = '1' and\n" +
  5360. " t.bias_code in ('KB01', 'KS01') then\n" +
  5361. " t.std_min_val\n" +
  5362. " end std_min_val_k,\n" +
  5363. " case\n" +
  5364. " when t.specl_fl = '1' and\n" +
  5365. " t.bias_code in ('KB01', 'KS01') then\n" +
  5366. " t.std_max_val\n" +
  5367. " end std_max_val_k,\n" +
  5368. " case\n" +
  5369. " when t.specl_fl = '2' and\n" +
  5370. " t.bias_code in ('KB01', 'KS01') then\n" +
  5371. " t.std_min_val\n" +
  5372. " end std_min_val_n,\n" +
  5373. " case\n" +
  5374. " when t.specl_fl = '2' and\n" +
  5375. " t.bias_code in ('KB01', 'KS01') then\n" +
  5376. " t.std_max_val\n" +
  5377. " end std_max_val_n,\n" +
  5378. " t.design_key design_key\n" +
  5379. " from qcm_ord_design_std_sic t\n" +
  5380. " where t.use_code = '"+pline_code+"'\n" +
  5381. " and t.design_key = '"+design_key+"')) t2,\n" +
  5382. "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n"
  5383. + "(select t1.judge_val \n" +
  5384. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KB01', 'KS01') \n" +
  5385. " and sic_id = '"+sic_id+"') t4" +
  5386. " where t2.design_key = t3.design_key\n" +
  5387. " and t1.ORD_NO || t1.ORD_SEQ = t3.design_key\n" +
  5388. " \n" +
  5389. "UNION\n" +
  5390. "\n" +
  5391. "select '宽度' T_NAME,\n" +
  5392. " case\n" +
  5393. " when t2.std_min_val_k is not null then\n" +
  5394. " TO_CHAR(t1.ORD_WTH + t2.std_min_val_k)\n" +
  5395. " else\n" +
  5396. " TO_CHAR(t1.ORD_WTH + t2.std_min_val)\n" +
  5397. " end T_MIN,\n" +
  5398. " case\n" +
  5399. " when t2.std_max_val_k is not null then\n" +
  5400. " TO_CHAR(t1.ORD_WTH + t2.std_max_val_k)\n" +
  5401. " else\n" +
  5402. " TO_CHAR(t1.ORD_WTH + t2.std_max_val)\n" +
  5403. " end T_MAX,\n"
  5404. + " t4.judge_val T_VALUE," +
  5405. " '"+wth+"' T_VALUE1,\n" +
  5406. " '' RMK\n" +
  5407. " from tba01_ord_line t1, \n" +
  5408. " (select max(std_min_val) std_min_val,\n" +
  5409. " max(std_max_val) std_max_val,\n" +
  5410. " max(std_min_val_k) std_min_val_k,\n" +
  5411. " max(std_max_val_k) std_max_val_k,\n" +
  5412. " max(std_min_val_n) std_min_val_n,\n" +
  5413. " max(std_max_val_n) std_max_val_n,\n" +
  5414. " max(design_key) design_key\n" +
  5415. " from (select case\n" +
  5416. " when t.specl_fl = '0' and\n" +
  5417. " t.bias_code in ('KD01', 'KT01') then\n" +
  5418. " t.std_min_val\n" +
  5419. " end std_min_val,\n" +
  5420. " case\n" +
  5421. " when t.specl_fl = '0' and\n" +
  5422. " t.bias_code in ('KD01', 'KT01') then\n" +
  5423. " t.std_max_val\n" +
  5424. " end std_max_val,\n" +
  5425. " case\n" +
  5426. " when t.specl_fl = '1' and\n" +
  5427. " t.bias_code in ('KD01', 'KT01') then\n" +
  5428. " t.std_min_val\n" +
  5429. " end std_min_val_k,\n" +
  5430. " case\n" +
  5431. " when t.specl_fl = '1' and\n" +
  5432. " t.bias_code in ('KD01', 'KT01') then\n" +
  5433. " t.std_max_val\n" +
  5434. " end std_max_val_k,\n" +
  5435. " case\n" +
  5436. " when t.specl_fl = '2' and\n" +
  5437. " t.bias_code in ('KD01', 'KT01') then\n" +
  5438. " t.std_min_val\n" +
  5439. " end std_min_val_n,\n" +
  5440. " case\n" +
  5441. " when t.specl_fl = '2' and\n" +
  5442. " t.bias_code in ('KD01', 'KT01') then\n" +
  5443. " t.std_max_val\n" +
  5444. " end std_max_val_n,\n" +
  5445. " t.design_key design_key\n" +
  5446. " from qcm_ord_design_std_sic t\n" +
  5447. " where t.use_code = '"+pline_code+"'\n" +
  5448. " and t.design_key = '"+design_key+"')) t2,\n" +
  5449. "(select * from qcm_judge_measure where sic_id ='"+sic_id+"') t3,\n" +
  5450. "(select t1.judge_val \n" +
  5451. " from qcm_judge_measure_d t1 where t1.sic_item_code in ('KD01', 'KT01') \n" +
  5452. " and sic_id = '"+sic_id+"') t4" +
  5453. " where t2.design_key = t3.design_key\n" +
  5454. " and t1.ORD_NO ||t1.ORD_SEQ = t3.design_key\n" +
  5455. "\n" +
  5456. "UNION\n" +
  5457. "SELECT '内径' T_NAME, TO_CHAR(T.C_ORD_INDIA), '', '"+ind+"','', ''\n" +
  5458. " FROM TBA01_ORD_LINE T\n" +
  5459. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5460. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5461. " \n" +
  5462. "UNION\n" +
  5463. "SELECT '重量' T_NAME,\n" +
  5464. " TO_CHAR(OH.C_ORD_WGT_MIN),\n" +
  5465. " TO_CHAR(OH.C_ORD_WGT_MAX),\n" +
  5466. " '"+wgt+"',\n"
  5467. + "''," +
  5468. " ''\n" +
  5469. " FROM TBB01_ORD_HEAD OH\n" +
  5470. " WHERE OH.ORD_NO = '"+ord_no+"'\n" +
  5471. " AND OH.ORD_SEQ = '"+ord_seq+"'\n" +
  5472. " \n" +
  5473. "union\n" +
  5474. "\n" +
  5475. "select '外观' T_NAME,\n" +
  5476. " t2.C_EXTSHAPE_REQ T_MIN,\n" +
  5477. " '' T_MAX,\n" +
  5478. " t1.level_desc T_VALUE,\n"
  5479. + " '' T_VALUE1," +
  5480. " '"+crk1+"' RMK\n" +
  5481. " from qcm_judge_surface t1,tba01_ord_line t2\n" +
  5482. " where t1.design_key = t2.ORD_NO||t2.ORD_SEQ\n" +
  5483. " and t1.surface_id = '"+suf_id+"'\n" +
  5484. "UNION\n" +
  5485. "SELECT '包装' T_NAME,\n" +
  5486. " PKG_QUALITY_COMM.FZ00_COMM('A01010', T.PAKMTH_TP),\n" +
  5487. " '',\n" +
  5488. " '"+pakge+"',\n"
  5489. + "''," +
  5490. " ''\n" +
  5491. " FROM TBA01_ORD_LINE T\n" +
  5492. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5493. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5494. "UNION\n" +
  5495. "SELECT '切边' T_NAME, nvl(t.EDGE_PROC_YN,'N'), '', '"+edge+"','', ''\n" +
  5496. " FROM TBB01_ORD_HEAD T\n" +
  5497. " WHERE T.ORD_NO = '"+ord_no+"'\n" +
  5498. " AND T.ORD_SEQ = '"+ord_seq+"'\n" +
  5499. "";*/
  5500. //System.out.println(sql1);
  5501. List<HashMap> list = mapper.query(sql1);
  5502. cro.setResult(list);
  5503. } catch (Exception e) {
  5504. cro.setV_errCode(-1);
  5505. cro.setV_errMsg("其他检验项查询失败!"+e.getMessage());
  5506. SqlSession.rollback();
  5507. }
  5508. SqlSession.close();
  5509. return cro;
  5510. }
  5511. /**
  5512. * 质量判定-卡量检测-查询公差标准
  5513. * design_key 质量设计主键
  5514. * psc 产品规范码
  5515. * */
  5516. @SuppressWarnings({ "unused", "rawtypes" })
  5517. public CoreReturnObject getTolerance(String designkey,String material_no){
  5518. try {
  5519. // 查询计划规格
  5520. List<HashMap> hashmap = doQueryMaterialInfo1(material_no);
  5521. if(hashmap.size() == 0){
  5522. return cro;
  5523. }
  5524. QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey);
  5525. // 查询公差基础项目
  5526. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  5527. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  5528. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  5529. //获取DESIGN_KEY、PSC对应所有公差标准
  5530. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  5531. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'";
  5532. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  5533. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  5534. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  5535. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) {
  5536. siclist.add(slmOrdDesignStdSic);
  5537. }
  5538. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  5539. siclist.add(slmOrdDesignStdSic);
  5540. }
  5541. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){
  5542. siclist.add(slmOrdDesignStdSic);
  5543. }
  5544. List<QCMOrdDesignStdSic> sodList = new ArrayList<QCMOrdDesignStdSic>();
  5545. for(QCMBaseTolerance cbt: cbtList){
  5546. boolean flag = false;
  5547. for(QCMOrdDesignStdSic sod1: siclist){
  5548. if(cbt.getTol_code().equals(sod1.getBias_code())){
  5549. flag = true;
  5550. break;
  5551. }
  5552. }
  5553. if(flag){
  5554. QCMOrdDesignStdSic sod = new QCMOrdDesignStdSic();
  5555. sod.setBias_code(cbt.getTol_code());
  5556. sod.setBias_name(cbt.getTol_name());
  5557. sodList.add(sod);
  5558. }
  5559. }
  5560. siclist.addAll(sodList);
  5561. for(QCMOrdDesignStdSic sod: siclist){
  5562. // 计划规格赋值
  5563. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5564. sod.setIscheck("是");
  5565. }else{
  5566. sod.setIscheck("否");
  5567. }
  5568. if(sod.getBias_code().contains("KB")){
  5569. sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5570. sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5571. }else if(sod.getBias_code().contains("KD")){
  5572. sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  5573. sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString());
  5574. }else if(sod.getBias_code().contains("KF")){
  5575. sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5576. sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5577. }
  5578. }
  5579. //调用质量设计接口获取标准上下限传出siclist,写入siclist并传回
  5580. List<QCMOrdDesignStdSic> orderSic=new ArrayList<QCMOrdDesignStdSic>();
  5581. if (siclist!=null && siclist.size()>0) {
  5582. List<QCMOrdDesignStdSic> pri=new ArrayList<QCMOrdDesignStdSic>();
  5583. for (int i = 0; i < siclist.size(); i++) {
  5584. if ("1".equals(siclist.get(i).getIscheck())) {
  5585. pri.add(siclist.get(i));
  5586. siclist.remove(i);
  5587. i--;
  5588. }
  5589. }
  5590. if (pri!=null && pri.size()>0) {
  5591. TreeSet<String> priOne=new TreeSet<String>();
  5592. for (QCMOrdDesignStdSic p : pri) {
  5593. priOne.add(p.getBias_code());
  5594. }
  5595. for (String one : priOne) {
  5596. for (QCMOrdDesignStdSic sic : pri) {
  5597. if (one.equals(sic.getBias_code())) {
  5598. orderSic.add(sic);
  5599. break;
  5600. }
  5601. }
  5602. }
  5603. }
  5604. if (siclist!=null && siclist.size()>0) {
  5605. TreeSet<String> onlyOne=new TreeSet<String>();
  5606. for (QCMOrdDesignStdSic QCMOrdDesignStdSic : siclist) {
  5607. onlyOne.add(QCMOrdDesignStdSic.getBias_code());
  5608. }
  5609. for (String set : onlyOne) {
  5610. for (QCMOrdDesignStdSic sic : siclist) {
  5611. if (set.equals(sic.getBias_code())) {
  5612. orderSic.add(sic);
  5613. break;
  5614. }
  5615. }
  5616. }
  5617. }
  5618. }
  5619. cro.setResult(orderSic);
  5620. } catch (Exception e) {
  5621. cro.setV_errCode(-1);
  5622. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5623. SqlSession.rollback();
  5624. }
  5625. SqlSession.close();
  5626. return cro;
  5627. }
  5628. @SuppressWarnings({ "unused", "rawtypes" })
  5629. public CoreReturnObject getToleranceNew1(List<HashMap> hashmap, String designkey,String material_no){
  5630. try {
  5631. // 查询计划规格
  5632. //QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey);
  5633. // 查询公差基础项目
  5634. /*String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  5635. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);*/
  5636. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  5637. //获取DESIGN_KEY、PSC对应所有公差标准
  5638. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  5639. String sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'";
  5640. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  5641. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  5642. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  5643. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  5644. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  5645. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  5646. siclist.add(slmOrdDesignStdSic);
  5647. }
  5648. boolean pass = true;
  5649. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  5650. pass = true;
  5651. for(QCMOrdDesignStdSic sic :siclist){
  5652. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5653. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5654. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5655. pass = false;
  5656. }
  5657. }
  5658. if(pass){
  5659. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5660. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5661. siclist.add(slmOrdDesignStdSic);
  5662. }
  5663. }
  5664. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  5665. pass = true;
  5666. for(QCMOrdDesignStdSic sic :siclist){
  5667. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5668. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5669. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5670. pass = false;
  5671. }
  5672. }
  5673. if(pass){
  5674. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5675. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5676. siclist.add(slmOrdDesignStdSic);
  5677. }
  5678. }
  5679. for(QCMOrdDesignStdSic sod: siclist){
  5680. // 计划规格赋值
  5681. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5682. sod.setIscheck("是");
  5683. }else{
  5684. sod.setIscheck("否");
  5685. }
  5686. if(sod.getBias_code().contains("KB")){
  5687. sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5688. sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5689. }else if(sod.getBias_code().contains("KD")){
  5690. sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  5691. sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString());
  5692. }else if(sod.getBias_code().contains("KF")){
  5693. sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5694. sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5695. }
  5696. }
  5697. cro.setResult(siclist);
  5698. } catch (Exception e) {
  5699. cro.setV_errCode(-1);
  5700. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5701. SqlSession.rollback();
  5702. }
  5703. //SqlSession.close();
  5704. return cro;
  5705. }
  5706. @SuppressWarnings({ "unused", "rawtypes" })
  5707. public CoreReturnObject getToleranceNew(String designkey,String material_no){
  5708. try {
  5709. // 查询计划规格
  5710. List<HashMap> hashmap = doQueryMaterialInfoBX(material_no);
  5711. if(hashmap.size() == 0){
  5712. hashmap = doQueryMaterialInfoJ(material_no);
  5713. }
  5714. if(hashmap.size() == 0){
  5715. return cro;
  5716. }
  5717. QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey);
  5718. // 查询公差基础项目
  5719. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  5720. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  5721. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  5722. //获取DESIGN_KEY、PSC对应所有公差标准
  5723. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  5724. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'";
  5725. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  5726. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  5727. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  5728. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  5729. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  5730. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  5731. siclist.add(slmOrdDesignStdSic);
  5732. }
  5733. boolean pass = true;
  5734. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  5735. pass = true;
  5736. for(QCMOrdDesignStdSic sic :siclist){
  5737. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5738. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5739. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5740. pass = false;
  5741. }
  5742. }
  5743. if(pass){
  5744. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5745. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5746. siclist.add(slmOrdDesignStdSic);
  5747. }
  5748. }
  5749. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  5750. pass = true;
  5751. for(QCMOrdDesignStdSic sic :siclist){
  5752. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5753. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5754. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5755. pass = false;
  5756. }
  5757. }
  5758. if(pass){
  5759. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5760. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5761. siclist.add(slmOrdDesignStdSic);
  5762. }
  5763. }
  5764. for(QCMOrdDesignStdSic sod: siclist){
  5765. // 计划规格赋值
  5766. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5767. sod.setIscheck("是");
  5768. }else{
  5769. sod.setIscheck("否");
  5770. }
  5771. if(sod.getBias_code().contains("KB")){
  5772. sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5773. sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5774. }else if(sod.getBias_code().contains("KD")){
  5775. sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  5776. sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString());
  5777. }else if(sod.getBias_code().contains("KF")){
  5778. sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5779. sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5780. }
  5781. }
  5782. cro.setResult(siclist);
  5783. } catch (Exception e) {
  5784. cro.setV_errCode(-1);
  5785. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5786. SqlSession.rollback();
  5787. }
  5788. SqlSession.close();
  5789. return cro;
  5790. }
  5791. @SuppressWarnings({ "unused", "rawtypes" })
  5792. public CoreReturnObject getToleranceNewY(String designkey,String material_no){
  5793. try {
  5794. // 查询计划规格
  5795. List<HashMap> hashmap = mapper.doQueryMaterialInfoY(material_no);
  5796. if(hashmap.size() == 0){
  5797. return cro;
  5798. }
  5799. QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey);
  5800. // 查询公差基础项目
  5801. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  5802. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  5803. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  5804. //获取DESIGN_KEY、PSC对应所有公差标准
  5805. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  5806. String use_code = "";
  5807. if(material_no.contains("S"))
  5808. {
  5809. use_code = "YTSX";
  5810. }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("1"))
  5811. {
  5812. use_code = "YTZZ";
  5813. }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("2"))
  5814. {
  5815. use_code = "YTZZ2";
  5816. }else if(material_no.contains("P"))
  5817. {
  5818. use_code = "YTPZ";
  5819. }else if(material_no.contains("T"))
  5820. {
  5821. use_code = "YTTH";
  5822. }else if(material_no.contains("K"))
  5823. {
  5824. use_code = "YTHJ";
  5825. }else if(material_no.contains("F"))
  5826. {
  5827. use_code = "YTZJ";
  5828. }
  5829. if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  5830. use_code = "YT1";
  5831. }
  5832. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"' and use_code = '"+use_code+"'";
  5833. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  5834. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  5835. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  5836. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  5837. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  5838. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  5839. siclist.add(slmOrdDesignStdSic);
  5840. }
  5841. boolean pass = true;
  5842. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  5843. pass = true;
  5844. for(QCMOrdDesignStdSic sic :siclist){
  5845. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5846. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  5847. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  5848. pass = false;
  5849. }
  5850. }
  5851. if(pass){
  5852. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  5853. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  5854. siclist.add(slmOrdDesignStdSic);
  5855. }
  5856. }
  5857. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  5858. pass = true;
  5859. for(QCMOrdDesignStdSic sic :siclist){
  5860. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5861. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  5862. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  5863. pass = false;
  5864. }
  5865. }
  5866. if(pass){
  5867. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val()==null?slmOrdDesignStdSic.getStd_result_max():slmOrdDesignStdSic.getStd_max_val());
  5868. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val()==null?slmOrdDesignStdSic.getStd_result_min():slmOrdDesignStdSic.getStd_min_val());
  5869. siclist.add(slmOrdDesignStdSic);
  5870. }
  5871. }
  5872. for(QCMOrdDesignStdSic sod: siclist){
  5873. // 计划规格赋值
  5874. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5875. sod.setIscheck("是");
  5876. }else{
  5877. sod.setIscheck("否");
  5878. }
  5879. if(sod.getBias_code().contains("KB")){
  5880. //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  5881. sod.setPlan(hashmap.get(0).get("PLAN_THICK") == null ?"":hashmap.get(0).get("PLAN_THICK").toString());
  5882. //}
  5883. sod.setStdmemo(hashmap.get(0).get("PASS_EXIT_THICK") == null ?"":hashmap.get(0).get("PASS_EXIT_THICK").toString());
  5884. }else if(sod.getBias_code().contains("KD")){
  5885. //if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  5886. sod.setPlan(hashmap.get(0).get("PLAN_WIDTH") == null ?"":hashmap.get(0).get("PLAN_WIDTH").toString());
  5887. //}
  5888. }
  5889. }
  5890. cro.setResult(siclist);
  5891. } catch (Exception e) {
  5892. cro.setV_errCode(-1);
  5893. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5894. SqlSession.rollback();
  5895. }
  5896. SqlSession.close();
  5897. return cro;
  5898. }
  5899. @SuppressWarnings({ "unused", "rawtypes" })
  5900. public CoreReturnObject getToleranceJ(String designkey,String material_no){
  5901. try {
  5902. // 查询计划规格
  5903. List<HashMap> hashmap = doQueryMaterialInfoJ(material_no);
  5904. if(hashmap.size() == 0){
  5905. return cro;
  5906. }
  5907. QcmJhySampleROrd pln = mapper.queryQcmJhySampleROrd(designkey);
  5908. // 查询公差基础项目
  5909. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  5910. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  5911. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  5912. //获取DESIGN_KEY、PSC对应所有公差标准
  5913. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  5914. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'";
  5915. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  5916. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  5917. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  5918. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  5919. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  5920. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  5921. siclist.add(slmOrdDesignStdSic);
  5922. }
  5923. boolean pass = true;
  5924. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  5925. pass = true;
  5926. for(QCMOrdDesignStdSic sic :siclist){
  5927. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5928. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5929. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5930. pass = false;
  5931. }
  5932. }
  5933. if(pass){
  5934. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  5935. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  5936. siclist.add(slmOrdDesignStdSic);
  5937. }
  5938. }
  5939. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  5940. pass = true;
  5941. for(QCMOrdDesignStdSic sic :siclist){
  5942. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  5943. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5944. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5945. pass = false;
  5946. }
  5947. }
  5948. if(pass){
  5949. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  5950. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  5951. siclist.add(slmOrdDesignStdSic);
  5952. }
  5953. }
  5954. for(QCMOrdDesignStdSic sod: siclist){
  5955. // 计划规格赋值
  5956. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  5957. sod.setIscheck("是");
  5958. }else{
  5959. sod.setIscheck("否");
  5960. }
  5961. if(sod.getBias_code().contains("KB")){
  5962. sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5963. sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  5964. }else if(sod.getBias_code().contains("KD")){
  5965. sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  5966. sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString());
  5967. }else if(sod.getBias_code().contains("KF")){
  5968. sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5969. sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  5970. }
  5971. }
  5972. cro.setResult(siclist);
  5973. } catch (Exception e) {
  5974. cro.setV_errCode(-1);
  5975. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  5976. SqlSession.rollback();
  5977. }
  5978. SqlSession.close();
  5979. return cro;
  5980. }
  5981. @SuppressWarnings({ "unused", "rawtypes" })
  5982. public CoreReturnObject getToleranceZhb(String designkey,String material_no){
  5983. try {
  5984. // 查询计划规格
  5985. List<HashMap> hashmap = new ArrayList<HashMap>();
  5986. if(material_no.startsWith("Z")){
  5987. hashmap = mapper.doQueryMaterialInfoZB(material_no);
  5988. }else{
  5989. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  5990. }
  5991. if(hashmap.size() == 0){
  5992. if(material_no.startsWith("H")){
  5993. hashmap = mapper.doQueryMaterialInfoZB(material_no);
  5994. }else{
  5995. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  5996. }
  5997. }
  5998. if(hashmap.size() ==0){
  5999. return cro;
  6000. }
  6001. // 查询公差基础项目
  6002. String sql = " select * from QCM_BASE_TOLERANCE where validflag = '1'";
  6003. List<QCMBaseTolerance> cbtList = mapper.queryQCMBaseTolerance(sql);
  6004. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  6005. //获取DESIGN_KEY、PSC对应所有公差标准
  6006. //如果sic_k存在,这取sic与sic_k两套结果的并集,以sic_k为准
  6007. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designkey+"'";
  6008. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  6009. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  6010. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  6011. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listSic) {
  6012. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  6013. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  6014. siclist.add(slmOrdDesignStdSic);
  6015. }
  6016. boolean pass = true;
  6017. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  6018. pass = true;
  6019. for(QCMOrdDesignStdSic sic :siclist){
  6020. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6021. sic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  6022. sic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  6023. pass = false;
  6024. }
  6025. }
  6026. if(pass){
  6027. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  6028. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  6029. siclist.add(slmOrdDesignStdSic);
  6030. }
  6031. }
  6032. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listsicn){
  6033. pass = true;
  6034. for(QCMOrdDesignStdSic sic :siclist){
  6035. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6036. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6037. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6038. pass = false;
  6039. }
  6040. }
  6041. if(pass){
  6042. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6043. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6044. siclist.add(slmOrdDesignStdSic);
  6045. }
  6046. }
  6047. for(QCMOrdDesignStdSic sod: siclist){
  6048. // 计划规格赋值
  6049. if(sod.getIscheck() == null || sod.getIscheck().equals("1")){
  6050. sod.setIscheck("是");
  6051. }else{
  6052. sod.setIscheck("否");
  6053. }
  6054. if(sod.getBias_code().contains("KB")){
  6055. sod.setVal(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  6056. sod.setPlan(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  6057. }else if(sod.getBias_code().contains("KD")){
  6058. sod.setPlan(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  6059. sod.setVal(hashmap.get(0).get("WIDTH") == null?"":hashmap.get(0).get("WIDTH").toString());
  6060. }else if(sod.getBias_code().contains("KF")){
  6061. sod.setPlan(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  6062. sod.setVal(hashmap.get(0).get("LENGTH") == null ?"":hashmap.get(0).get("LENGTH").toString());
  6063. }
  6064. }
  6065. cro.setResult(siclist);
  6066. } catch (Exception e) {
  6067. cro.setV_errCode(-1);
  6068. cro.setV_errMsg("公差项查询失败!"+e.getMessage());
  6069. SqlSession.rollback();
  6070. }
  6071. SqlSession.close();
  6072. return cro;
  6073. }
  6074. /**
  6075. * 质量判定-卡量检测(未输入判定结果自动检测)
  6076. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  6077. * param2:编码、实绩、计划
  6078. * param3 测量实绩
  6079. * */
  6080. @SuppressWarnings("rawtypes")
  6081. public CoreReturnObject judgeByHuman(final ArrayList param1,ArrayList<List> param2,ArrayList<List> param3) throws Exception{
  6082. try {
  6083. //判断是否进行综合判定,是否在库
  6084. List<HashMap> hashmap = new ArrayList<HashMap>();
  6085. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  6086. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' ";
  6087. hashmap1 = mapper.query(sql);
  6088. if(hashmap1.size() > 0){
  6089. if(hashmap1.get(0).get("JUDGERESULT").equals("4")){
  6090. throw new Exception("已判废品,不可操作!");
  6091. }
  6092. }
  6093. if(hashmap1.size() > 0) {
  6094. List<HashMap> list1 = mapper.query(sql);
  6095. sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'"
  6096. + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' UNION ALL "
  6097. + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' union all "
  6098. + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(1).toString() + "' union all "
  6099. + " select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'";
  6100. hashmap = mapper.query(sql);
  6101. if (hashmap.size() == 0) {
  6102. throw new Exception("未找到在库的库存信息!");
  6103. }
  6104. //撤销判定
  6105. cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString());
  6106. }
  6107. sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  6108. List<HashMap> list1 = mapper.query(sql);
  6109. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  6110. List<HashMap> list2 = mapper.query(sql);
  6111. if(list2.size() > 0){
  6112. if(list2.get(0).get("JUDGERESULT").equals("4")){
  6113. throw new Exception("已判废品,不可操作!");
  6114. }
  6115. }
  6116. if(param1==null||param1.size()==0 ){
  6117. cro.setV_errCode(-1);
  6118. cro.setV_errMsg("请传入参数!");
  6119. return cro;
  6120. }else{
  6121. if(list1.size() >0 || list2.size() >0){
  6122. if(list1.size()>0){
  6123. for(HashMap list:list1){
  6124. if(!list.get("JUDGERESULT").toString().equals("0")){
  6125. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  6126. }
  6127. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  6128. throw new Exception("公差已锁定,不能做公差判定!");
  6129. }
  6130. }
  6131. }else{
  6132. for(HashMap list:list2){
  6133. if(!list.get("JUDGERESULT").toString().equals("0")){
  6134. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  6135. }
  6136. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  6137. throw new Exception("公差已锁定,不能做公差判定!");
  6138. }
  6139. }
  6140. }
  6141. }else{
  6142. throw new Exception("未找到库存信息!");
  6143. }
  6144. }
  6145. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  6146. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  6147. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'";
  6148. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  6149. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  6150. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  6151. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  6152. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  6153. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  6154. siclist.add(slmOrdDesignStdSic);
  6155. }
  6156. boolean pass = true;
  6157. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  6158. pass = true;
  6159. for(QCMOrdDesignStdSic sic :siclist){
  6160. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6161. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6162. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6163. pass = false;
  6164. }
  6165. }
  6166. if(pass){
  6167. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6168. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6169. siclist.add(slmOrdDesignStdSic);
  6170. }
  6171. }
  6172. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  6173. pass = true;
  6174. for(QCMOrdDesignStdSic sic :siclist){
  6175. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6176. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  6177. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  6178. pass = false;
  6179. }
  6180. }
  6181. if(pass){
  6182. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  6183. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  6184. siclist.add(slmOrdDesignStdSic);
  6185. }
  6186. }
  6187. /*for (QCMOrdDesignStdSic sic : listSic) {
  6188. for (QCMOrdDesignStdSic sick : listsick) {
  6189. if (sic.getBias_code().equals(sick.getBias_code())) {
  6190. siclist.remove(sic);
  6191. }
  6192. }
  6193. }*/
  6194. int count=0;
  6195. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  6196. String date=sdf.format(new Date());
  6197. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) where rownum <= 1";
  6198. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  6199. if(qjlist!=null&&qjlist.size()>0){
  6200. String s=qjlist.get(0).getSic_id();
  6201. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  6202. }
  6203. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  6204. // 插入QCM_JUDGE_MEASURE信息
  6205. count++;
  6206. String mst_id="SB"+date+String.format("%05d", count);
  6207. // 厚宽长判定标识
  6208. pass = true;
  6209. boolean judge = true;
  6210. String memo = "";
  6211. if(param1.get(1).toString().startsWith("Z")){
  6212. hashmap = mapper.doQueryMaterialInfoZB(param1.get(1).toString());
  6213. }else if(param1.get(1).toString().startsWith("H")){
  6214. hashmap = mapper.doQueryMaterialInfoHB(param1.get(1).toString());
  6215. }
  6216. if(hashmap.size() == 0){
  6217. hashmap = mapper.doQueryMaterialInfoX(param1.get(1).toString());
  6218. }
  6219. if(hashmap.size() == 0){
  6220. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  6221. }
  6222. if(hashmap.size() ==0){
  6223. throw new Exception("未找到库存信息!");
  6224. }
  6225. // 自动判定
  6226. if(param1.get(2).toString().equals("")){
  6227. for(QCMOrdDesignStdSic sic:siclist){
  6228. String upperDeciation=null;
  6229. String upperDeciation_k=null;
  6230. String upperDeciation_n=null;
  6231. String drownDeciation=null;
  6232. String drownDeciation_k=null;
  6233. String drownDeciation_n=null;
  6234. //国标
  6235. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  6236. if (sic.getStd_max_val().contains("+")) {
  6237. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  6238. }else {
  6239. upperDeciation=sic.getStd_max_val();//上偏差
  6240. }
  6241. }
  6242. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  6243. if (sic.getStd_min_val().contains("-")) {
  6244. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  6245. }else {
  6246. drownDeciation=sic.getStd_min_val();//下偏差
  6247. }
  6248. }
  6249. //客户
  6250. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  6251. if (sic.getStd_max_val_k().contains("+")) {
  6252. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  6253. }else {
  6254. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  6255. }
  6256. }
  6257. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  6258. if (sic.getStd_min_val_k().contains("-")) {
  6259. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  6260. }else {
  6261. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  6262. }
  6263. }
  6264. //内控
  6265. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  6266. if (sic.getStd_max_val_n().contains("+")) {
  6267. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  6268. }else {
  6269. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  6270. }
  6271. }
  6272. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  6273. if (sic.getStd_min_val_n().contains("-")) {
  6274. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  6275. }else {
  6276. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  6277. }
  6278. }
  6279. int seq1 = 1;
  6280. for(List list:param2){
  6281. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  6282. {
  6283. double val=Double.parseDouble(list.get(1).toString());
  6284. if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) {
  6285. if(list.get(3).toString().equals("")){
  6286. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  6287. if(pass){
  6288. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  6289. if(pass){
  6290. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val);
  6291. }
  6292. }
  6293. }else{
  6294. if(upperDeciation == null && drownDeciation == null){
  6295. pass=comOrtherVal(null,null,val);
  6296. }else if(upperDeciation == null){
  6297. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  6298. }else if(drownDeciation == null)
  6299. {
  6300. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  6301. }else{
  6302. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  6303. }
  6304. if(pass){
  6305. if(upperDeciation_k == null && drownDeciation_k == null){
  6306. pass=comOrtherVal(null,null,val);
  6307. }else if(upperDeciation_k == null){
  6308. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  6309. }else if(drownDeciation_k == null)
  6310. {
  6311. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  6312. }else{
  6313. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  6314. }
  6315. if(pass){
  6316. if(upperDeciation_n == null && drownDeciation_n == null){
  6317. pass=comOrtherVal(null,null,val);
  6318. }else if(upperDeciation_n == null){
  6319. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  6320. }else if(drownDeciation_n == null)
  6321. {
  6322. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  6323. }else{
  6324. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  6325. }
  6326. }
  6327. }
  6328. }
  6329. }else{
  6330. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val);
  6331. }
  6332. if(!pass){
  6333. //判定原因
  6334. if(memo == ""){
  6335. memo = sic.getBias_name() + list.get(1).toString();
  6336. }else{
  6337. memo += ","+sic.getBias_name() + list.get(1).toString();
  6338. }
  6339. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  6340. qjr.setMaterial_no(param1.get(1).toString());
  6341. qjr.setType_code("S");
  6342. qjr.setRecord_id(mst_id);
  6343. qjr.setSeq(seq1);
  6344. qjr.setPhy_code_s(sic.getBias_code());
  6345. qjr.setPhy_name_s(sic.getBias_name());
  6346. qjr.setCreate_name(param1.get(5).toString());
  6347. qjr.setVal1(list.get(1).toString());
  6348. qjr.setStdmax(sic.getStd_result_max());
  6349. if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){
  6350. qjr.setStdmax_sign("<=");
  6351. }
  6352. qjr.setStdmin(sic.getStd_result_min());
  6353. if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){
  6354. qjr.setStdmax_sign(">=");
  6355. }
  6356. qjr.setCreate_time(new Date());
  6357. seq1++;
  6358. mapper.insertQcmJudgeUltimateReason(qjr);
  6359. judge = false;
  6360. }
  6361. }
  6362. }
  6363. }
  6364. }
  6365. else if(param1.get(2).toString().equals("1")){
  6366. judge = true;
  6367. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  6368. judge = false;
  6369. }
  6370. //写入判定记录表
  6371. qj.setSic_id(mst_id);
  6372. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  6373. qj.setMaterial_no(qj.getMaterial_no());
  6374. }else {
  6375. qj.setMaterial_no(param1.get(1).toString());
  6376. }
  6377. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){
  6378. qj.setSic_is_lock("0");
  6379. }else{
  6380. qj.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  6381. }
  6382. qj.setSic_result_code(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  6383. qj.setSic_result_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  6384. qj.setSic_memo(param1.get(4).toString());
  6385. qj.setJudge_name(param1.get(5).toString());
  6386. qj.setWrk_grp(param1.get(6).toString());
  6387. qj.setWrk_ord(param1.get(7).toString());
  6388. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  6389. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  6390. qj.setJudge_time(new Date());
  6391. //计划规格
  6392. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  6393. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  6394. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  6395. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  6396. //测量实绩
  6397. if(param3.size() > 0){
  6398. for(List listc : param3){
  6399. if(listc.get(0).toString().equals("头")){
  6400. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6401. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  6402. }
  6403. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6404. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  6405. }
  6406. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6407. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  6408. }
  6409. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6410. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  6411. }
  6412. }else if(listc.get(0).toString().equals("中")){
  6413. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6414. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  6415. }
  6416. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6417. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  6418. }
  6419. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6420. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  6421. }
  6422. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6423. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  6424. }
  6425. }else if(listc.get(0).toString().equals("尾")){
  6426. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6427. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  6428. }
  6429. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6430. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  6431. }
  6432. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6433. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  6434. }
  6435. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6436. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  6437. }
  6438. }
  6439. }
  6440. }
  6441. qj.setDesign_key(param1.get(0).toString());
  6442. qj.setMaterial_no(param1.get(1).toString());
  6443. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  6444. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  6445. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  6446. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  6447. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  6448. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  6449. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  6450. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  6451. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  6452. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  6453. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  6454. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  6455. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  6456. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  6457. qj.setLevel_code(param1.get(8).toString());
  6458. qj.setLevel_desc(param1.get(9).toString());
  6459. if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){
  6460. throw new Exception("检验结果与质量等级不匹配!");
  6461. }else if(qj.getSic_result_code().equals("1") && !qj.getLevel_desc().contains("正品")){
  6462. throw new Exception("检验结果与质量等级不匹配!");
  6463. }else if(qj.getSic_result_code().equals("2") && (qj.getLevel_desc().contains("正品") || qj.getLevel_desc().contains("待处理"))){
  6464. throw new Exception("检验结果与质量等级不匹配!");
  6465. }
  6466. mapper.insertQCMJudgeMeasure(qj);
  6467. //判定实绩
  6468. for(List list:param2){
  6469. if(list.toString().contains("KB")){
  6470. //qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  6471. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  6472. }else if(list.toString().contains("KD")){
  6473. //qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  6474. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  6475. }else if(list.toString().contains("KF")){
  6476. //qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  6477. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  6478. }else{
  6479. qjmd.setPlan_val("");
  6480. }
  6481. qjmd.setSic_id(mst_id);
  6482. qjmd.setJudge_val(list.get(1).toString());
  6483. qjmd.setSic_item_code(list.get(0).toString());
  6484. qjmd.setSic_item_desc(list.get(2).toString());
  6485. mapper.insertQcmJudgeMeasureD(qjmd);
  6486. }
  6487. //更改库存表
  6488. if(list1.size() >0 || list2.size() >0){
  6489. if(list1.size()>0){
  6490. ZjResultAll zra = new ZjResultAll();
  6491. zra.setBilletid(param1.get(1).toString());
  6492. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  6493. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  6494. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品"))){
  6495. zra.setSic_is_lock("0");
  6496. }else
  6497. {
  6498. zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  6499. }
  6500. zra.setSizeid(mst_id);
  6501. mapper.UpdateJugeResultB(zra);
  6502. }else{
  6503. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  6504. zra.setCoil_no(param1.get(1).toString());
  6505. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  6506. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  6507. zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  6508. zra.setSizeid(mst_id);
  6509. mapper.UpdateJugeResultJ(zra);
  6510. }
  6511. }else{
  6512. throw new Exception("未找到库存信息!");
  6513. }
  6514. if(qj.getSic_result_code().equals("2")){
  6515. //写入异常材处置表
  6516. count=0;
  6517. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  6518. sdf=new SimpleDateFormat("yyMMdd");
  6519. date=sdf.format(new Date());
  6520. String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  6521. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  6522. if(qjl.size() > 0){
  6523. count=qjl.get(0).getLock_seq();
  6524. }
  6525. count++;
  6526. //锁定记录号
  6527. int lock_seq=count;
  6528. String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  6529. //插入封锁表
  6530. qjlk.setLock_type_code("S");
  6531. qjlk.setLock_type_desc("公差检验");
  6532. qjlk.setMaterial_no(param1.get(1).toString());
  6533. qjlk.setLock_id(mst_id);
  6534. qjlk.setLock_seq(lock_seq);
  6535. qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  6536. qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  6537. qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  6538. qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  6539. qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  6540. qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  6541. qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  6542. qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  6543. qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  6544. qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  6545. qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  6546. qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  6547. qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  6548. qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  6549. qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  6550. qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  6551. qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  6552. qjlk.setFic_locking("1");
  6553. qjlk.setLock_name(param1.get(5).toString());
  6554. qjlk.setLock_memo(lock_memo);
  6555. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){
  6556. qjlk.setUnlock_type_code("6");
  6557. qjlk.setUnlock_type_desc("脱单");
  6558. qjlk.setUnlock_memo("系统自动脱单");
  6559. qjlk.setUnlock_name(param1.get(5).toString());
  6560. qjlk.setUnlock_time(new Date());
  6561. }
  6562. mapper.insertQCMJudgeLocking(qjlk);
  6563. }
  6564. //更改库存表尺寸
  6565. if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  6566. {
  6567. String aJudgeType = judge?"412701":(param1.get(2).toString().equals("2")?"412710":"412705");
  6568. GetAddweight("","","",param1.get(1).toString(),aJudgeType,param1.get(4).toString());
  6569. }
  6570. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){
  6571. order_down(param1.get(1).toString(),"公差判定:" + param1.get(9).toString());
  6572. }
  6573. QcmJudgeLog qjl = new QcmJudgeLog();
  6574. qjl.setJudge_type("R");
  6575. qjl.setMaterial_no(param1.get(1).toString());
  6576. qjl.setCreate_name("system");
  6577. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  6578. mapper.insertQcmJudgeLog(qjl);
  6579. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  6580. qjog.setOperate_name(param1.get(5).toString());
  6581. qjog.setOperate_type("公差检验判定");
  6582. qjog.setParams(param1.get(1).toString());
  6583. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  6584. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  6585. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  6586. mapper.insertQcmJudgeOperateLog(qjog);
  6587. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  6588. if(list2.size() > 0) {
  6589. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  6590. if (hashmap.size() > 0) {
  6591. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,"");
  6592. }
  6593. }
  6594. SqlSession.commit();
  6595. /*Thread t1 = new Thread(){
  6596. @Override
  6597. public void run(){
  6598. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  6599. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  6600. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  6601. try {
  6602. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  6603. } catch (Exception e2) {
  6604. // TODO Auto-generated catch block
  6605. e2.printStackTrace();
  6606. }
  6607. try {
  6608. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  6609. } catch (Exception e1) {
  6610. // TODO Auto-generated catch block
  6611. e1.printStackTrace();
  6612. }
  6613. //综合判定
  6614. try {
  6615. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  6616. } catch (Exception e) {
  6617. // TODO Auto-generated catch block
  6618. e.printStackTrace();
  6619. }
  6620. }
  6621. };
  6622. t1.start();*/
  6623. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  6624. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  6625. qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  6626. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  6627. qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system");
  6628. if(judge){
  6629. //综合判定
  6630. qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString());
  6631. }*/
  6632. } catch (Exception e) {
  6633. cro.setV_errCode(-1);
  6634. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  6635. SqlSession.rollback();
  6636. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e);
  6637. }
  6638. SqlSession.close();
  6639. return cro;
  6640. }
  6641. /**
  6642. * 质量判定-卡量检测(未输入判定结果自动检测)
  6643. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  6644. * param2:编码、实绩、计划
  6645. * param3 测量实绩
  6646. * */
  6647. @SuppressWarnings("rawtypes")
  6648. public CoreReturnObject judgeByHuman3(final ArrayList param1,ArrayList<List> param2,ArrayList<List> param3) throws Exception{
  6649. try {
  6650. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  6651. List<HashMap> list1 = mapper.query(sql);
  6652. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  6653. List<HashMap> list2 = mapper.query(sql);
  6654. if(param1==null||param1.size()==0 ){
  6655. cro.setV_errCode(-1);
  6656. cro.setV_errMsg("请传入参数!");
  6657. return cro;
  6658. }else{
  6659. if(list1.size() >0 || list2.size() >0){
  6660. if(list1.size()>0){
  6661. for(HashMap list:list1){
  6662. if(!list.get("JUDGERESULT").toString().equals("0")){
  6663. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  6664. }
  6665. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  6666. throw new Exception("公差已锁定,不能做公差判定!");
  6667. }
  6668. }
  6669. }else{
  6670. for(HashMap list:list2){
  6671. if(!list.get("JUDGERESULT").toString().equals("0")){
  6672. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  6673. }
  6674. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  6675. throw new Exception("公差已锁定,不能做公差判定!");
  6676. }
  6677. }
  6678. }
  6679. }else{
  6680. throw new Exception("未找到库存信息!");
  6681. }
  6682. }
  6683. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  6684. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  6685. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'";
  6686. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '0'");
  6687. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '1'");
  6688. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " use_code = 'H' and SPECL_FL = '2'");
  6689. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  6690. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  6691. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  6692. siclist.add(slmOrdDesignStdSic);
  6693. }
  6694. boolean pass = true;
  6695. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  6696. pass = true;
  6697. for(QCMOrdDesignStdSic sic :siclist){
  6698. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6699. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6700. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6701. pass = false;
  6702. }
  6703. }
  6704. if(pass){
  6705. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  6706. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  6707. siclist.add(slmOrdDesignStdSic);
  6708. }
  6709. }
  6710. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  6711. pass = true;
  6712. for(QCMOrdDesignStdSic sic :siclist){
  6713. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  6714. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  6715. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  6716. pass = false;
  6717. }
  6718. }
  6719. if(pass){
  6720. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  6721. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  6722. siclist.add(slmOrdDesignStdSic);
  6723. }
  6724. }
  6725. /*for (QCMOrdDesignStdSic sic : listSic) {
  6726. for (QCMOrdDesignStdSic sick : listsick) {
  6727. if (sic.getBias_code().equals(sick.getBias_code())) {
  6728. siclist.remove(sic);
  6729. }
  6730. }
  6731. }*/
  6732. int count=0;
  6733. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  6734. String date=sdf.format(new Date());
  6735. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1";
  6736. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  6737. if(qjlist!=null&&qjlist.size()>0){
  6738. String s=qjlist.get(0).getSic_id();
  6739. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  6740. }
  6741. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  6742. // 插入QCM_JUDGE_MEASURE信息
  6743. count++;
  6744. String mst_id="S"+date+String.format("%05d", count);
  6745. // 厚宽长判定标识
  6746. pass = true;
  6747. boolean pass2 = true;
  6748. boolean judge = true;
  6749. String memo = "";
  6750. List<HashMap> hashmap = doQueryMaterialInfoBX(param1.get(1).toString());
  6751. if(hashmap.size() == 0){
  6752. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  6753. }
  6754. if(hashmap.size() ==0){
  6755. throw new Exception("未找到库存信息!");
  6756. }
  6757. // 自动判定
  6758. for(QCMOrdDesignStdSic sic:siclist){
  6759. String upperDeciation=null;
  6760. String upperDeciation_k = null;
  6761. String upperDeciation_n = null;
  6762. String drownDeciation=null;
  6763. String drownDeciation_k=null;
  6764. String drownDeciation_n=null;
  6765. if(StringUtils.isBlank(upperDeciation) && StringUtils.isBlank(upperDeciation_k) && StringUtils.isBlank(drownDeciation) && StringUtils.isBlank(drownDeciation_k)) {
  6766. throw new Exception(param1.get(0).toString() + "的订单标准未下发,请联系下发后再进行判定!");
  6767. }
  6768. //国标
  6769. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  6770. if (sic.getStd_max_val().contains("+")) {
  6771. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  6772. }else {
  6773. upperDeciation=sic.getStd_max_val();//上偏差
  6774. }
  6775. }
  6776. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  6777. if (sic.getStd_min_val().contains("-")) {
  6778. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  6779. }else {
  6780. drownDeciation=sic.getStd_min_val();//下偏差
  6781. }
  6782. }
  6783. //客户
  6784. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  6785. if (sic.getStd_max_val_k().contains("+")) {
  6786. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  6787. }else {
  6788. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  6789. }
  6790. }
  6791. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  6792. if (sic.getStd_min_val_k().contains("-")) {
  6793. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  6794. }else {
  6795. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  6796. }
  6797. }
  6798. //内控
  6799. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  6800. if (sic.getStd_max_val_n().contains("+")) {
  6801. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  6802. }else {
  6803. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  6804. }
  6805. }
  6806. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  6807. if (sic.getStd_min_val_n().contains("-")) {
  6808. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  6809. }else {
  6810. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  6811. }
  6812. }
  6813. int seq1 = 1;
  6814. for(List list:param2){
  6815. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  6816. {
  6817. double val=Double.parseDouble(list.get(1).toString());//判定
  6818. double val2=Double.parseDouble(list.get(4).toString());//机器
  6819. //判定和机器值先按特殊要求是否满足进行判定,无特殊要求按国标上下偏差进行判定
  6820. if(list.get(3).toString().equals("")){
  6821. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  6822. pass2=comOrtherVal(upperDeciation_k,drownDeciation_k,val2);
  6823. if(pass && pass2){//有一个不合格进行国标的判定
  6824. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  6825. pass2=comOrtherVal(upperDeciation,drownDeciation,val2);
  6826. pass = pass && pass2;
  6827. }
  6828. }else{
  6829. //判定和机器值先按特殊要求是否满足进行判定,无特殊要求按国标上下偏差进行判定
  6830. if(upperDeciation_k == null && drownDeciation_k == null){
  6831. pass=comOrtherVal(null,null,val);
  6832. pass2=comOrtherVal(null,null,val2);
  6833. }else if(upperDeciation_k == null){
  6834. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  6835. pass2=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val2);
  6836. }else if(drownDeciation_k == null)
  6837. {
  6838. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  6839. pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val2);
  6840. }else{
  6841. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  6842. pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val2);
  6843. }
  6844. if(pass && pass2){//有一个不合格进行国标的判定
  6845. if(upperDeciation == null && drownDeciation == null){
  6846. pass=comOrtherVal(null,null,val);
  6847. pass2=comOrtherVal(null,null,val2);
  6848. }else if(upperDeciation == null){
  6849. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  6850. pass2=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val2);
  6851. }else if(drownDeciation == null)
  6852. {
  6853. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  6854. pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val2);
  6855. }else{
  6856. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  6857. pass2=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val2);
  6858. }
  6859. pass = pass && pass2;
  6860. }
  6861. }
  6862. if(!pass){
  6863. //判定原因
  6864. if(memo == ""){
  6865. memo = sic.getBias_name() + list.get(1).toString();
  6866. }else{
  6867. memo += ","+sic.getBias_name() + list.get(1).toString();
  6868. }
  6869. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  6870. qjr.setMaterial_no(param1.get(1).toString());
  6871. qjr.setType_code("S");
  6872. qjr.setRecord_id(mst_id);
  6873. qjr.setSeq(seq1);
  6874. qjr.setPhy_code_s(sic.getBias_code());
  6875. qjr.setPhy_name_s(sic.getBias_name());
  6876. qjr.setCreate_name(param1.get(5).toString());
  6877. qjr.setVal1(list.get(1).toString());
  6878. qjr.setStdmax(sic.getStd_result_max());
  6879. if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){
  6880. qjr.setStdmax_sign("<=");
  6881. }
  6882. qjr.setStdmin(sic.getStd_result_min());
  6883. if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){
  6884. qjr.setStdmax_sign(">=");
  6885. }
  6886. qjr.setCreate_time(new Date());
  6887. seq1++;
  6888. mapper.insertQcmJudgeUltimateReason(qjr);
  6889. judge = false;
  6890. }
  6891. }
  6892. }
  6893. }
  6894. //写入判定记录表
  6895. qj.setSic_id(mst_id);
  6896. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  6897. qj.setMaterial_no(qj.getMaterial_no());
  6898. }else {
  6899. qj.setMaterial_no(param1.get(1).toString());
  6900. }
  6901. qj.setSic_is_lock(judge?"0":"1");
  6902. qj.setSic_result_code(judge?"1":"2");
  6903. qj.setSic_result_desc(judge?"合格":"不合格");
  6904. qj.setSic_memo(param1.get(4).toString());
  6905. qj.setJudge_name(param1.get(5).toString());
  6906. qj.setWrk_grp(param1.get(6).toString());
  6907. qj.setWrk_ord(param1.get(7).toString());
  6908. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  6909. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  6910. qj.setJudge_time(new Date());
  6911. //计划规格
  6912. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  6913. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  6914. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  6915. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  6916. //测量实绩
  6917. if(param3.size() > 0){
  6918. for(List listc : param3){
  6919. if(listc.get(0).toString().equals("传动侧")){
  6920. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6921. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  6922. }
  6923. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6924. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  6925. }
  6926. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6927. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  6928. }
  6929. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6930. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  6931. }
  6932. }else if(listc.get(0).toString().equals("中间")){
  6933. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6934. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  6935. }
  6936. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6937. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  6938. }
  6939. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6940. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  6941. }
  6942. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6943. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  6944. }
  6945. }else if(listc.get(0).toString().equals("操作侧")){
  6946. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  6947. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  6948. }
  6949. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  6950. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  6951. }
  6952. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  6953. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  6954. }
  6955. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  6956. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  6957. }
  6958. }
  6959. }
  6960. }
  6961. qj.setDesign_key(param1.get(0).toString());
  6962. qj.setMaterial_no(param1.get(1).toString());
  6963. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  6964. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  6965. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  6966. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  6967. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  6968. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  6969. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  6970. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  6971. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  6972. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  6973. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  6974. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  6975. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  6976. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  6977. qj.setLevel_code(param1.get(8).toString());
  6978. qj.setLevel_desc(param1.get(9).toString());
  6979. mapper.insertQCMJudgeMeasure(qj);
  6980. //判定实绩
  6981. for(List list:param2){
  6982. if(list.toString().contains("KB")){
  6983. //qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  6984. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  6985. }else if(list.toString().contains("KD")){
  6986. //qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  6987. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  6988. }else if(list.toString().contains("KF")){
  6989. //qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  6990. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  6991. }else{
  6992. qjmd.setPlan_val("");
  6993. }
  6994. qjmd.setSic_id(mst_id);
  6995. qjmd.setJudge_val(list.get(1).toString());
  6996. qjmd.setSic_item_code(list.get(0).toString());
  6997. qjmd.setSic_item_desc(list.get(2).toString());
  6998. mapper.insertQcmJudgeMeasureD(qjmd);
  6999. }
  7000. //更改库存表
  7001. if(list1.size() >0 || list2.size() >0){
  7002. if(list1.size()>0){
  7003. ZjResultAll zra = new ZjResultAll();
  7004. zra.setBilletid(param1.get(1).toString());
  7005. zra.setSizeresult(judge?"1":"2");
  7006. zra.setSizeresult_desc(judge?"合格":"不合格");
  7007. zra.setSic_is_lock(judge?"0":"1");
  7008. zra.setSizeid(mst_id);
  7009. mapper.UpdateJugeResultB(zra);
  7010. }else{
  7011. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  7012. zra.setCoil_no(param1.get(1).toString());
  7013. zra.setSizeresult(judge?"1":"2");
  7014. zra.setSizeresult_desc(judge?"合格":"不合格");
  7015. zra.setSic_is_lock(judge?"0":"1");
  7016. zra.setSizeid(mst_id);
  7017. mapper.UpdateJugeResultJ(zra);
  7018. }
  7019. }else{
  7020. throw new Exception("未找到库存信息!");
  7021. }
  7022. if(!judge){
  7023. //写入异常材处置表
  7024. count=0;
  7025. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  7026. sdf=new SimpleDateFormat("yyMMdd");
  7027. date=sdf.format(new Date());
  7028. String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  7029. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  7030. if(qjl.size() > 0){
  7031. count=qjl.get(0).getLock_seq();
  7032. }
  7033. count++;
  7034. //锁定记录号
  7035. int lock_seq=count;
  7036. String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  7037. //插入封锁表
  7038. qjlk.setLock_type_code("S");
  7039. qjlk.setLock_type_desc("公差检验");
  7040. qjlk.setMaterial_no(param1.get(1).toString());
  7041. qjlk.setLock_id(mst_id);
  7042. qjlk.setLock_seq(lock_seq);
  7043. qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  7044. qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7045. qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  7046. qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  7047. qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  7048. qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  7049. qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  7050. qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7051. qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  7052. qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  7053. qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  7054. qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  7055. qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  7056. qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  7057. qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  7058. qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  7059. qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  7060. qjlk.setFic_locking("1");
  7061. qjlk.setLock_name(param1.get(5).toString());
  7062. qjlk.setLock_memo(lock_memo);
  7063. mapper.insertQCMJudgeLocking(qjlk);
  7064. }
  7065. //更改库存表尺寸
  7066. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  7067. {
  7068. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  7069. }*/
  7070. QcmJudgeLog qjl = new QcmJudgeLog();
  7071. qjl.setJudge_type("R");
  7072. qjl.setMaterial_no(param1.get(1).toString());
  7073. qjl.setCreate_name("system");
  7074. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7075. mapper.insertQcmJudgeLog(qjl);
  7076. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  7077. qjog.setOperate_name(param1.get(5).toString());
  7078. qjog.setOperate_type("公差检验判定");
  7079. qjog.setParams(param1.get(1).toString());
  7080. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7081. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7082. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  7083. mapper.insertQcmJudgeOperateLog(qjog);
  7084. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  7085. if(list2.size() > 0) {
  7086. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  7087. if (hashmap.size() > 0) {
  7088. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,"");
  7089. }
  7090. }
  7091. SqlSession.commit();
  7092. /*Thread t1 = new Thread(){
  7093. @Override
  7094. public void run(){
  7095. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  7096. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  7097. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  7098. try {
  7099. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  7100. } catch (Exception e2) {
  7101. // TODO Auto-generated catch block
  7102. e2.printStackTrace();
  7103. }
  7104. try {
  7105. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  7106. } catch (Exception e1) {
  7107. // TODO Auto-generated catch block
  7108. e1.printStackTrace();
  7109. }
  7110. //综合判定
  7111. try {
  7112. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  7113. } catch (Exception e) {
  7114. // TODO Auto-generated catch block
  7115. e.printStackTrace();
  7116. }
  7117. }
  7118. };
  7119. t1.start();*/
  7120. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  7121. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  7122. qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  7123. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  7124. qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system");
  7125. if(judge){
  7126. //综合判定
  7127. qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString());
  7128. }*/
  7129. } catch (Exception e) {
  7130. cro.setV_errCode(-1);
  7131. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  7132. SqlSession.rollback();
  7133. }
  7134. SqlSession.close();
  7135. return cro;
  7136. }
  7137. /**
  7138. * 质量判定-卡量检测(未输入判定结果自动检测)
  7139. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  7140. * param2:编码、实绩、计划
  7141. * param3 测量实绩
  7142. * */
  7143. @SuppressWarnings("rawtypes")
  7144. public CoreReturnObject judgeByHuman2LZBmgc(ArrayList<List> params1,final ArrayList params2,final ArrayList param1,ArrayList<List> param2,ArrayList<List> param3) throws Exception{
  7145. try {
  7146. String result1 = "0";
  7147. String sql1 = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'";
  7148. List<HashMap> list5 = mapper.query(sql1);
  7149. String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  7150. String material_no = params2.get(0).toString();
  7151. String Inspection_lot = "";
  7152. List<HashMap> list2 = mapper.query(sql);
  7153. if(list2.size() > 0){
  7154. if(list2.get(0).get("JUDGERESULT").equals("4")){
  7155. throw new Exception("已判废品,不可操作!");
  7156. }
  7157. }
  7158. List<HashMap> hashmap3 = doQueryMaterialInfoLZNJ(param1.get(1).toString());
  7159. String inspection_lot = "";
  7160. if(param1==null||param1.size()==0 ){
  7161. cro.setV_errCode(-1);
  7162. cro.setV_errMsg("请传入参数!");
  7163. return cro;
  7164. }else{
  7165. if(list2.size() >0){
  7166. for(HashMap list:list2){
  7167. /*if(!list.get("JUDGERESULT").toString().equals("0")){
  7168. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  7169. }*/
  7170. if(!list.get("JUDGERESULT").toString().equals("0")){
  7171. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'");
  7172. if(list2.get(0).get("INSPECTION_LOT")==null){
  7173. inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot();
  7174. }else{
  7175. inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString();
  7176. }
  7177. mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot);
  7178. coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,"");
  7179. //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  7180. }
  7181. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  7182. throw new Exception("公差已锁定,不能做公差判定!");
  7183. }
  7184. if(list.get("SFU_IS_LOCK").equals("1") || list.get("SFD_IS_LOCK").equals("1") || list.get("SFE_IS_LOCK").equals("1")){
  7185. throw new Exception("表面已锁定,不能做表面检验登记!");
  7186. }
  7187. Inspection_lot = list.get("INSPECTION_LOT")== null?"":list.get("INSPECTION_LOT").toString();
  7188. }
  7189. }else{
  7190. throw new Exception("未找到库存信息!");
  7191. }
  7192. }
  7193. if((list5.get(0).get("ALO_C_ORD_INDIA")==null?"":list5.get(0).get("ALO_C_ORD_INDIA").toString()).equals(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())){
  7194. result1 = "1";
  7195. }
  7196. else{
  7197. result1 = "2";
  7198. }
  7199. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  7200. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'";
  7201. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  7202. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  7203. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  7204. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  7205. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  7206. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  7207. siclist.add(slmOrdDesignStdSic);
  7208. }
  7209. boolean pass = true;
  7210. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  7211. pass = true;
  7212. for(QCMOrdDesignStdSic sic :siclist){
  7213. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  7214. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  7215. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  7216. pass = false;
  7217. }
  7218. }
  7219. if(pass){
  7220. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  7221. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  7222. siclist.add(slmOrdDesignStdSic);
  7223. }
  7224. }
  7225. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  7226. pass = true;
  7227. for(QCMOrdDesignStdSic sic :siclist){
  7228. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  7229. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  7230. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  7231. pass = false;
  7232. }
  7233. }
  7234. if(pass){
  7235. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  7236. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  7237. siclist.add(slmOrdDesignStdSic);
  7238. }
  7239. }
  7240. /*for (QCMOrdDesignStdSic sic : listSic) {
  7241. for (QCMOrdDesignStdSic sick : listsick) {
  7242. if (sic.getBias_code().equals(sick.getBias_code())) {
  7243. siclist.remove(sic);
  7244. }
  7245. }
  7246. }*/
  7247. int count=0;
  7248. int icount = 0;
  7249. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  7250. String date=sdf.format(new Date());
  7251. String type = "U";
  7252. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1";
  7253. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  7254. sql = "select * from (select * from QCM_JUDGE_SURFACE where surface_id like '"+type+ date+"%' order by surface_id desc) where rownum <= 1 ";
  7255. List<QcmJudgeSurface> qsflist=mapper.queryQcmJudgeSurfaces(sql);
  7256. if(qjlist!=null&&qjlist.size()>0){
  7257. String s=qjlist.get(0).getSic_id();
  7258. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  7259. }
  7260. if (qsflist != null && qsflist.size() > 0) {
  7261. String s=qsflist.get(0).getSurface_id();
  7262. icount = Integer.parseInt(s.substring(s.length()-5,s.length()));
  7263. }
  7264. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  7265. // 插入QCM_JUDGE_MEASURE信息
  7266. count++;
  7267. icount++;
  7268. String mst_id="S"+date+String.format("%05d", count);
  7269. String sid=type+date + String.format("%05d",icount);
  7270. // 厚宽长判定标识
  7271. pass = true;
  7272. boolean judge = true;
  7273. boolean judgeBm = true;
  7274. String memo = "";
  7275. String flaw_area = "";
  7276. List<HashMap> hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  7277. if(hashmap.size() ==0){
  7278. throw new Exception("未找到库存信息!");
  7279. }
  7280. //插入表面实绩表
  7281. for(List qjs:params1){
  7282. if(qjs.get(0).toString().equals("1")){
  7283. flaw_area = qjs.get(4).toString();
  7284. }
  7285. }
  7286. if(flaw_area.equals("")){
  7287. if(params1.size() >0){
  7288. flaw_area = params1.get(0).get(4).toString();
  7289. }
  7290. }
  7291. QcmJudgeSurface qjsf = new QcmJudgeSurface();
  7292. qjsf.setSurface_id(sid);
  7293. qjsf.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  7294. qjsf.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7295. qjsf.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  7296. qjsf.setInspection_lot(Inspection_lot);
  7297. qjsf.setMaterial_no(material_no);
  7298. qjsf.setLevel_code(params2.get(3).toString());
  7299. qjsf.setLevel_desc(params2.get(4).toString());
  7300. qjsf.setSf_type(type);
  7301. qjsf.setSf_memo(params2.get(5).toString());
  7302. qjsf.setSfd_is_lock("0");
  7303. qjsf.setSfe_is_lock("0");
  7304. qjsf.setSfu_is_lock("0");
  7305. String result = "";
  7306. if(!params2.get(1).toString().equals("")){
  7307. result = params2.get(1).toString();
  7308. qjsf.setSf_result_code(params2.get(1).toString());
  7309. qjsf.setSf_result_desc(params2.get(2).toString());
  7310. /*if(flaw_area.equals("U")&&params2.get(1).toString().equals("2")){
  7311. qjsf.setSfu_is_lock("0");
  7312. }else if(flaw_area.equals("D")&&params2.get(1).toString().equals("2")){
  7313. qjsf.setSfd_is_lock("0");
  7314. }else if(flaw_area.equals("E")&&params2.get(1).toString().equals("2")){
  7315. qjsf.setSfe_is_lock("0");
  7316. }else if(params2.get(1).toString().equals("2")){
  7317. qjsf.setSfu_is_lock("0");
  7318. qjsf.setSfd_is_lock("0");
  7319. qjsf.setSfe_is_lock("0");
  7320. }*/
  7321. }else{
  7322. if(hashmap.get(0).get("DESIGN_KEY")==null){
  7323. result = "0";
  7324. qjsf.setSf_result_code(result);
  7325. qjsf.setSf_result_desc("待判");
  7326. }else{
  7327. result = getresult1(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString(),params2.get(3).toString());
  7328. qjsf.setSf_result_code(result);
  7329. qjsf.setSf_result_desc(result.equals("1")?"合格":(result.equals("2")?"不合格":"待判"));
  7330. }
  7331. /*if(flaw_area.equals("U")&&result.equals("2")){
  7332. qjsf.setSfu_is_lock("0");
  7333. }else if(flaw_area.equals("D")&&result.equals("2")){
  7334. qjsf.setSfd_is_lock("0");
  7335. }else if(flaw_area.equals("E")&&result.equals("2")){
  7336. qjsf.setSfe_is_lock("0");
  7337. }else if(result.equals("2")){
  7338. qjsf.setSfu_is_lock("0");
  7339. qjsf.setSfd_is_lock("0");
  7340. qjsf.setSfe_is_lock("0");
  7341. }*/
  7342. }
  7343. if("LT1".equals(hashmap.get(0).get("PLINE_CODE"))){
  7344. if(hashmap.get(0).get("STEEL_CODE").toString().contains("TC")||
  7345. hashmap.get(0).get("STEEL_CODE").toString().contains("EK")||
  7346. hashmap.get(0).get("STEEL_CODE").toString().contains("SPP-H")){
  7347. if("不合格".equals(params2.get(9).toString())){
  7348. result = "2";
  7349. qjsf.setSf_result_code(result);
  7350. qjsf.setSf_result_desc("不合格");
  7351. String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'N' where "
  7352. + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'";
  7353. mapper.upRZRemarks(sql11.toString());
  7354. }else if("合格".equals(params2.get(9).toString())){
  7355. String sql11 = "update c_tbc02_coil_comm t set t.MAOCI = 'Y' where "
  7356. + " t.OLD_SAMPL_NO = '"+params2.get(0).toString()+"'";
  7357. mapper.upRZRemarks(sql11.toString());
  7358. }else if("".equals(params2.get(9).toString())&& "0".equals(result)){
  7359. cro.setV_errCode(-1);
  7360. cro.setV_errMsg("物料["+material_no+"]表面需要判定边部毛刺,请勾选边部毛刺等级");
  7361. return cro;
  7362. }
  7363. }
  7364. }
  7365. qjsf.setDesign_key(hashmap.get(0).get("DESIGN_KEY")==null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  7366. qjsf.setOrder_no(hashmap.get(0).get("DESIGN_KEY")==null?"":hashmap.get(0).get("DESIGN_KEY").toString());
  7367. qjsf.setPsc(hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString());
  7368. qjsf.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  7369. qjsf.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  7370. qjsf.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  7371. qjsf.setWrk_ord(params2.get(7).toString());
  7372. qjsf.setWrk_grp(params2.get(8).toString());
  7373. qjsf.setJudge_name(params2.get(6).toString());
  7374. qjsf.setSf_memo(params2.get(5).toString());
  7375. qjsf.setStd_code(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString());
  7376. qjsf.setStd_name(hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString());
  7377. qjsf.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  7378. qjsf.setProd_name(hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  7379. qjsf.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null?"":hashmap.get(0).get("STEEL_CODE").toString());
  7380. qjsf.setSteel_name(hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  7381. mapper.insertQcmJudgeSurface(qjsf);
  7382. Long seq=1L;
  7383. List<QcmJudgeSurfaceFlaw> qjsflist = new ArrayList<QcmJudgeSurfaceFlaw>();
  7384. for(List qjs:params1){
  7385. QcmJudgeSurfaceFlaw qjsffs = new QcmJudgeSurfaceFlaw();
  7386. qjsffs.setPrimary_flag(qjs.get(0).toString());
  7387. qjsffs.setIs_repair("0");
  7388. qjsffs.setFlaw_seq(Long.parseLong(qjs.get(1).toString()));
  7389. qjsffs.setFlaw_code(qjs.get(2).toString());
  7390. qjsffs.setFlaw_desc(qjs.get(3).toString());
  7391. qjsffs.setFlaw_area(qjs.get(4).toString());
  7392. List<HashMap> lists = finddefecttype(qjs.get(2).toString());
  7393. if(lists.size()>0){
  7394. qjsffs.setFlaw_desc(lists.get(0).get("DEFECT_DESC")==null?"":lists.get(0).get("DEFECT_DESC").toString());
  7395. qjsffs.setFlaw_type_code(lists.get(0).get("DEFECT_TYPE_CODE")==null?"":lists.get(0).get("DEFECT_TYPE_CODE").toString());
  7396. qjsffs.setFlaw_type_desc(lists.get(0).get("DEFECT_TYPE_DESC") == null ?"":lists.get(0).get("DEFECT_TYPE_DESC").toString());
  7397. }
  7398. qjsffs.setFlaw_pos_code(qjs.get(5).toString());
  7399. qjsffs.setFlaw_pos_desc(qjs.get(6).toString());
  7400. qjsffs.setFlaw_dir_code(qjs.get(7).toString());
  7401. qjsffs.setFlaw_dir_desc(qjs.get(8).toString());
  7402. qjsffs.setFlaw_size_code(qjs.get(9).toString());
  7403. qjsffs.setFlaw_size_desc(qjs.get(10).toString());
  7404. qjsffs.setFlaw_lv_code(qjs.get(11).toString());
  7405. qjsffs.setFlaw_lv_desc(qjs.get(12).toString());
  7406. if(!qjs.get(13).equals("")){
  7407. qjsffs.setFlaw_quantity(Long.parseLong(qjs.get(13).toString()));
  7408. }
  7409. qjsffs.setMemo(qjs.get(14).toString());
  7410. qjsffs.setIs_repair(qjs.get(15).toString());
  7411. qjsffs.setFlaw_origin(qjs.get(16).toString());
  7412. qjsflist.add(qjsffs);
  7413. seq = Long.parseLong(qjs.get(1).toString());
  7414. seq++;
  7415. }
  7416. // 获取物料历史缺陷集合
  7417. String conn = "and material_no = '"+ material_no +"'";
  7418. sql = " select * from QCM_JUDGE_SURFACE where 1=1 "+conn+"";
  7419. List<QcmJudgeSurface> qjsListOld = mapper.queryQcmJudgeSurfaces(sql);
  7420. if(qjsListOld!=null && qjsListOld.size()>0){
  7421. String sufIdStr="";
  7422. for(QcmJudgeSurface qjs1 : qjsListOld){
  7423. if("".equals(sufIdStr))
  7424. sufIdStr += "'"+qjs1.getSurface_id()+"'";
  7425. else
  7426. sufIdStr += ",'"+qjs1.getSurface_id()+"'";
  7427. }
  7428. String condition = "and surface_id in ("+sufIdStr+")";
  7429. sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition+"";
  7430. List<QcmJudgeSurfaceFlaw> qjsffList = mapper.queryQcmJudgeSurfaceFlaw(sql);
  7431. String condition1 = "and surface_id in ("+sufIdStr+") and primary_flag ='1'";
  7432. sql = " select * from QCM_JUDGE_SURFACE_FLAW where 1=1 "+condition1+"";
  7433. List<QcmJudgeSurfaceFlaw> qjsffList1 = mapper.queryQcmJudgeSurfaceFlaw(sql);
  7434. // 之前已经登记过缺陷,则将此次所有缺陷都改为非主缺陷
  7435. if(qjsffList1!=null && qjsffList1.size()>0){
  7436. //将获取的缺陷实绩信息插入表面缺陷实绩表
  7437. for(QcmJudgeSurfaceFlaw qjsff1 : qjsflist){
  7438. if(!qjsffList1.get(0).getFlaw_code().equals(qjsff1.getFlaw_code())){
  7439. qjsff1.setPrimary_flag("0");
  7440. }
  7441. }
  7442. }
  7443. for(QcmJudgeSurfaceFlaw qjsf1:qjsffList){
  7444. Boolean flag = false;
  7445. for(QcmJudgeSurfaceFlaw qjsf2:qjsflist){
  7446. if(qjsf1.getFlaw_code().equals(qjsf2.getFlaw_code())){
  7447. flag = true;
  7448. break;
  7449. }
  7450. }
  7451. if(!flag){
  7452. qjsf1.setFlaw_seq(seq);
  7453. qjsflist.add(qjsf1);
  7454. seq++;
  7455. }
  7456. }
  7457. }
  7458. int seq1 = 0;
  7459. for(QcmJudgeSurfaceFlaw qjsff:qjsflist){
  7460. if(qjsff.getFlaw_area() == null){
  7461. continue;
  7462. }
  7463. //将获取的缺陷实绩信息插入表面缺陷实绩表
  7464. String[] strList = qjsff.getFlaw_area().split(",");
  7465. for(String str : strList){
  7466. qjsff.setSurface_id(sid);
  7467. qjsff.setFlaw_area(str);
  7468. qjsff.setCreate_name(params2.get(6).toString());//创建人
  7469. qjsff.setCreate_time(new Date());//创建时间
  7470. mapper.insertQcmJudgeSurfaceFlaw(qjsff);
  7471. seq1++;
  7472. }
  7473. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  7474. qjr.setMaterial_no(material_no);
  7475. qjr.setType_code(qjsff.getFlaw_area().equals("")?"U":qjsff.getFlaw_area());
  7476. qjr.setRecord_id(sid);
  7477. qjr.setSeq(seq1);
  7478. qjr.setPhy_code_s(qjsff.getFlaw_code());
  7479. qjr.setPhy_name_s(qjsff.getFlaw_desc());
  7480. qjr.setCreate_name(params2.get(6).toString());
  7481. qjr.setCreate_time(new Date());
  7482. mapper.insertQcmJudgeUltimateReason(qjr);
  7483. }
  7484. //更新库存表上表,下表,边部结果
  7485. if(list2.size() >0){
  7486. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  7487. zra.setCoil_no(material_no);
  7488. zra.setSurfaceresult("1");
  7489. zra.setSurfaceresult_desc("合格");
  7490. zra.setSurfaceid(sid);
  7491. zra.setSfd_is_lock("0");
  7492. zra.setSfe_is_lock("0");
  7493. zra.setSfu_is_lock("0");
  7494. zra.setUd_surface_result("1");
  7495. zra.setUd_surface_result_desc("合格");
  7496. zra.setUd_surface_result_id_desc(sid);
  7497. zra.setUp_surface_result("1");
  7498. zra.setUp_surface_result_desc("合格");
  7499. zra.setUp_surface_result_id_desc(sid);
  7500. zra.setMarginal_result("1");
  7501. zra.setMarginal_result_desc("合格");
  7502. zra.setMarginal_result_id_desc(sid);
  7503. //合格
  7504. if(!result.equals("1")){
  7505. if(type.equals("U")){
  7506. zra.setUp_surface_result(result);
  7507. zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判");
  7508. zra.setSfu_is_lock("0");
  7509. zra.setSurfaceresult(result);
  7510. zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判");
  7511. }
  7512. else if(type.equals("D")){
  7513. zra.setUd_surface_result(result);
  7514. zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判");
  7515. zra.setSfd_is_lock("0");
  7516. zra.setSurfaceresult(result);
  7517. zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判");
  7518. }
  7519. else if(type.equals("E")){
  7520. zra.setMarginal_result(result);
  7521. zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判");
  7522. zra.setSfe_is_lock("0");
  7523. zra.setSurfaceresult(result);
  7524. zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判");
  7525. }
  7526. else{
  7527. zra.setMarginal_result(result);
  7528. zra.setMarginal_result_desc(result.equals("2")?"不合格":"待判");
  7529. zra.setSfu_is_lock("0");
  7530. zra.setSurfaceresult(result);
  7531. zra.setSurfaceresult_desc(result.equals("2")?"不合格":"待判");
  7532. zra.setUp_surface_result(result);
  7533. zra.setUp_surface_result_desc(result.equals("2")?"不合格":"待判");
  7534. zra.setSfd_is_lock("0");
  7535. zra.setUd_surface_result(result);
  7536. zra.setUd_surface_result_desc(result.equals("2")?"不合格":"待判");
  7537. zra.setSfe_is_lock("0");
  7538. }
  7539. }
  7540. mapper.UpdateJugeResultJ(zra);
  7541. }
  7542. if(param1.get(2).toString().equals("")){
  7543. for(QCMOrdDesignStdSic sic:siclist){
  7544. String upperDeciation=null;
  7545. String upperDeciation_k = null;
  7546. String upperDeciation_n = null;
  7547. String drownDeciation=null;
  7548. String drownDeciation_k=null;
  7549. String drownDeciation_n=null;
  7550. //国标
  7551. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  7552. if (sic.getStd_max_val().contains("+")) {
  7553. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  7554. }else {
  7555. upperDeciation=sic.getStd_max_val();//上偏差
  7556. }
  7557. }
  7558. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  7559. if (sic.getStd_min_val().contains("-")) {
  7560. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  7561. }else {
  7562. drownDeciation=sic.getStd_min_val();//下偏差
  7563. }
  7564. }
  7565. //客户
  7566. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  7567. if (sic.getStd_max_val_k().contains("+")) {
  7568. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  7569. }else {
  7570. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  7571. }
  7572. }
  7573. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  7574. if (sic.getStd_min_val_k().contains("-")) {
  7575. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  7576. }else {
  7577. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  7578. }
  7579. }
  7580. //内控
  7581. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  7582. if (sic.getStd_max_val_n().contains("+")) {
  7583. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  7584. }else {
  7585. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  7586. }
  7587. }
  7588. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  7589. if (sic.getStd_min_val_n().contains("-")) {
  7590. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  7591. }else {
  7592. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  7593. }
  7594. }
  7595. for(List list:param2){
  7596. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  7597. {
  7598. double val=Double.parseDouble(list.get(1).toString());
  7599. if(upperDeciation_k != null && drownDeciation_k != null){
  7600. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  7601. if(pass){
  7602. if(upperDeciation_n == null && drownDeciation_n == null){
  7603. pass=comOrtherVal(null,null,val);
  7604. }else if(upperDeciation_n == null){
  7605. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  7606. }else if(drownDeciation_n == null)
  7607. {
  7608. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  7609. }else{
  7610. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  7611. }
  7612. }
  7613. }
  7614. else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) {
  7615. if(list.get(3).toString().equals("")){
  7616. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  7617. if(pass){
  7618. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  7619. if(pass){
  7620. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val);
  7621. }
  7622. }
  7623. }else{
  7624. if(upperDeciation == null && drownDeciation == null){
  7625. pass=comOrtherVal(null,null,val);
  7626. }else if(upperDeciation == null){
  7627. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  7628. }else if(drownDeciation == null)
  7629. {
  7630. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  7631. }else{
  7632. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  7633. }
  7634. /*if(pass){
  7635. if(upperDeciation_k == null && drownDeciation_k == null){
  7636. pass=comOrtherVal(null,null,val);
  7637. }else if(upperDeciation_k == null){
  7638. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  7639. }else if(drownDeciation_k == null)
  7640. {
  7641. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  7642. }else{
  7643. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  7644. }*/
  7645. if(pass){
  7646. if(upperDeciation_n == null && drownDeciation_n == null){
  7647. pass=comOrtherVal(null,null,val);
  7648. }else if(upperDeciation_n == null){
  7649. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  7650. }else if(drownDeciation_n == null)
  7651. {
  7652. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  7653. }else{
  7654. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  7655. }
  7656. }
  7657. }
  7658. }else {
  7659. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val);
  7660. }
  7661. if(!pass){
  7662. //判定原因
  7663. if(memo == ""){
  7664. memo = sic.getBias_name() + list.get(1).toString();
  7665. }else{
  7666. memo += ","+sic.getBias_name() + list.get(1).toString();
  7667. }
  7668. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  7669. qjr.setMaterial_no(param1.get(1).toString());
  7670. qjr.setType_code("S");
  7671. qjr.setRecord_id(mst_id);
  7672. qjr.setSeq(seq1);
  7673. qjr.setPhy_code_s(sic.getBias_code());
  7674. qjr.setPhy_name_s(sic.getBias_name());
  7675. qjr.setCreate_name(param1.get(5).toString());
  7676. qjr.setVal1(list.get(1).toString());
  7677. qjr.setStdmax(sic.getStd_result_max());
  7678. if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){
  7679. qjr.setStdmax_sign("<=");
  7680. }
  7681. qjr.setStdmin(sic.getStd_result_min());
  7682. if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){
  7683. qjr.setStdmax_sign(">=");
  7684. }
  7685. qjr.setCreate_time(new Date());
  7686. seq1++;
  7687. mapper.insertQcmJudgeUltimateReason(qjr);
  7688. judge = false;
  7689. }
  7690. }
  7691. }
  7692. }
  7693. }
  7694. else if(param1.get(2).toString().equals("1")){
  7695. judge = true;
  7696. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  7697. judge = false;
  7698. }
  7699. //写入判定记录表
  7700. qj.setSic_id(mst_id);
  7701. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  7702. qj.setMaterial_no(qj.getMaterial_no());
  7703. }else {
  7704. qj.setMaterial_no(param1.get(1).toString());
  7705. }
  7706. qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  7707. qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  7708. qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  7709. qj.setSic_memo(param1.get(4).toString());
  7710. qj.setJudge_name(param1.get(5).toString());
  7711. qj.setWrk_grp(param1.get(6).toString());
  7712. qj.setWrk_ord(param1.get(7).toString());
  7713. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  7714. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  7715. qj.setJudge_time(new Date());
  7716. //计划规格
  7717. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  7718. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  7719. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  7720. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  7721. //测量实绩
  7722. if(param3.size() > 0){
  7723. for(List listc : param3){
  7724. if(listc.get(0).toString().equals("传动侧")){
  7725. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  7726. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  7727. }
  7728. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  7729. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  7730. }
  7731. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  7732. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  7733. }
  7734. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  7735. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  7736. }
  7737. }else if(listc.get(0).toString().equals("中间")){
  7738. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  7739. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  7740. }
  7741. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  7742. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  7743. }
  7744. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  7745. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  7746. }
  7747. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  7748. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  7749. }
  7750. }else if(listc.get(0).toString().equals("操作侧")){
  7751. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  7752. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  7753. }
  7754. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  7755. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  7756. }
  7757. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  7758. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  7759. }
  7760. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  7761. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  7762. }
  7763. }
  7764. }
  7765. }
  7766. qj.setDesign_key(param1.get(0).toString());
  7767. qj.setMaterial_no(param1.get(1).toString());
  7768. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  7769. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  7770. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7771. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  7772. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  7773. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  7774. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  7775. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  7776. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  7777. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  7778. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  7779. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  7780. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  7781. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  7782. qj.setLevel_code(param1.get(8).toString());
  7783. qj.setLevel_desc(param1.get(9).toString());
  7784. mapper.insertQCMJudgeMeasure(qj);
  7785. //判定实绩
  7786. for(List list:param2){
  7787. if(list.toString().contains("KB")){
  7788. qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  7789. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  7790. }else if(list.toString().contains("KD")){
  7791. qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  7792. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  7793. }else if(list.toString().contains("KF")){
  7794. qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  7795. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  7796. }else{
  7797. qjmd.setPlan_val("");
  7798. }
  7799. qjmd.setSic_id(mst_id);
  7800. qjmd.setJudge_val(list.get(1).toString());
  7801. qjmd.setSic_item_code(list.get(0).toString());
  7802. qjmd.setSic_item_desc(list.get(2).toString());
  7803. mapper.insertQcmJudgeMeasureD(qjmd);
  7804. }
  7805. boolean Zresult = true;
  7806. //更改库存表
  7807. if(list2.size() >0){
  7808. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  7809. zra.setCoil_no(param1.get(1).toString());
  7810. if("SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){
  7811. if(judge){
  7812. zra.setSizeresult("1");
  7813. zra.setSizeresult_desc("合格");
  7814. Zresult = true;
  7815. }else{
  7816. zra.setSizeresult("2");
  7817. zra.setSizeresult_desc("不合格");
  7818. Zresult = false;
  7819. }
  7820. }else{
  7821. if(judge&&"1".equals(result1)){
  7822. zra.setSizeresult("1");
  7823. zra.setSizeresult_desc("合格");
  7824. Zresult = true;
  7825. }else{
  7826. zra.setSizeresult("2");
  7827. zra.setSizeresult_desc("不合格");
  7828. Zresult = false;
  7829. }
  7830. }
  7831. /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2"));
  7832. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/
  7833. /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  7834. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/
  7835. zra.setSic_is_lock("0");
  7836. zra.setSizeid(mst_id);
  7837. mapper.UpdateJugeResultJ(zra);
  7838. }else{
  7839. throw new Exception("未找到库存信息!");
  7840. }
  7841. QcmJudgeLog qjl = new QcmJudgeLog();
  7842. qjl.setJudge_type("R");
  7843. qjl.setMaterial_no(param1.get(1).toString());
  7844. qjl.setCreate_name("system");
  7845. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7846. mapper.insertQcmJudgeLog(qjl);
  7847. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  7848. qjog.setOperate_name(param1.get(5).toString());
  7849. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7850. qjog.setOperate_type("冷轧尺寸检验判定");
  7851. qjog.setParams(param1.get(1).toString());
  7852. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7853. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  7854. mapper.insertQcmJudgeOperateLog(qjog);
  7855. if(!"SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){
  7856. QcmJudgeOperateLog qjog2 = new QcmJudgeOperateLog();
  7857. qjog2.setOperate_name(param1.get(5).toString());
  7858. qjog2.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7859. qjog2.setOperate_type("冷轧内径检验判定");
  7860. qjog2.setParams(param1.get(1).toString());
  7861. qjog2.setMemo("订单内径:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" 实绩内径:"+(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString()));
  7862. qjog2.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  7863. qjog2.setJudge_result(result1);
  7864. mapper.insertQcmJudgeOperateLog(qjog2);
  7865. }
  7866. QcmJudgeOperateLog qjog1 = new QcmJudgeOperateLog();
  7867. qjog1.setOperate_name(params2.get(6).toString());
  7868. qjog1.setOperate_type("冷轧表面检验判定");
  7869. qjog1.setParams(material_no);
  7870. qjog1.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  7871. qjog1.setProd_line(hashmap.get(0).get("PLINE_CODE").toString());
  7872. qjog1.setJudge_result(result);
  7873. mapper.insertQcmJudgeOperateLog(qjog1);
  7874. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  7875. //把判定结果等情况写入库存表中
  7876. /*if(list2.size() > 0) {
  7877. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,"");
  7878. }*/
  7879. if (hashmap.size() > 0) {
  7880. if("1".equals(result)) {
  7881. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "1", null, null, null,params2.get(4).toString());
  7882. } else if("2".equals(result)) {
  7883. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "2", null, null, null,params2.get(4).toString());
  7884. }else if("0".equals(result)) {
  7885. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), material_no, null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), "", null, null, null,params2.get(4).toString());
  7886. }
  7887. }
  7888. SqlSession.commit();
  7889. /*Thread t1 = new Thread(){
  7890. @Override
  7891. public void run(){
  7892. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  7893. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  7894. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  7895. try {
  7896. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  7897. } catch (Exception e2) {
  7898. // TODO Auto-generated catch block
  7899. e2.printStackTrace();
  7900. }
  7901. try {
  7902. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  7903. } catch (Exception e1) {
  7904. // TODO Auto-generated catch block
  7905. e1.printStackTrace();
  7906. }
  7907. //综合判定
  7908. try {
  7909. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  7910. } catch (Exception e) {
  7911. // TODO Auto-generated catch block
  7912. e.printStackTrace();
  7913. }
  7914. }
  7915. };
  7916. t1.start();*/
  7917. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  7918. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  7919. qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  7920. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  7921. qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system");
  7922. if(judge){
  7923. //综合判定
  7924. qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString());
  7925. }*/
  7926. } catch (Exception e) {
  7927. cro.setV_errCode(-1);
  7928. cro.setV_errMsg("表面公差检验登记失败!"+e.getMessage());
  7929. SqlSession.rollback();
  7930. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2LZBmgc:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e);
  7931. }
  7932. SqlSession.close();
  7933. return cro;
  7934. }
  7935. @SuppressWarnings("rawtypes")
  7936. public CoreReturnObject judgeByHuman2(final ArrayList param1,ArrayList<List> param2,ArrayList<List> param3) throws Exception{
  7937. /*SqlSession SqlSession1 =
  7938. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  7939. QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class);*/
  7940. try {
  7941. String result = "0";
  7942. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  7943. List<HashMap> list1 = mapper.query(sql);
  7944. if(list1.size() > 0){
  7945. if(list1.get(0).get("JUDGERESULT").equals("4")){
  7946. throw new Exception("已判废品,不可操作!");
  7947. }
  7948. }
  7949. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  7950. String sql1 = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'";
  7951. List<HashMap> list5 = mapper.query(sql1);
  7952. List<HashMap> list2 = mapper.query(sql);
  7953. if(list2.size() > 0){
  7954. if(list2.get(0).get("JUDGERESULT").equals("4")){
  7955. throw new Exception("已判废品,不可操作!");
  7956. }
  7957. }
  7958. List<HashMap> hashmap3 = doQueryMaterialInfoLZNJ(param1.get(1).toString());
  7959. if((list5.get(0).get("ALO_C_ORD_INDIA")==null?"":list5.get(0).get("ALO_C_ORD_INDIA").toString()).equals(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString())){
  7960. result = "1";
  7961. }
  7962. else{
  7963. result = "2";
  7964. }
  7965. String inspection_lot = "";
  7966. List<HashMap> hashmap = doQueryMaterialInfoBX(param1.get(1).toString());
  7967. if(hashmap.size() == 0){
  7968. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  7969. }
  7970. if(hashmap.size() ==0){
  7971. throw new Exception("未找到库存信息!");
  7972. }
  7973. if(hashmap.get(0).get("DESIGN_KEY") == null){
  7974. throw new Exception("该物料无订单,不能进行公差判定");
  7975. }
  7976. if(param1==null||param1.size()==0 ){
  7977. cro.setV_errCode(-1);
  7978. cro.setV_errMsg("请传入参数!");
  7979. return cro;
  7980. }else{
  7981. if(list1.size() >0 || list2.size() >0){
  7982. if(list1.size()>0){
  7983. for(HashMap list:list1){
  7984. if(!list.get("JUDGERESULT").toString().equals("0")){
  7985. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  7986. }
  7987. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  7988. throw new Exception("公差已锁定,不能做公差判定!");
  7989. }
  7990. }
  7991. }else{
  7992. for(HashMap list:list2){
  7993. if(!list.get("JUDGERESULT").toString().equals("0")){
  7994. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'");
  7995. if(list2.get(0).get("INSPECTION_LOT")==null){
  7996. inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot();
  7997. }else{
  7998. inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString();
  7999. }
  8000. mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot);
  8001. coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,"");
  8002. //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  8003. }
  8004. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  8005. throw new Exception("公差已锁定,不能做公差判定!");
  8006. }
  8007. }
  8008. }
  8009. }else{
  8010. throw new Exception("未找到库存信息!");
  8011. }
  8012. }
  8013. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  8014. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  8015. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'";
  8016. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  8017. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  8018. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  8019. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  8020. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  8021. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  8022. siclist.add(slmOrdDesignStdSic);
  8023. }
  8024. boolean pass = true;
  8025. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  8026. pass = true;
  8027. for(QCMOrdDesignStdSic sic :siclist){
  8028. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  8029. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  8030. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  8031. pass = false;
  8032. }
  8033. }
  8034. if(pass){
  8035. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  8036. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  8037. siclist.add(slmOrdDesignStdSic);
  8038. }
  8039. }
  8040. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  8041. pass = true;
  8042. for(QCMOrdDesignStdSic sic :siclist){
  8043. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  8044. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  8045. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  8046. pass = false;
  8047. }
  8048. }
  8049. if(pass){
  8050. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  8051. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  8052. siclist.add(slmOrdDesignStdSic);
  8053. }
  8054. }
  8055. /*for (QCMOrdDesignStdSic sic : listSic) {
  8056. for (QCMOrdDesignStdSic sick : listsick) {
  8057. if (sic.getBias_code().equals(sick.getBias_code())) {
  8058. siclist.remove(sic);
  8059. }
  8060. }
  8061. }*/
  8062. int count=0;
  8063. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  8064. String date=sdf.format(new Date());
  8065. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1";
  8066. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  8067. if(qjlist!=null&&qjlist.size()>0){
  8068. String s=qjlist.get(0).getSic_id();
  8069. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  8070. }
  8071. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  8072. // 插入QCM_JUDGE_MEASURE信息
  8073. count++;
  8074. String mst_id="S"+date+String.format("%05d", count);
  8075. // 厚宽长判定标识
  8076. pass = true;
  8077. boolean judge = true;
  8078. String memo = "";
  8079. /*List<HashMap> hashmap = doQueryMaterialInfoBX(param1.get(1).toString());
  8080. if(hashmap.size() == 0){
  8081. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  8082. }
  8083. if(hashmap.size() ==0){
  8084. throw new Exception("未找到库存信息!");
  8085. }*/
  8086. // 自动判定
  8087. int seq1 = 1;
  8088. if(param1.get(2).toString().equals("")){
  8089. for(QCMOrdDesignStdSic sic:siclist){
  8090. String upperDeciation=null;
  8091. String upperDeciation_k = null;
  8092. String upperDeciation_n = null;
  8093. String drownDeciation=null;
  8094. String drownDeciation_k=null;
  8095. String drownDeciation_n=null;
  8096. //国标
  8097. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  8098. if (sic.getStd_max_val().contains("+")) {
  8099. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  8100. }else {
  8101. upperDeciation=sic.getStd_max_val();//上偏差
  8102. }
  8103. }
  8104. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  8105. if (sic.getStd_min_val().contains("-")) {
  8106. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  8107. }else {
  8108. drownDeciation=sic.getStd_min_val();//下偏差
  8109. }
  8110. }
  8111. //客户
  8112. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  8113. if (sic.getStd_max_val_k().contains("+")) {
  8114. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  8115. }else {
  8116. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  8117. }
  8118. }
  8119. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  8120. if (sic.getStd_min_val_k().contains("-")) {
  8121. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  8122. }else {
  8123. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  8124. }
  8125. }
  8126. //内控
  8127. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  8128. if (sic.getStd_max_val_n().contains("+")) {
  8129. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  8130. }else {
  8131. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  8132. }
  8133. }
  8134. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  8135. if (sic.getStd_min_val_n().contains("-")) {
  8136. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  8137. }else {
  8138. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  8139. }
  8140. }
  8141. for(List list:param2){
  8142. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  8143. {
  8144. double val=Double.parseDouble(list.get(1).toString());
  8145. if(upperDeciation_k != null && drownDeciation_k != null){
  8146. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8147. if(pass){
  8148. if(upperDeciation_n == null && drownDeciation_n == null){
  8149. pass=comOrtherVal(null,null,val);
  8150. }else if(upperDeciation_n == null){
  8151. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8152. }else if(drownDeciation_n == null)
  8153. {
  8154. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  8155. }else{
  8156. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8157. }
  8158. }
  8159. }
  8160. else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) {
  8161. if(list.get(3).toString().equals("")){
  8162. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  8163. if(pass){
  8164. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  8165. if(pass){
  8166. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val);
  8167. }
  8168. }
  8169. }else{
  8170. if(upperDeciation == null && drownDeciation == null){
  8171. pass=comOrtherVal(null,null,val);
  8172. }else if(upperDeciation == null){
  8173. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  8174. }else if(drownDeciation == null)
  8175. {
  8176. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  8177. }else{
  8178. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  8179. }
  8180. /*if(pass){
  8181. if(upperDeciation_k == null && drownDeciation_k == null){
  8182. pass=comOrtherVal(null,null,val);
  8183. }else if(upperDeciation_k == null){
  8184. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8185. }else if(drownDeciation_k == null)
  8186. {
  8187. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  8188. }else{
  8189. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8190. }*/
  8191. if(pass){
  8192. if(upperDeciation_n == null && drownDeciation_n == null){
  8193. pass=comOrtherVal(null,null,val);
  8194. }else if(upperDeciation_n == null){
  8195. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8196. }else if(drownDeciation_n == null)
  8197. {
  8198. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  8199. }else{
  8200. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8201. }
  8202. }
  8203. }
  8204. }else {
  8205. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val);
  8206. }
  8207. if(!pass){
  8208. //判定原因
  8209. if(memo == ""){
  8210. memo = sic.getBias_name() + list.get(1).toString();
  8211. }else{
  8212. memo += ","+sic.getBias_name() + list.get(1).toString();
  8213. }
  8214. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  8215. qjr.setMaterial_no(param1.get(1).toString());
  8216. qjr.setType_code("S");
  8217. qjr.setRecord_id(mst_id);
  8218. qjr.setSeq(seq1);
  8219. qjr.setPhy_code_s(sic.getBias_code());
  8220. qjr.setPhy_name_s(sic.getBias_name());
  8221. qjr.setCreate_name(param1.get(5).toString());
  8222. qjr.setVal1(list.get(1).toString());
  8223. qjr.setStdmax(sic.getStd_result_max());
  8224. if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){
  8225. qjr.setStdmax_sign("<=");
  8226. }
  8227. qjr.setStdmin(sic.getStd_result_min());
  8228. if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){
  8229. qjr.setStdmax_sign(">=");
  8230. }
  8231. qjr.setCreate_time(new Date());
  8232. seq1++;
  8233. mapper.insertQcmJudgeUltimateReason(qjr);
  8234. judge = false;
  8235. }
  8236. }
  8237. }
  8238. }
  8239. }
  8240. else if(param1.get(2).toString().equals("1")){
  8241. judge = true;
  8242. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  8243. judge = false;
  8244. }
  8245. //写入判定记录表
  8246. qj.setSic_id(mst_id);
  8247. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  8248. qj.setMaterial_no(qj.getMaterial_no());
  8249. }else {
  8250. qj.setMaterial_no(param1.get(1).toString());
  8251. }
  8252. qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  8253. qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8254. qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  8255. qj.setSic_memo(param1.get(4).toString());
  8256. qj.setJudge_name(param1.get(5).toString());
  8257. qj.setWrk_grp(param1.get(6).toString());
  8258. qj.setWrk_ord(param1.get(7).toString());
  8259. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  8260. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  8261. qj.setJudge_time(new Date());
  8262. //计划规格
  8263. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  8264. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  8265. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  8266. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  8267. //测量实绩
  8268. if(param3.size() > 0){
  8269. for(List listc : param3){
  8270. if(listc.get(0).toString().equals("传动侧")){
  8271. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8272. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  8273. }
  8274. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8275. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  8276. }
  8277. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8278. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  8279. }
  8280. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8281. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  8282. }
  8283. }else if(listc.get(0).toString().equals("中间")){
  8284. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8285. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  8286. }
  8287. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8288. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  8289. }
  8290. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8291. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  8292. }
  8293. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8294. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  8295. }
  8296. }else if(listc.get(0).toString().equals("操作侧")){
  8297. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8298. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  8299. }
  8300. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8301. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  8302. }
  8303. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8304. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  8305. }
  8306. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8307. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  8308. }
  8309. }
  8310. }
  8311. }
  8312. qj.setDesign_key(param1.get(0).toString());
  8313. qj.setMaterial_no(param1.get(1).toString());
  8314. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  8315. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  8316. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8317. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  8318. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  8319. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  8320. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  8321. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  8322. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  8323. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  8324. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  8325. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  8326. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  8327. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  8328. qj.setLevel_code(param1.get(8).toString());
  8329. qj.setLevel_desc(param1.get(9).toString());
  8330. mapper.insertQCMJudgeMeasure(qj);
  8331. //判定实绩
  8332. for(List list:param2){
  8333. if(list.toString().contains("KB")){
  8334. qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  8335. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  8336. }else if(list.toString().contains("KD")){
  8337. qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  8338. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  8339. }else if(list.toString().contains("KF")){
  8340. qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  8341. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  8342. }else{
  8343. qjmd.setPlan_val("");
  8344. }
  8345. qjmd.setSic_id(mst_id);
  8346. qjmd.setJudge_val(list.get(1).toString());
  8347. qjmd.setSic_item_code(list.get(0).toString());
  8348. qjmd.setSic_item_desc(list.get(2).toString());
  8349. mapper.insertQcmJudgeMeasureD(qjmd);
  8350. }
  8351. //更改库存表
  8352. /*String result = "0";
  8353. result = judgeByHuman2LZNJ(param1);*/
  8354. boolean Zresult = true;
  8355. if(list1.size() >0 || list2.size() >0){
  8356. if(list1.size()>0){
  8357. ZjResultAll zra = new ZjResultAll();
  8358. zra.setBilletid(param1.get(1).toString());
  8359. //230724公差新增内径判定结果
  8360. if(judge&&"1".equals(result)){
  8361. zra.setSizeresult("1");
  8362. zra.setSizeresult_desc("合格");
  8363. Zresult = true;
  8364. }else{
  8365. zra.setSizeresult("2");
  8366. zra.setSizeresult_desc("不合格");
  8367. Zresult = false;
  8368. }
  8369. /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2"));
  8370. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/
  8371. /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8372. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/
  8373. zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  8374. zra.setSizeid(mst_id);
  8375. mapper.UpdateJugeResultB(zra);
  8376. }else{
  8377. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  8378. zra.setCoil_no(param1.get(1).toString());
  8379. //230724公差新增内径判定结果
  8380. if("SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){
  8381. if(judge){
  8382. zra.setSizeresult("1");
  8383. zra.setSizeresult_desc("合格");
  8384. Zresult = true;
  8385. }else{
  8386. zra.setSizeresult("2");
  8387. zra.setSizeresult_desc("���ϸ�");
  8388. Zresult = false;
  8389. }
  8390. }else{
  8391. if(judge&&"1".equals(result)){
  8392. zra.setSizeresult("1");
  8393. zra.setSizeresult_desc("�ϸ�");
  8394. Zresult = true;
  8395. }else{
  8396. zra.setSizeresult("2");
  8397. zra.setSizeresult_desc("不合格");
  8398. Zresult = false;
  8399. }
  8400. }
  8401. /*zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2"));
  8402. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));*/
  8403. /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8404. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/
  8405. zra.setSic_is_lock("0");
  8406. zra.setSizeid(mst_id);
  8407. mapper.UpdateJugeResultJ(zra);
  8408. }
  8409. }else{
  8410. throw new Exception("未找到库存信息!");
  8411. }
  8412. // if(!judge && !param1.get(2).toString().equals("0")){
  8413. // //写入异常材处置表
  8414. // count=0;
  8415. // QCMJudgeLocking qjlk = new QCMJudgeLocking();
  8416. // sdf=new SimpleDateFormat("yyMMdd");
  8417. // date=sdf.format(new Date());
  8418. // String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  8419. // List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  8420. // if(qjl.size() > 0){
  8421. // count=qjl.get(0).getLock_seq();
  8422. // }
  8423. // count++;
  8424. // //锁定记录号
  8425. // int lock_seq=count;
  8426. // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  8427. // //插入封锁表
  8428. // qjlk.setLock_type_code("S");
  8429. // qjlk.setLock_type_desc("公差检验");
  8430. // qjlk.setMaterial_no(param1.get(1).toString());
  8431. // qjlk.setLock_id(mst_id);
  8432. // qjlk.setLock_seq(lock_seq);
  8433. // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  8434. // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8435. // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  8436. // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  8437. // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  8438. // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  8439. // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  8440. // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  8441. // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  8442. // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  8443. // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  8444. // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  8445. // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  8446. // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  8447. // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  8448. // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  8449. // qjlk.setFic_locking("1");
  8450. // qjlk.setLock_name(param1.get(5).toString());
  8451. // qjlk.setLock_memo(lock_memo);
  8452. // mapper.insertQCMJudgeLocking(qjlk);
  8453. // }
  8454. //更改库存表尺寸
  8455. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  8456. {
  8457. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  8458. }*/
  8459. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8460. qjog.setOperate_name(param1.get(5).toString());
  8461. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8462. qjog.setOperate_type("冷轧内径检验判定");
  8463. qjog.setParams(param1.get(1).toString());
  8464. qjog.setMemo("订单内径:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" 实绩内径:"+hashmap3.get(0).get("COIL_INDIA").toString());
  8465. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  8466. qjog.setJudge_result(result);
  8467. mapper.insertQcmJudgeOperateLog(qjog);
  8468. if(!"SZ1".equals(hashmap.get(0).get("PLINE_CODE"))){
  8469. QcmJudgeOperateLog qjog2 = new QcmJudgeOperateLog();
  8470. qjog2.setOperate_name(param1.get(5).toString());
  8471. qjog2.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8472. qjog2.setOperate_type("�����ھ������ж�");
  8473. qjog2.setParams(param1.get(1).toString());
  8474. qjog2.setMemo("�����ھ�:"+list5.get(0).get("ALO_C_ORD_INDIA").toString()+" ʵ���ھ�:"+(hashmap3.get(0).get("COIL_INDIA")==null?"":hashmap3.get(0).get("COIL_INDIA").toString()));
  8475. qjog2.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  8476. qjog2.setJudge_result(result);
  8477. mapper.insertQcmJudgeOperateLog(qjog2);
  8478. }
  8479. QcmJudgeLog qjl = new QcmJudgeLog();
  8480. qjl.setJudge_type("R");
  8481. qjl.setMaterial_no(param1.get(1).toString());
  8482. qjl.setCreate_name("system");
  8483. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  8484. mapper.insertQcmJudgeLog(qjl);
  8485. QcmJudgeOperateLog qjog1 = new QcmJudgeOperateLog();
  8486. qjog1.setOperate_name(param1.get(5).toString());
  8487. qjog1.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8488. qjog1.setOperate_type("冷轧尺寸检验判定");
  8489. qjog1.setParams(param1.get(1).toString());
  8490. qjog1.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  8491. qjog1.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8492. mapper.insertQcmJudgeOperateLog(qjog1);
  8493. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  8494. if(list2.size() > 0) {
  8495. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !Zresult?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,"");
  8496. }
  8497. SqlSession.commit();
  8498. /*Thread t1 = new Thread(){
  8499. @Override
  8500. public void run(){
  8501. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  8502. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  8503. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  8504. try {
  8505. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  8506. } catch (Exception e2) {
  8507. // TODO Auto-generated catch block
  8508. e2.printStackTrace();
  8509. }
  8510. try {
  8511. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  8512. } catch (Exception e1) {
  8513. // TODO Auto-generated catch block
  8514. e1.printStackTrace();
  8515. }
  8516. //综合判定
  8517. try {
  8518. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  8519. } catch (Exception e) {
  8520. // TODO Auto-generated catch block
  8521. e.printStackTrace();
  8522. }
  8523. }
  8524. };
  8525. t1.start();*/
  8526. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  8527. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  8528. qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  8529. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  8530. qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system");
  8531. if(judge){
  8532. //综合判定
  8533. qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString());
  8534. }*/
  8535. } catch (Exception e) {
  8536. cro.setV_errCode(-1);
  8537. cro.setV_errMsg("公差检验登记失败!"+e.getMessage());
  8538. SqlSession.rollback();
  8539. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e);
  8540. }
  8541. SqlSession.close();
  8542. return cro;
  8543. }
  8544. @SuppressWarnings("rawtypes")
  8545. public String judgeByHuman2LZNJ(final ArrayList param1 ){
  8546. String result = "0";
  8547. SqlSession SqlSession1 =
  8548. QCM.COMMUNAL.SqlSessionBuilder.openSqlSession();
  8549. QCM.COMMUNAL.OrderSqMapper mapper1 = SqlSession1.getMapper(QCM.COMMUNAL.OrderSqMapper.class);
  8550. try{
  8551. String sql = "select T.PAKMTH_TP ALO_PAKMTH_TP,T.C_ORD_INDIA ALO_C_ORD_INDIA ,T.PROD_LINE ALO_PROD_LINE from TBA01_ORD_LINE t where T.ORD_NO || t.ORD_SEQ = '"+param1.get(0).toString()+"'";
  8552. List<HashMap> list2 = mapper1.query(sql);
  8553. List<HashMap> hashmap = doQueryMaterialInfoLZNJ(param1.get(1).toString());
  8554. List<HashMap> hashmap2 = doQueryMaterialInfoJ1(param1.get(1).toString());
  8555. if(list2.get(0).get("ALO_C_ORD_INDIA").toString().equals(hashmap.get(0).get("COIL_INDIA").toString())){
  8556. result = "1";
  8557. }
  8558. else{
  8559. result = "2";
  8560. }
  8561. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  8562. qjog.setOperate_name(param1.get(5).toString());
  8563. qjog.setBatchno(hashmap2.get(0).get("BATCHNO") == null ?"":hashmap2.get(0).get("BATCHNO").toString());
  8564. qjog.setOperate_type("冷轧内径判定");
  8565. qjog.setParams(param1.get(1).toString());
  8566. qjog.setProd_line(hashmap2.get(0).get("PLINE_CODE") == null ?"":hashmap2.get(0).get("PLINE_CODE").toString());
  8567. qjog.setJudge_result(result);
  8568. mapper1.insertQcmJudgeOperateLog(qjog);
  8569. }catch (Exception e) {
  8570. cro.setV_errCode(-1);
  8571. cro.setV_errMsg("内径检验登记失败!"+e.getMessage());
  8572. SqlSession1.rollback();
  8573. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "】" + e);
  8574. }
  8575. SqlSession1.close();
  8576. return result;
  8577. }
  8578. /**
  8579. * 质量判定-卡量检测(未输入判定结果自动检测)
  8580. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  8581. * param2:编码、实绩、计划
  8582. * param3 测量实绩
  8583. * */
  8584. @SuppressWarnings("rawtypes")
  8585. public CoreReturnObject judgeByHumanRZ(final ArrayList param1,ArrayList<List> param2,ArrayList<List> param3) throws Exception{
  8586. try {
  8587. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  8588. List<HashMap> list1 = mapper.query(sql);
  8589. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  8590. List<HashMap> list2 = mapper.query(sql);
  8591. if(list1.size() > 0){
  8592. if(list1.get(0).get("JUDGERESULT").equals("4")){
  8593. throw new Exception("已判废品,不可操作!");
  8594. }
  8595. }else if(list2.size() > 0){
  8596. if(list2.get(0).get("JUDGERESULT").equals("4")){
  8597. throw new Exception("已判废品,不可操作!");
  8598. }
  8599. }
  8600. String inspection_lot = "";
  8601. List<HashMap> hashmap = doQueryMaterialInfoBX(param1.get(1).toString());
  8602. if(hashmap.size() == 0){
  8603. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  8604. }
  8605. if(hashmap.size() ==0){
  8606. throw new Exception("未找到库存信息!");
  8607. }
  8608. if(hashmap.get(0).get("DESIGN_KEY") == null){
  8609. throw new Exception("该物料无订单,不能进行公差判定");
  8610. }
  8611. if(param1==null||param1.size()==0 ){
  8612. cro.setV_errCode(-1);
  8613. cro.setV_errMsg("请传入参数!");
  8614. return cro;
  8615. }else{
  8616. if(list1.size() >0 || list2.size() >0){
  8617. if(list1.size()>0){
  8618. for(HashMap list:list1){
  8619. if(!list.get("JUDGERESULT").toString().equals("0")){
  8620. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  8621. }
  8622. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  8623. throw new Exception("公差已锁定,不能做公差判定!");
  8624. }
  8625. }
  8626. }else{
  8627. for(HashMap list:list2){
  8628. if(!list.get("JUDGERESULT").toString().equals("0")){
  8629. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'");
  8630. if(list2.get(0).get("INSPECTION_LOT")==null){
  8631. inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot();
  8632. }else{
  8633. inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString();
  8634. }
  8635. mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot);
  8636. coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,"");
  8637. //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  8638. }
  8639. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  8640. throw new Exception("公差已锁定,不能做公差判定!");
  8641. }
  8642. }
  8643. }
  8644. }else{
  8645. throw new Exception("未找到库存信息!");
  8646. }
  8647. }
  8648. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  8649. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  8650. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"'";
  8651. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  8652. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  8653. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  8654. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  8655. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  8656. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  8657. siclist.add(slmOrdDesignStdSic);
  8658. }
  8659. boolean pass = true;
  8660. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  8661. pass = true;
  8662. for(QCMOrdDesignStdSic sic :siclist){
  8663. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  8664. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  8665. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  8666. pass = false;
  8667. }
  8668. }
  8669. if(pass){
  8670. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  8671. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  8672. siclist.add(slmOrdDesignStdSic);
  8673. }
  8674. }
  8675. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  8676. pass = true;
  8677. for(QCMOrdDesignStdSic sic :siclist){
  8678. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  8679. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  8680. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  8681. pass = false;
  8682. }
  8683. }
  8684. if(pass){
  8685. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  8686. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  8687. siclist.add(slmOrdDesignStdSic);
  8688. }
  8689. }
  8690. /*for (QCMOrdDesignStdSic sic : listSic) {
  8691. for (QCMOrdDesignStdSic sick : listsick) {
  8692. if (sic.getBias_code().equals(sick.getBias_code())) {
  8693. siclist.remove(sic);
  8694. }
  8695. }
  8696. }*/
  8697. int count=0;
  8698. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  8699. String date=sdf.format(new Date());
  8700. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) where rownum <= 1";
  8701. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  8702. if(qjlist!=null&&qjlist.size()>0){
  8703. String s=qjlist.get(0).getSic_id();
  8704. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  8705. }
  8706. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  8707. // 插入QCM_JUDGE_MEASURE信息
  8708. count++;
  8709. String mst_id="S"+date+String.format("%05d", count);
  8710. // 厚宽长判定标识
  8711. pass = true;
  8712. boolean judge = true;
  8713. String memo = "";
  8714. // 自动判定
  8715. int seq1 = 1;
  8716. if(param1.get(2).toString().equals("")){
  8717. for(QCMOrdDesignStdSic sic:siclist){
  8718. String upperDeciation=null;
  8719. String upperDeciation_k = null;
  8720. String upperDeciation_n = null;
  8721. String drownDeciation=null;
  8722. String drownDeciation_k=null;
  8723. String drownDeciation_n=null;
  8724. //国标
  8725. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  8726. if (sic.getStd_max_val().contains("+")) {
  8727. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  8728. }else {
  8729. upperDeciation=sic.getStd_max_val();//上偏差
  8730. }
  8731. }
  8732. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  8733. if (sic.getStd_min_val().contains("-")) {
  8734. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  8735. }else {
  8736. drownDeciation=sic.getStd_min_val();//下偏差
  8737. }
  8738. }
  8739. //客户
  8740. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  8741. if (sic.getStd_max_val_k().contains("+")) {
  8742. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  8743. }else {
  8744. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  8745. }
  8746. }
  8747. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  8748. if (sic.getStd_min_val_k().contains("-")) {
  8749. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  8750. }else {
  8751. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  8752. }
  8753. }
  8754. //内控
  8755. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  8756. if (sic.getStd_max_val_n().contains("+")) {
  8757. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  8758. }else {
  8759. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  8760. }
  8761. }
  8762. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  8763. if (sic.getStd_min_val_n().contains("-")) {
  8764. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  8765. }else {
  8766. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  8767. }
  8768. }
  8769. for(List list:param2){
  8770. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  8771. {
  8772. if(sic.getBias_code().equals(list.get(0).toString())){
  8773. if(!list.get(1).toString().equals(list.get(3).toString())){
  8774. judge = false;
  8775. }
  8776. }
  8777. double val=Double.parseDouble(list.get(4).toString());
  8778. if(upperDeciation_k != null && drownDeciation_k != null){
  8779. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8780. if(pass){
  8781. if(upperDeciation_n == null && drownDeciation_n == null){
  8782. pass=comOrtherVal(null,null,val);
  8783. }else if(upperDeciation_n == null){
  8784. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8785. }else if(drownDeciation_n == null)
  8786. {
  8787. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  8788. }else{
  8789. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8790. }
  8791. }
  8792. }
  8793. else if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) {
  8794. if(list.get(3).toString().equals("")){
  8795. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  8796. if(pass){
  8797. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  8798. if(pass){
  8799. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val);
  8800. }
  8801. }
  8802. }else{
  8803. if(upperDeciation == null && drownDeciation == null){
  8804. pass=comOrtherVal(null,null,val);
  8805. }else if(upperDeciation == null){
  8806. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  8807. }else if(drownDeciation == null)
  8808. {
  8809. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  8810. }else{
  8811. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  8812. }
  8813. /*if(pass){
  8814. if(upperDeciation_k == null && drownDeciation_k == null){
  8815. pass=comOrtherVal(null,null,val);
  8816. }else if(upperDeciation_k == null){
  8817. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8818. }else if(drownDeciation_k == null)
  8819. {
  8820. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  8821. }else{
  8822. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  8823. }*/
  8824. if(pass){
  8825. if(upperDeciation_n == null && drownDeciation_n == null){
  8826. pass=comOrtherVal(null,null,val);
  8827. }else if(upperDeciation_n == null){
  8828. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8829. }else if(drownDeciation_n == null)
  8830. {
  8831. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  8832. }else{
  8833. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  8834. }
  8835. }
  8836. }
  8837. }else{
  8838. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val);
  8839. }
  8840. if(!pass||!judge){
  8841. //判定原因
  8842. if(memo == ""){
  8843. memo = sic.getBias_name() + list.get(1).toString();
  8844. }else{
  8845. memo += ","+sic.getBias_name() + list.get(1).toString();
  8846. }
  8847. QcmJudgeUltimateReason qjr = new QcmJudgeUltimateReason();
  8848. qjr.setMaterial_no(param1.get(1).toString());
  8849. qjr.setType_code("S");
  8850. qjr.setRecord_id(mst_id);
  8851. qjr.setSeq(seq1);
  8852. qjr.setPhy_code_s(sic.getBias_code());
  8853. qjr.setPhy_name_s(sic.getBias_name());
  8854. qjr.setCreate_name(param1.get(5).toString());
  8855. qjr.setVal1(list.get(1).toString());
  8856. qjr.setStdmax(sic.getStd_result_max());
  8857. if(sic.getStd_result_max()!=null || !"".equals(sic.getStd_result_max())){
  8858. qjr.setStdmax_sign("<=");
  8859. }
  8860. qjr.setStdmin(sic.getStd_result_min());
  8861. if(sic.getStd_result_min()!=null || !"".equals(sic.getStd_result_min())){
  8862. qjr.setStdmax_sign(">=");
  8863. }
  8864. qjr.setCreate_time(new Date());
  8865. seq1++;
  8866. mapper.insertQcmJudgeUltimateReason(qjr);
  8867. judge = false;
  8868. }
  8869. }
  8870. }
  8871. }
  8872. }
  8873. else if(param1.get(2).toString().equals("1")){
  8874. judge = true;
  8875. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  8876. judge = false;
  8877. }
  8878. //写入判定记录表
  8879. qj.setSic_id(mst_id);
  8880. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  8881. qj.setMaterial_no(qj.getMaterial_no());
  8882. }else {
  8883. qj.setMaterial_no(param1.get(1).toString());
  8884. }
  8885. qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  8886. qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8887. qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  8888. qj.setSic_memo(param1.get(4).toString());
  8889. qj.setJudge_name(param1.get(5).toString());
  8890. qj.setWrk_grp(param1.get(6).toString());
  8891. qj.setWrk_ord(param1.get(7).toString());
  8892. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  8893. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  8894. qj.setJudge_time(new Date());
  8895. //计划规格
  8896. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  8897. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  8898. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  8899. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  8900. //测量实绩
  8901. if(param3.size() > 0){
  8902. for(List listc : param3){
  8903. if(listc.get(0).toString().equals("传动侧")){
  8904. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8905. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  8906. }
  8907. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8908. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  8909. }
  8910. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8911. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  8912. }
  8913. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8914. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  8915. }
  8916. }else if(listc.get(0).toString().equals("中间")){
  8917. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8918. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  8919. }
  8920. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8921. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  8922. }
  8923. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8924. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  8925. }
  8926. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8927. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  8928. }
  8929. }else if(listc.get(0).toString().equals("操作侧")){
  8930. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  8931. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  8932. }
  8933. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  8934. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  8935. }
  8936. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  8937. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  8938. }
  8939. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  8940. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  8941. }
  8942. }
  8943. }
  8944. }
  8945. qj.setDesign_key(param1.get(0).toString());
  8946. qj.setMaterial_no(param1.get(1).toString());
  8947. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  8948. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  8949. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  8950. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  8951. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  8952. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  8953. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  8954. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  8955. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  8956. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  8957. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  8958. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  8959. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  8960. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  8961. qj.setLevel_code(param1.get(8).toString());
  8962. qj.setLevel_desc(param1.get(9).toString());
  8963. mapper.insertQCMJudgeMeasure(qj);
  8964. //判定实绩
  8965. for(List list:param2){
  8966. if(list.toString().contains("KS")){
  8967. qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  8968. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  8969. }else if(list.toString().contains("KT")){
  8970. qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  8971. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  8972. }else if(list.toString().contains("KF")){
  8973. qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  8974. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  8975. }else if(list.toString().contains("KB")){
  8976. qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  8977. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  8978. }else if(list.toString().contains("KD")){
  8979. qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  8980. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  8981. }else{
  8982. qjmd.setPlan_val("");
  8983. }
  8984. qjmd.setSic_id(mst_id);
  8985. qjmd.setJudge_val(list.get(1).toString());
  8986. qjmd.setSic_item_code(list.get(0).toString());
  8987. qjmd.setSic_item_desc(list.get(2).toString());
  8988. mapper.insertQcmJudgeMeasureD(qjmd);
  8989. }
  8990. //更改库存表
  8991. if(list1.size() >0 || list2.size() >0){
  8992. if(list1.size()>0){
  8993. ZjResultAll zra = new ZjResultAll();
  8994. zra.setBilletid(param1.get(1).toString());
  8995. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2"));
  8996. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));
  8997. /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  8998. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/
  8999. zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  9000. zra.setSizeid(mst_id);
  9001. mapper.UpdateJugeResultB(zra);
  9002. }else{
  9003. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  9004. zra.setCoil_no(param1.get(1).toString());
  9005. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("0")?"0":"2"));
  9006. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("0")?"待判":"不合格"));
  9007. /*zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9008. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));*/
  9009. zra.setSic_is_lock("0");
  9010. zra.setSizeid(mst_id);
  9011. mapper.UpdateJugeResultJ(zra);
  9012. }
  9013. }else{
  9014. throw new Exception("未找到库存信息!");
  9015. }
  9016. // if(!judge && !param1.get(2).toString().equals("0")){
  9017. // //写入异常材处置表
  9018. // count=0;
  9019. // QCMJudgeLocking qjlk = new QCMJudgeLocking();
  9020. // sdf=new SimpleDateFormat("yyMMdd");
  9021. // date=sdf.format(new Date());
  9022. // String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  9023. // List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  9024. // if(qjl.size() > 0){
  9025. // count=qjl.get(0).getLock_seq();
  9026. // }
  9027. // count++;
  9028. // //锁定记录号
  9029. // int lock_seq=count;
  9030. // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  9031. // //插入封锁表
  9032. // qjlk.setLock_type_code("S");
  9033. // qjlk.setLock_type_desc("公差检验");
  9034. // qjlk.setMaterial_no(param1.get(1).toString());
  9035. // qjlk.setLock_id(mst_id);
  9036. // qjlk.setLock_seq(lock_seq);
  9037. // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9038. // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9039. // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9040. // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  9041. // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  9042. // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9043. // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9044. // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9045. // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  9046. // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  9047. // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9048. // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  9049. // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9050. // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9051. // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9052. // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9053. // qjlk.setFic_locking("1");
  9054. // qjlk.setLock_name(param1.get(5).toString());
  9055. // qjlk.setLock_memo(lock_memo);
  9056. // mapper.insertQCMJudgeLocking(qjlk);
  9057. // }
  9058. //更改库存表尺寸
  9059. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  9060. {
  9061. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  9062. }*/
  9063. QcmJudgeLog qjl = new QcmJudgeLog();
  9064. qjl.setJudge_type("R");
  9065. qjl.setMaterial_no(param1.get(1).toString());
  9066. qjl.setCreate_name("system");
  9067. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9068. mapper.insertQcmJudgeLog(qjl);
  9069. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  9070. qjog.setOperate_name(param1.get(5).toString());
  9071. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9072. qjog.setOperate_type("热轧公差检验判定");
  9073. qjog.setParams(param1.get(1).toString());
  9074. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9075. //qjog.setOperation_interface("QCM030305RZ");
  9076. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9077. mapper.insertQcmJudgeOperateLog(qjog);
  9078. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  9079. if(list2.size() > 0) {
  9080. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !judge?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,"");
  9081. }
  9082. SqlSession.commit();
  9083. /*Thread t1 = new Thread(){
  9084. @Override
  9085. public void run(){
  9086. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  9087. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9088. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  9089. try {
  9090. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  9091. } catch (Exception e2) {
  9092. // TODO Auto-generated catch block
  9093. e2.printStackTrace();
  9094. }
  9095. try {
  9096. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  9097. } catch (Exception e1) {
  9098. // TODO Auto-generated catch block
  9099. e1.printStackTrace();
  9100. }
  9101. //综合判定
  9102. try {
  9103. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  9104. } catch (Exception e) {
  9105. // TODO Auto-generated catch block
  9106. e.printStackTrace();
  9107. }
  9108. }
  9109. };
  9110. t1.start();*/
  9111. /*//调用熔炼成分判定 RlChemAutoJudgeByHuman
  9112. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  9113. qje.RlChemAutoJudgeByHuman1(hashmap,hashmap.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap.get(0).get("DESIGN_KEY").toString(),"system",hashmap.get(0).get("GRADE_NAME")==null?"":hashmap.get(0).get("GRADE_NAME").toString());
  9114. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9115. qjpc.FirstJudgeAutoBySystem(hashmap,param1.get(1).toString(),"system");
  9116. if(judge){
  9117. //综合判定
  9118. qjpc.ultimateJudgeAutoBySystem(hashmap,param1.get(1).toString(), param1.get(5).toString());
  9119. }*/
  9120. } catch (Exception e) {
  9121. cro.setV_errCode(-1);
  9122. cro.setV_errMsg("公差检验登记失败!"+e.getMessage());
  9123. SqlSession.rollback();
  9124. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman2:【" + param1.toString() + "," + param2.toString() + "," + param3.toString() + "】" + e);
  9125. }
  9126. SqlSession.close();
  9127. return cro;
  9128. }
  9129. /**
  9130. * 质量判定-卡量检测(未输入判定结果自动检测)
  9131. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  9132. * param2:编码、实绩、计划
  9133. * param3 测量实绩
  9134. * */
  9135. @SuppressWarnings({ "rawtypes", "unchecked" })
  9136. public CoreReturnObject judgeByHuman1(final ArrayList param1,ArrayList<List> param3) throws Exception{
  9137. String material_no = param1.get(1).toString();
  9138. List<HashMap> hashmap = new ArrayList<HashMap>();
  9139. //判断是否进行综合判定,是否在库
  9140. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  9141. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' ";
  9142. hashmap1 = mapper.query(sql);
  9143. if(hashmap1.size() > 0){
  9144. if(hashmap1.get(0).get("JUDGERESULT").equals("4")){
  9145. throw new Exception("已判废品,不可操作!");
  9146. }
  9147. }
  9148. if(hashmap1.size() > 0) {
  9149. List<HashMap> list1 = mapper.query(sql);
  9150. sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'"
  9151. + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' UNION ALL "
  9152. + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "' union all "
  9153. + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" + param1.get(1).toString() + "'";
  9154. hashmap = mapper.query(sql);
  9155. if (hashmap.size() == 0) {
  9156. throw new Exception("未找到在库的库存信息!");
  9157. }
  9158. //撤销判定
  9159. cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString());
  9160. }
  9161. if(material_no.startsWith("Z")){
  9162. hashmap = mapper.doQueryMaterialInfoZB(material_no);
  9163. }else{
  9164. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  9165. }
  9166. if(hashmap.size() == 0){
  9167. if(material_no.startsWith("H")){
  9168. hashmap = mapper.doQueryMaterialInfoZB(material_no);
  9169. }else{
  9170. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  9171. }
  9172. }
  9173. try {
  9174. if(hashmap.size() == 0){
  9175. throw new Exception("未找到库存信息!");
  9176. }
  9177. sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  9178. List<HashMap> list1 = mapper.query(sql);
  9179. if(param1==null||param1.size()==0){
  9180. cro.setV_errCode(-1);
  9181. cro.setV_errMsg("请传入参数!");
  9182. return cro;
  9183. }else{
  9184. if(list1.size() >0){
  9185. for(HashMap list:list1){
  9186. if(!list.get("JUDGERESULT").toString().equals("0")){
  9187. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  9188. }
  9189. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  9190. throw new Exception("公差已锁定,不能做公差判定!");
  9191. }
  9192. }
  9193. }else{
  9194. throw new Exception("未找到库存信息!");
  9195. }
  9196. }
  9197. int count=0;
  9198. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  9199. String date=sdf.format(new Date());
  9200. sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1";
  9201. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  9202. if(qjlist!=null&&qjlist.size()>0){
  9203. String s=qjlist.get(0).getSic_id();
  9204. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  9205. }
  9206. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  9207. // 插入QCM_JUDGE_MEASURE信息
  9208. count++;
  9209. String mst_id="SB"+date+String.format("%05d", count);
  9210. // 厚宽长判定标识
  9211. boolean pass = true;
  9212. boolean judge = true;
  9213. String memo = "";
  9214. if(param1.get(2).toString().equals("1")){
  9215. judge = true;
  9216. }else if(param1.get(2).toString().equals("2")){
  9217. judge = false;
  9218. }else if(param1.get(2).toString().equals("0")){
  9219. judge = true;
  9220. }
  9221. //写入判定记录表
  9222. qj.setSic_id(mst_id);
  9223. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  9224. qj.setMaterial_no(qj.getMaterial_no());
  9225. }else {
  9226. qj.setMaterial_no(param1.get(1).toString());
  9227. }
  9228. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){
  9229. qj.setSic_is_lock("0");
  9230. }else{
  9231. qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  9232. }
  9233. qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9234. qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  9235. qj.setSic_memo(param1.get(4).toString());
  9236. qj.setJudge_name(param1.get(5).toString());
  9237. qj.setWrk_grp(param1.get(6).toString());
  9238. qj.setWrk_ord(param1.get(7).toString());
  9239. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  9240. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  9241. qj.setJudge_time(new Date());
  9242. //计划规格
  9243. //测量实绩
  9244. if(param3.size() > 0){
  9245. for(List listc : param3){
  9246. if(listc.get(0).toString().equals("头")){
  9247. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9248. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  9249. }
  9250. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9251. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  9252. }
  9253. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9254. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  9255. }
  9256. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9257. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  9258. }
  9259. }else if(listc.get(0).toString().equals("中")){
  9260. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9261. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  9262. }
  9263. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9264. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  9265. }
  9266. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9267. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  9268. }
  9269. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9270. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  9271. }
  9272. }else if(listc.get(0).toString().equals("尾")){
  9273. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9274. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  9275. }
  9276. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9277. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  9278. }
  9279. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9280. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  9281. }
  9282. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9283. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  9284. }
  9285. }
  9286. }
  9287. }
  9288. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  9289. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  9290. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  9291. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  9292. qj.setDesign_key(param1.get(0).toString());
  9293. qj.setMaterial_no(param1.get(1).toString());
  9294. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9295. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9296. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9297. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  9298. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9299. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9300. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9301. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  9302. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9303. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  9304. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9305. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9306. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9307. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9308. qj.setLevel_code(param1.get(8).toString());
  9309. qj.setLevel_desc(param1.get(9).toString());
  9310. if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){
  9311. throw new Exception("检验结果与质量等级不匹配!");
  9312. }else if(qj.getSic_result_code().equals("1") && !qj.getLevel_desc().contains("正品")){
  9313. throw new Exception("检验结果与质量等级不匹配!");
  9314. }else if(qj.getSic_result_code().equals("2") && (qj.getLevel_desc().contains("正品") || qj.getLevel_desc().contains("待处理"))){
  9315. throw new Exception("检验结果与质量等级不匹配!");
  9316. }
  9317. mapper.insertQCMJudgeMeasure(qj);
  9318. //判定实绩
  9319. CoreReturnObject cicModel=this.getToleranceNew1(hashmap,param1.get(0).toString(),param1.get(1).toString());
  9320. List<QCMOrdDesignStdSic> stdSic= (List<QCMOrdDesignStdSic>) cicModel.getResult();
  9321. for(QCMOrdDesignStdSic list:stdSic){
  9322. if(list.getBias_code().toString().contains("KB")){
  9323. qjmd.setJudge_val(list.getVal().toString());
  9324. qjmd.setPlan_val(list.getPlan());
  9325. }else if(list.getBias_code().toString().contains("KD")){
  9326. qjmd.setJudge_val(list.getVal().toString());
  9327. qjmd.setPlan_val(list.getPlan());
  9328. }else if(list.getBias_code().toString().contains("KF")){
  9329. qjmd.setJudge_val(list.getVal().toString());
  9330. qjmd.setPlan_val(list.getPlan());
  9331. }else{
  9332. qjmd.setPlan_val("");
  9333. qjmd.setJudge_val("");
  9334. }
  9335. qjmd.setSic_id(mst_id);
  9336. qjmd.setSic_item_code(list.getBias_code());
  9337. qjmd.setSic_item_desc(list.getBias_name());
  9338. mapper.insertQcmJudgeMeasureD(qjmd);
  9339. }
  9340. //更改库存表
  9341. if(list1.size() >0){
  9342. ZjResultAll zra = new ZjResultAll();
  9343. zra.setBilletid(param1.get(1).toString());
  9344. zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9345. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  9346. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品"))){
  9347. zra.setSic_is_lock("0");
  9348. }else{
  9349. zra.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  9350. }
  9351. zra.setSizeid(mst_id);
  9352. mapper.UpdateJugeResultB(zra);
  9353. }else{
  9354. throw new Exception("未找到库存信息!");
  9355. }
  9356. if(qj.getSic_result_code().equals("2")){
  9357. //写入异常材处置表
  9358. count=0;
  9359. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  9360. sdf=new SimpleDateFormat("yyMMdd");
  9361. date=sdf.format(new Date());
  9362. String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  9363. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  9364. if(qjl.size() > 0){
  9365. count=qjl.get(0).getLock_seq();
  9366. }
  9367. count++;
  9368. //锁定记录号
  9369. int lock_seq=count;
  9370. String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  9371. //插入封锁表
  9372. qjlk.setLock_type_code("S");
  9373. qjlk.setLock_type_desc("公差检验");
  9374. qjlk.setMaterial_no(param1.get(1).toString());
  9375. qjlk.setLock_id(mst_id);
  9376. qjlk.setLock_seq(lock_seq);
  9377. qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9378. qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9379. qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9380. qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  9381. qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  9382. qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9383. qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9384. qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9385. qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  9386. qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  9387. qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9388. qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  9389. qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9390. qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9391. qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9392. qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9393. qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  9394. qjlk.setFic_locking("1");
  9395. qjlk.setLock_name(param1.get(5).toString());
  9396. qjlk.setLock_memo(lock_memo);
  9397. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){
  9398. qjlk.setUnlock_type_code("6");
  9399. qjlk.setUnlock_type_desc("脱单");
  9400. qjlk.setUnlock_memo("系统自动脱单");
  9401. qjlk.setUnlock_name(param1.get(5).toString());
  9402. qjlk.setUnlock_time(new Date());
  9403. }
  9404. mapper.insertQCMJudgeLocking(qjlk);
  9405. }
  9406. //更改库存表尺寸
  9407. if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  9408. {
  9409. String aJudgeType = judge?"412701":(param1.get(2).toString().equals("2")?"412710":"412705");
  9410. GetAddweight("","","",param1.get(1).toString(),aJudgeType,param1.get(4).toString());
  9411. }
  9412. if((param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H")) && (param1.get(9).toString().equals("订单外") || param1.get(9).toString().equals("协议品") || param1.get(9).toString().equals("次品") || param1.get(9).toString().equals("废品") || qj.getSic_result_code().equals("2"))){
  9413. order_down(param1.get(1).toString(),"公差判定:" + param1.get(9).toString());
  9414. }
  9415. QcmJudgeLog qjl = new QcmJudgeLog();
  9416. qjl.setJudge_type("R");
  9417. qjl.setMaterial_no(param1.get(1).toString());
  9418. qjl.setCreate_name("system");
  9419. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9420. mapper.insertQcmJudgeLog(qjl);
  9421. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  9422. qjog.setOperate_name(param1.get(5).toString());
  9423. qjog.setOperate_type("公差检验判定");
  9424. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9425. qjog.setParams(param1.get(1).toString());
  9426. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9427. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9428. mapper.insertQcmJudgeOperateLog(qjog);
  9429. SqlSession.commit();
  9430. } catch (Exception e) {
  9431. cro.setV_errCode(-1);
  9432. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  9433. SqlSession.rollback();
  9434. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHuman1:【" + param1.toString() + "," + param3.toString() + "】" + e);
  9435. }
  9436. SqlSession.close();
  9437. /*final List<HashMap> hashmap1 = hashmap;
  9438. Thread t1 = new Thread(){
  9439. @Override
  9440. public void run(){
  9441. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  9442. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  9443. try {
  9444. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  9445. } catch (Exception e2) {
  9446. // TODO Auto-generated catch block
  9447. e2.printStackTrace();
  9448. }
  9449. }
  9450. };
  9451. t1.start();
  9452. Thread t2 = new Thread(){
  9453. @Override
  9454. public void run(){
  9455. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9456. try {
  9457. qjpc.FirstJudgeAutoBySystem(hashmap1,param1.get(1).toString(),"system");
  9458. } catch (Exception e1) {
  9459. // TODO Auto-generated catch block
  9460. e1.printStackTrace();
  9461. }
  9462. }
  9463. };
  9464. t2.start();
  9465. Thread t3 = new Thread(){
  9466. @Override
  9467. public void run(){
  9468. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9469. //综合判定
  9470. try {
  9471. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  9472. } catch (Exception e) {
  9473. // TODO Auto-generated catch block
  9474. e.printStackTrace();
  9475. }
  9476. }
  9477. };
  9478. t3.start();*/
  9479. return cro;
  9480. }
  9481. /**
  9482. * 质量判定-卡量检测(未输入判定结果自动检测)
  9483. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  9484. * param2:编码、实绩、计划
  9485. * param3 测量实绩
  9486. * */
  9487. @SuppressWarnings("rawtypes")
  9488. public CoreReturnObject judgeByHumanJ(final ArrayList param1,ArrayList<List> param3) throws Exception{
  9489. String material_no = param1.get(1).toString();
  9490. List<HashMap> hashmap = mapper.doQueryMaterialInfoJ(material_no);
  9491. try {
  9492. if(hashmap.size() == 0){
  9493. throw new Exception("未找到库存信息!");
  9494. }
  9495. String sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  9496. List<HashMap> list2 = mapper.query(sql);
  9497. if(list2.size() > 0){
  9498. if(list2.get(0).get("JUDGERESULT").equals("4")){
  9499. throw new Exception("已判废品,不可操作!");
  9500. }
  9501. }
  9502. String inspection_lot = "";
  9503. if(hashmap.size() ==0){
  9504. throw new Exception("未找到库存信息!");
  9505. }
  9506. if(hashmap.get(0).get("DESIGN_KEY") == null){
  9507. throw new Exception("该物料无订单,不能进行公差判定");
  9508. }
  9509. if(param1==null||param1.size()==0){
  9510. cro.setV_errCode(-1);
  9511. cro.setV_errMsg("请传入参数!");
  9512. return cro;
  9513. }else{
  9514. if( list2.size() >0){
  9515. for(HashMap list:list2){
  9516. if(!list.get("JUDGERESULT").toString().equals("0")){
  9517. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+list.get("JUDGEID")+"'");
  9518. if(list2.get(0).get("INSPECTION_LOT")==null){
  9519. inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot();
  9520. }else{
  9521. inspection_lot = list2.get(0).get("INSPECTION_LOT")==null?"":list2.get(0).get("INSPECTION_LOT").toString();
  9522. }
  9523. mapper.clearJUDGERESULT1(param1.get(1).toString(),inspection_lot);
  9524. coiljudge_status_call(qju.get(0).getPline_code(), param1.get(1).toString(), null, null, null, null, "D", null, null,"");
  9525. //throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  9526. }
  9527. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  9528. throw new Exception("公差已锁定,不能做公差判定!");
  9529. }
  9530. }
  9531. }else{
  9532. throw new Exception("未找到库存信息!");
  9533. }
  9534. }
  9535. int count=0;
  9536. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  9537. String date=sdf.format(new Date());
  9538. sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'S"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1";
  9539. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  9540. if(qjlist!=null&&qjlist.size()>0){
  9541. String s=qjlist.get(0).getSic_id();
  9542. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  9543. }
  9544. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  9545. // 插入QCM_JUDGE_MEASURE信息
  9546. count++;
  9547. String mst_id="S"+date+String.format("%05d", count);
  9548. // 厚宽长判定标识
  9549. boolean pass = true;
  9550. boolean judge = true;
  9551. String memo = "";
  9552. if(param1.get(2).toString().equals("1")){
  9553. judge = true;
  9554. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  9555. judge = false;
  9556. }
  9557. //写入判定记录表
  9558. qj.setSic_id(mst_id);
  9559. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  9560. qj.setMaterial_no(qj.getMaterial_no());
  9561. }else {
  9562. qj.setMaterial_no(param1.get(1).toString());
  9563. }
  9564. qj.setSic_is_lock(!judge?"1":(param1.get(2).toString().equals("0")?"0":"0"));
  9565. qj.setSic_result_code(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9566. qj.setSic_result_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  9567. qj.setSic_memo(param1.get(4).toString());
  9568. qj.setJudge_name(param1.get(5).toString());
  9569. qj.setWrk_grp(param1.get(6).toString());
  9570. qj.setWrk_ord(param1.get(7).toString());
  9571. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  9572. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  9573. qj.setJudge_time(new Date());
  9574. //计划规格
  9575. //测量实绩
  9576. if(param3.size() > 0){
  9577. for(List listc : param3){
  9578. if(listc.get(0).toString().equals("传动侧")){
  9579. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9580. qj.setSouth_thick_val(Double.parseDouble(listc.get(1).toString()));
  9581. }
  9582. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9583. qj.setSouth_h_val(Double.parseDouble(listc.get(2).toString()));
  9584. }
  9585. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9586. qj.setMiddle_h_val(Double.parseDouble(listc.get(3).toString()));
  9587. }
  9588. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9589. qj.setNorth_h_val(Double.parseDouble(listc.get(4).toString()));
  9590. }
  9591. }else if(listc.get(0).toString().equals("中间")){
  9592. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9593. qj.setMiddle_thick_val(Double.parseDouble(listc.get(1).toString()));
  9594. }
  9595. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9596. qj.setSouth_m_val(Double.parseDouble(listc.get(2).toString()));
  9597. }
  9598. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9599. qj.setMiddle_m_val(Double.parseDouble(listc.get(3).toString()));
  9600. }
  9601. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9602. qj.setNorth_m_val(Double.parseDouble(listc.get(4).toString()));
  9603. }
  9604. }else if(listc.get(0).toString().equals("操作侧")){
  9605. if(!SqlJoint.IsNullOrSpace(listc.get(1).toString())){
  9606. qj.setNorth_thick_val(Double.parseDouble(listc.get(1).toString()));
  9607. }
  9608. if(!SqlJoint.IsNullOrSpace(listc.get(2).toString())){
  9609. qj.setSouth_r_val(Double.parseDouble(listc.get(2).toString()));
  9610. }
  9611. if(!SqlJoint.IsNullOrSpace(listc.get(3).toString())){
  9612. qj.setMiddle_r_val(Double.parseDouble(listc.get(3).toString()));
  9613. }
  9614. if(!SqlJoint.IsNullOrSpace(listc.get(4).toString())){
  9615. qj.setNorth_r_val(Double.parseDouble(listc.get(4).toString()));
  9616. }
  9617. }
  9618. }
  9619. }
  9620. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  9621. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  9622. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  9623. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  9624. qj.setDesign_key(param1.get(0).toString());
  9625. qj.setMaterial_no(param1.get(1).toString());
  9626. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9627. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9628. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9629. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  9630. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9631. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9632. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9633. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  9634. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9635. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  9636. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9637. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9638. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9639. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9640. qj.setLevel_code(param1.get(8).toString());
  9641. qj.setLevel_desc(param1.get(9).toString());
  9642. mapper.insertQCMJudgeMeasure(qj);
  9643. //判定实绩
  9644. CoreReturnObject cicModel=this.getToleranceNew1(hashmap,param1.get(0).toString(),param1.get(1).toString());
  9645. List<QCMOrdDesignStdSic> stdSic= (List<QCMOrdDesignStdSic>) cicModel.getResult();
  9646. /*if(stdSic.size() == 0){
  9647. throw new Exception("未找到公差标准"+param1.get(1).toString()+"");
  9648. }*/
  9649. for(QCMOrdDesignStdSic list:stdSic){
  9650. if(list.getBias_code().toString().contains("KB")){
  9651. qjmd.setJudge_val(list.getVal().toString());
  9652. qjmd.setPlan_val(list.getPlan());
  9653. }else if(list.getBias_code().toString().contains("KD")){
  9654. qjmd.setJudge_val(list.getVal().toString());
  9655. qjmd.setPlan_val(list.getPlan());
  9656. }else if(list.getBias_code().toString().contains("KF")){
  9657. qjmd.setJudge_val(list.getVal().toString());
  9658. qjmd.setPlan_val(list.getPlan());
  9659. }else{
  9660. qjmd.setPlan_val("");
  9661. qjmd.setJudge_val("");
  9662. }
  9663. qjmd.setSic_id(mst_id);
  9664. qjmd.setSic_item_code(list.getBias_code());
  9665. qjmd.setSic_item_desc(list.getBias_name());
  9666. mapper.insertQcmJudgeMeasureD(qjmd);
  9667. }
  9668. //更改库存表
  9669. if(list2.size() >0){
  9670. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  9671. zra.setCoil_no(param1.get(1).toString());
  9672. zra.setSizeresult(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9673. zra.setSizeresult_desc(!judge?"不合格":(param1.get(2).toString().equals("0")?"待判":"合格"));
  9674. zra.setSic_is_lock("0");
  9675. zra.setSizeid(mst_id);
  9676. mapper.UpdateJugeResultJ(zra);
  9677. }else{
  9678. throw new Exception("未找到库存信息!");
  9679. }
  9680. // if(!judge && !param1.get(2).toString().equals("0")){
  9681. // //写入异常材处置表
  9682. // count=0;
  9683. // QCMJudgeLocking qjlk = new QCMJudgeLocking();
  9684. // sdf=new SimpleDateFormat("yyMMdd");
  9685. // date=sdf.format(new Date());
  9686. // String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  9687. // List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  9688. // if(qjl.size() > 0){
  9689. // count=qjl.get(0).getLock_seq();
  9690. // }
  9691. // count++;
  9692. // //锁定记录号
  9693. // int lock_seq=count;
  9694. // String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  9695. // //插入封锁表
  9696. // qjlk.setLock_type_code("S");
  9697. // qjlk.setLock_type_desc("公差检验");
  9698. // qjlk.setMaterial_no(param1.get(1).toString());
  9699. // qjlk.setLock_id(mst_id);
  9700. // qjlk.setLock_seq(lock_seq);
  9701. // qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9702. // qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9703. // qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9704. // qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  9705. // qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  9706. // qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9707. // qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9708. // qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9709. // qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  9710. // qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  9711. // qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9712. // qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  9713. // qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9714. // qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9715. // qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9716. // qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9717. // qjlk.setFic_locking("1");
  9718. // qjlk.setLock_name(param1.get(5).toString());
  9719. // qjlk.setLock_memo(lock_memo);
  9720. // mapper.insertQCMJudgeLocking(qjlk);
  9721. // }
  9722. //更改库存表尺寸
  9723. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  9724. {
  9725. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  9726. }*/
  9727. QcmJudgeLog qjl = new QcmJudgeLog();
  9728. qjl.setJudge_type("R");
  9729. qjl.setMaterial_no(param1.get(1).toString());
  9730. qjl.setCreate_name("system");
  9731. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9732. mapper.insertQcmJudgeLog(qjl);
  9733. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  9734. qjog.setOperate_name(param1.get(5).toString());
  9735. qjog.setOperate_type("公差检验判定");
  9736. qjog.setParams(param1.get(1).toString());
  9737. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9738. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  9739. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  9740. mapper.insertQcmJudgeOperateLog(qjog);
  9741. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  9742. if(list2.size() > 0) {
  9743. hashmap = doQueryMaterialInfoJ(param1.get(1).toString());
  9744. if (hashmap.size() > 0) {
  9745. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, !judge?"2":(param1.get(2).toString().equals("0")?"D":"1"), null, null, null, null,"");
  9746. }
  9747. }
  9748. SqlSession.commit();
  9749. } catch (Exception e) {
  9750. cro.setV_errCode(-1);
  9751. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  9752. SqlSession.rollback();
  9753. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanJ:【" + param1.toString() + "," + param3.toString() + "】" + e);
  9754. }
  9755. SqlSession.close();
  9756. /*final List<HashMap> hashmap1 = hashmap;
  9757. Thread t1 = new Thread(){
  9758. @Override
  9759. public void run(){
  9760. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  9761. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9762. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  9763. try {
  9764. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  9765. } catch (Exception e2) {
  9766. // TODO Auto-generated catch block
  9767. e2.printStackTrace();
  9768. }
  9769. }
  9770. };
  9771. t1.start();
  9772. Thread t3 = new Thread(){
  9773. @Override
  9774. public void run(){
  9775. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  9776. //综合判定
  9777. try {
  9778. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  9779. } catch (Exception e) {
  9780. // TODO Auto-generated catch block
  9781. e.printStackTrace();
  9782. }
  9783. }
  9784. };
  9785. t3.start();*/
  9786. return cro;
  9787. }
  9788. /**
  9789. * 质量判定-卡量检测(未输入判定结果自动检测)
  9790. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  9791. * param2:编码、实绩、计划
  9792. * param3 测量实绩
  9793. * */
  9794. @SuppressWarnings("rawtypes")
  9795. public CoreReturnObject judgeByHumanX(final ArrayList param1,ArrayList<List> param2) throws Exception{
  9796. String material_no = param1.get(1).toString();
  9797. List<HashMap> hashmap = new ArrayList<HashMap>();
  9798. //判断是否进行综合判定,是否在库
  9799. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  9800. String sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' ";
  9801. hashmap1 = mapper.query(sql);
  9802. if(hashmap1.size() > 0){
  9803. if(hashmap1.get(0).get("JUDGERESULT").equals("4")){
  9804. throw new Exception("已判废品,不可操作!");
  9805. }
  9806. }
  9807. if(hashmap1.size() > 0) {
  9808. List<HashMap> list1 = mapper.query(sql);
  9809. sql = "select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" + param1.get(1).toString() + "'";
  9810. hashmap = mapper.query(sql);
  9811. if (hashmap.size() == 0) {
  9812. throw new Exception("未找到在库的库存信息!");
  9813. }
  9814. //撤销判定
  9815. cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString());
  9816. }
  9817. hashmap = mapper.doQueryMaterialInfoX(material_no);
  9818. try {
  9819. /*if(hashmap.size() == 0){
  9820. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  9821. }
  9822. if(hashmap.size() == 0){
  9823. hashmap = mapper.doQueryMaterialInfoX(material_no);
  9824. }*/
  9825. if(hashmap.size() ==0){
  9826. throw new Exception("未找到库存信息!");
  9827. }
  9828. sql = "select * from zj_result_all@xgcx where BILLETID = '"+param1.get(1).toString()+"'";
  9829. List<HashMap> list1 = mapper.query(sql);
  9830. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  9831. List<HashMap> list2 = mapper.query(sql);
  9832. if(list2.size() > 0){
  9833. if(list2.get(0).get("JUDGERESULT").equals("4")){
  9834. throw new Exception("已判废品,不可操作!");
  9835. }
  9836. }
  9837. if(param1==null||param1.size()==0){
  9838. cro.setV_errCode(-1);
  9839. cro.setV_errMsg("请传入参数!");
  9840. return cro;
  9841. }else{
  9842. if(list1.size() >0 || list2.size() >0){
  9843. if(list1.size()>0){
  9844. for(HashMap list:list1){
  9845. if(!list.get("JUDGERESULT").toString().equals("0")){
  9846. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  9847. }
  9848. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  9849. throw new Exception("公差已锁定,不能做公差判定!");
  9850. }
  9851. }
  9852. }else{
  9853. for(HashMap list:list2){
  9854. if(!list.get("JUDGERESULT").toString().equals("0")){
  9855. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  9856. }
  9857. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  9858. throw new Exception("公差已锁定,不能做公差判定!");
  9859. }
  9860. }
  9861. }
  9862. }else{
  9863. throw new Exception("未找到库存信息!");
  9864. }
  9865. }
  9866. int count=0;
  9867. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  9868. String date=sdf.format(new Date());
  9869. sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SX"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1";
  9870. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  9871. if(qjlist!=null&&qjlist.size()>0){
  9872. String s=qjlist.get(0).getSic_id();
  9873. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  9874. }
  9875. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  9876. // 插入QCM_JUDGE_MEASURE信息
  9877. count++;
  9878. String mst_id="SX"+date+String.format("%05d", count);
  9879. // 厚宽长判定标识
  9880. boolean pass = true;
  9881. boolean judge = true;
  9882. String memo = "";
  9883. if(param1.get(2).toString().equals("1")){
  9884. judge = true;
  9885. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  9886. judge = false;
  9887. }
  9888. //写入判定记录表
  9889. qj.setSic_id(mst_id);
  9890. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  9891. qj.setMaterial_no(qj.getMaterial_no());
  9892. }else {
  9893. qj.setMaterial_no(param1.get(1).toString());
  9894. }
  9895. qj.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  9896. qj.setSic_result_code(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  9897. qj.setSic_result_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  9898. qj.setSic_memo(param1.get(4).toString());
  9899. qj.setJudge_name(param1.get(5).toString());
  9900. qj.setWrk_grp(param1.get(6).toString());
  9901. qj.setWrk_ord(param1.get(7).toString());
  9902. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  9903. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  9904. qj.setJudge_time(new Date());
  9905. //计划规格
  9906. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  9907. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  9908. qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  9909. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  9910. qj.setDesign_key(param1.get(0).toString());
  9911. qj.setMaterial_no(param1.get(1).toString());
  9912. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9913. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9914. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9915. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  9916. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  9917. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  9918. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9919. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  9920. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  9921. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  9922. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  9923. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  9924. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  9925. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  9926. qj.setLevel_code(param1.get(8).toString());
  9927. qj.setLevel_desc(param1.get(9).toString());
  9928. mapper.insertQCMJudgeMeasure(qj);
  9929. //判定实绩
  9930. for(List list:param2){
  9931. if(list.toString().contains("KB")){
  9932. //qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  9933. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  9934. }else if(list.toString().contains("KD")){
  9935. //qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  9936. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  9937. }else if(list.toString().contains("KF")){
  9938. //qj.setJudge_length(Double.parseDouble(list.get(1).toString()));
  9939. qjmd.setPlan_val(hashmap.get(0).get("LENGTH") == null ?"" :hashmap.get(0).get("LENGTH").toString());
  9940. }else{
  9941. qjmd.setPlan_val("");
  9942. }
  9943. qjmd.setSic_id(mst_id);
  9944. qjmd.setJudge_val(list.get(1).toString());
  9945. qjmd.setSic_item_code(list.get(0).toString());
  9946. qjmd.setSic_item_desc(list.get(2).toString());
  9947. mapper.insertQcmJudgeMeasureD(qjmd);
  9948. }
  9949. //更改库存表
  9950. if(list1.size() >0 || list2.size() >0){
  9951. if(list1.size()>0){
  9952. ZjResultAll zra = new ZjResultAll();
  9953. zra.setBilletid(param1.get(1).toString());
  9954. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  9955. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  9956. zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  9957. zra.setSizeid(mst_id);
  9958. mapper.UpdateJugeResultB(zra);
  9959. }else{
  9960. QcmJudgeCoilResult zra = new QcmJudgeCoilResult();
  9961. zra.setCoil_no(param1.get(1).toString());
  9962. zra.setSizeresult(judge?"1":(param1.get(2).toString().equals("2")?"2":"0"));
  9963. zra.setSizeresult_desc(judge?"合格":(param1.get(2).toString().equals("2")?"不合格":"待判"));
  9964. zra.setSic_is_lock(judge?"0":(param1.get(2).toString().equals("2")?"1":"0"));
  9965. zra.setSizeid(mst_id);
  9966. mapper.UpdateJugeResultJ(zra);
  9967. }
  9968. }else{
  9969. throw new Exception("未找到库存信息!");
  9970. }
  9971. if(!judge && !param1.get(2).toString().equals("0")){
  9972. //写入异常材处置表
  9973. count=0;
  9974. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  9975. sdf=new SimpleDateFormat("yyMMdd");
  9976. date=sdf.format(new Date());
  9977. String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  9978. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  9979. if(qjl.size() > 0){
  9980. count=qjl.get(0).getLock_seq();
  9981. }
  9982. count++;
  9983. //锁定记录号
  9984. int lock_seq=count;
  9985. String lock_memo = "公差:"+ memo +"-" + param1.get(9).toString();
  9986. //插入封锁表
  9987. qjlk.setLock_type_code("S");
  9988. qjlk.setLock_type_desc("公差检验");
  9989. qjlk.setMaterial_no(param1.get(1).toString());
  9990. qjlk.setLock_id(mst_id);
  9991. qjlk.setLock_seq(lock_seq);
  9992. qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  9993. qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  9994. qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  9995. qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  9996. qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  9997. qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  9998. qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  9999. qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10000. qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  10001. qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  10002. qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  10003. qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  10004. qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  10005. qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  10006. qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  10007. qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  10008. qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  10009. qjlk.setFic_locking("1");
  10010. qjlk.setLock_name(param1.get(5).toString());
  10011. qjlk.setLock_memo(lock_memo);
  10012. mapper.insertQCMJudgeLocking(qjlk);
  10013. }
  10014. QcmJudgeLog qjl = new QcmJudgeLog();
  10015. qjl.setJudge_type("R");
  10016. qjl.setMaterial_no(param1.get(1).toString());
  10017. qjl.setCreate_name("system");
  10018. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10019. mapper.insertQcmJudgeLog(qjl);
  10020. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10021. qjog.setOperate_name(param1.get(5).toString());
  10022. qjog.setOperate_type("公差检验判定");
  10023. qjog.setParams(param1.get(1).toString());
  10024. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  10025. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10026. qjog.setJudge_result(!judge?"2":(param1.get(2).toString().equals("0")?"0":"1"));
  10027. mapper.insertQcmJudgeOperateLog(qjog);
  10028. //更改库存表尺寸
  10029. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  10030. {
  10031. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  10032. }*/
  10033. //判断产线是不是卷板,是的话调用存储过程COILJUDGE_STATUS
  10034. if(list2.size() > 0) {
  10035. coiljudge_status_call(hashmap.get(0).get("PLINE_CODE").toString(), param1.get(1).toString(), null, null, judge?"1":(param1.get(2).toString().equals("2")?"2":"D"), null, null, null, null,"");
  10036. }
  10037. SqlSession.commit();
  10038. } catch (Exception e) {
  10039. cro.setV_errCode(-1);
  10040. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  10041. SqlSession.rollback();
  10042. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanX:【" + param1.toString() + "," + param2.toString() + "】" + e);
  10043. }
  10044. SqlSession.close();
  10045. /*final List<HashMap> hashmap1 = hashmap;
  10046. Thread t1 = new Thread(){
  10047. @Override
  10048. public void run(){
  10049. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  10050. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  10051. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  10052. try {
  10053. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  10054. } catch (Exception e2) {
  10055. // TODO Auto-generated catch block
  10056. e2.printStackTrace();
  10057. }
  10058. }
  10059. };
  10060. t1.start();
  10061. Thread t3 = new Thread(){
  10062. @Override
  10063. public void run(){
  10064. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  10065. //综合判定
  10066. try {
  10067. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  10068. } catch (Exception e) {
  10069. // TODO Auto-generated catch block
  10070. e.printStackTrace();
  10071. }
  10072. }
  10073. };
  10074. t3.start();*/
  10075. return cro;
  10076. }
  10077. /**
  10078. * 质量判定-卡量检测(未输入判定结果自动检测)
  10079. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,改尺类型
  10080. * param2:编码、实绩、计划,机器
  10081. * param3 测量实绩
  10082. * */
  10083. @SuppressWarnings("rawtypes")
  10084. public CoreReturnObject judgeByHumanY(final ArrayList param1,ArrayList<List> param2) throws Exception{
  10085. String material_no = param1.get(1).toString();
  10086. List<HashMap> hashmap = new ArrayList<HashMap>();
  10087. //判断是否进行综合判定,是否在库
  10088. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  10089. String sql = "select * from QCM_JUDGE_YT_COIL_RESULT where COIL_NO = '"+param1.get(1).toString()+"' and JUDGERESULT <> '0' ";
  10090. hashmap1 = mapper.query(sql);
  10091. if(hashmap1.size() > 0){
  10092. if(hashmap1.get(0).get("JUDGERESULT").equals("4")){
  10093. throw new Exception("已判废品,不可操作!");
  10094. }
  10095. }
  10096. if(hashmap1.size() > 0) {
  10097. List<HashMap> list1 = mapper.query(sql);
  10098. sql = "select COILNO from YDM_PRODUCT_DETAIL@LINK_YTG where STATE in ('0','-1', '7') and COILNO = '" + material_no + "'";
  10099. hashmap = mapper.query(sql);
  10100. if (hashmap.size() == 0) {
  10101. throw new Exception("未找到在库的库存信息!");
  10102. }
  10103. //撤销判定
  10104. cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString());
  10105. }
  10106. hashmap = mapper.doQueryMaterialInfoY(material_no);
  10107. try {
  10108. /*if(hashmap.size() == 0){
  10109. hashmap = mapper.doQueryMaterialInfoHB(material_no);
  10110. }
  10111. if(hashmap.size() == 0){
  10112. hashmap = mapper.doQueryMaterialInfoX(material_no);
  10113. }*/
  10114. if(hashmap.size() ==0){
  10115. throw new Exception("未找到库存信息!");
  10116. }
  10117. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where coil_no = '"+param1.get(1).toString()+"'";
  10118. List<HashMap> list1 = mapper.query(sql);
  10119. if(param1==null||param1.size()==0 || param2==null || param2.size()==0){
  10120. cro.setV_errCode(-1);
  10121. cro.setV_errMsg("请传入参数!");
  10122. return cro;
  10123. }else{
  10124. if(list1.size() >0){
  10125. for(HashMap list:list1){
  10126. if(!list.get("JUDGERESULT").toString().equals("0")){
  10127. throw new Exception("该检验号下已有物料号做了综合判定,不能做公差判定!");
  10128. }
  10129. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  10130. throw new Exception("公差已锁定,不能做公差判定!");
  10131. }
  10132. }
  10133. }else{
  10134. throw new Exception("未找到库存信息!");
  10135. }
  10136. }
  10137. String use_code = "";
  10138. if(material_no.contains("S"))
  10139. {
  10140. use_code = "YTSX";
  10141. }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("1"))
  10142. {
  10143. use_code = "YTZZ";
  10144. }else if(material_no.contains("L") && hashmap.get(0).get("NUM").toString().equals("2"))
  10145. {
  10146. use_code = "YTZZ2";
  10147. }else if(material_no.contains("P"))
  10148. {
  10149. use_code = "YTPZ";
  10150. }else if(material_no.contains("T"))
  10151. {
  10152. use_code = "YTTH";
  10153. }else if(material_no.contains("K"))
  10154. {
  10155. use_code = "YTHJ";
  10156. }else if(material_no.contains("F"))
  10157. {
  10158. use_code = "YTZJ";
  10159. }
  10160. if(hashmap.get(0).get("FINAL_PROCESSES").toString().equals("1")){
  10161. use_code = "YT1";
  10162. }
  10163. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  10164. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  10165. sql = "select * from qcm_ord_design_std_sic where design_key = '"+param1.get(0).toString()+"' and use_code = '"+use_code+"'";
  10166. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  10167. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  10168. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  10169. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  10170. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  10171. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  10172. siclist.add(slmOrdDesignStdSic);
  10173. }
  10174. boolean pass = true;
  10175. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {
  10176. pass = true;
  10177. for(QCMOrdDesignStdSic sic :siclist){
  10178. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  10179. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  10180. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  10181. pass = false;
  10182. }
  10183. }
  10184. if(pass){
  10185. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  10186. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  10187. siclist.add(slmOrdDesignStdSic);
  10188. }
  10189. }
  10190. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){
  10191. pass = true;
  10192. for(QCMOrdDesignStdSic sic :siclist){
  10193. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  10194. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  10195. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  10196. pass = false;
  10197. }
  10198. }
  10199. if(pass){
  10200. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  10201. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  10202. siclist.add(slmOrdDesignStdSic);
  10203. }
  10204. }
  10205. int count=0;
  10206. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  10207. String date=sdf.format(new Date());
  10208. sql = "SELECT * FROM (select * from qcm_judge_measure where sic_ID like 'SY"+date+"%' order by sic_ID DESC) WHERE ROWNUM <= 1";
  10209. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  10210. if(qjlist!=null&&qjlist.size()>0){
  10211. String s=qjlist.get(0).getSic_id();
  10212. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  10213. }
  10214. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  10215. // 插入QCM_JUDGE_MEASURE信息
  10216. count++;
  10217. String mst_id="SY"+date+String.format("%05d", count);
  10218. // 厚宽长判定标识
  10219. pass = true;
  10220. boolean judge = true;
  10221. /*if(param1.get(2).toString().equals("")){*/
  10222. for(QCMOrdDesignStdSic sic:siclist){
  10223. String upperDeciation=null;
  10224. String upperDeciation_k=null;
  10225. String upperDeciation_n=null;
  10226. String drownDeciation=null;
  10227. String drownDeciation_k=null;
  10228. String drownDeciation_n=null;
  10229. //国标
  10230. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val())&&!"".equals(sic.getStd_max_val())) {
  10231. if (sic.getStd_max_val().contains("+")) {
  10232. upperDeciation=sic.getStd_max_val().substring(1);//上偏差
  10233. }else {
  10234. upperDeciation=sic.getStd_max_val();//上偏差
  10235. }
  10236. }
  10237. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val())&&!"".equals(sic.getStd_min_val())) {
  10238. if (sic.getStd_min_val().contains("-")) {
  10239. drownDeciation=sic.getStd_min_val().substring(1);//下偏差
  10240. }else {
  10241. drownDeciation=sic.getStd_min_val();//下偏差
  10242. }
  10243. }
  10244. //客户
  10245. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_k())&&!"".equals(sic.getStd_max_val_k())) {
  10246. if (sic.getStd_max_val_k().contains("+")) {
  10247. upperDeciation_k=sic.getStd_max_val_k().substring(1);//上偏差
  10248. }else {
  10249. upperDeciation_k=sic.getStd_max_val_k();//上偏差
  10250. }
  10251. }
  10252. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_k())&&!"".equals(sic.getStd_min_val_k())) {
  10253. if (sic.getStd_min_val_k().contains("-")) {
  10254. drownDeciation_k=sic.getStd_min_val_k().substring(1);//下偏差
  10255. }else {
  10256. drownDeciation_k=sic.getStd_min_val_k();//下偏差
  10257. }
  10258. }
  10259. //内控
  10260. if (!SqlJoint.IsNullOrSpace(sic.getStd_max_val_n())&&!"".equals(sic.getStd_max_val_n())) {
  10261. if (sic.getStd_max_val_n().contains("+")) {
  10262. upperDeciation_n=sic.getStd_max_val_n().substring(1);//上偏差
  10263. }else {
  10264. upperDeciation_n=sic.getStd_max_val_n();//上偏差
  10265. }
  10266. }
  10267. if (!SqlJoint.IsNullOrSpace(sic.getStd_min_val_n())&&!"".equals(sic.getStd_min_val_n())) {
  10268. if (sic.getStd_min_val_n().contains("-")) {
  10269. drownDeciation_n=sic.getStd_min_val_n().substring(1);//下偏差
  10270. }else {
  10271. drownDeciation_n=sic.getStd_min_val_n();//下偏差
  10272. }
  10273. }
  10274. int seq1 = 1;
  10275. for(List list:param2){
  10276. if(sic.getBias_code().equals(list.get(0).toString()) /*&& sic.getIscheck().equals("1")*/)
  10277. {
  10278. double val=Double.parseDouble(list.get(1).toString());
  10279. double val1 = 0;
  10280. if(!list.get(4).toString().equals("")){
  10281. val1 =Double.parseDouble(list.get(4).toString());
  10282. }
  10283. if ((sic.getStd_result_max()==null || "".equals(sic.getStd_result_max())) && (sic.getStd_result_min()==null || "".equals(sic.getStd_result_min()))) {
  10284. if(list.get(3).toString().equals("")){
  10285. pass=comOrtherVal(upperDeciation,drownDeciation,val);
  10286. if(!list.get(4).toString().equals("") && pass){
  10287. pass=comOrtherVal(upperDeciation,drownDeciation,val1);
  10288. }
  10289. if(pass){
  10290. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val);
  10291. if(!list.get(4).toString().equals("") && pass){
  10292. pass=comOrtherVal(upperDeciation_k,drownDeciation_k,val1);
  10293. }
  10294. if(pass){
  10295. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val);
  10296. if(!list.get(4).toString().equals("") && pass){
  10297. pass=comOrtherVal(upperDeciation_n,drownDeciation_n,val1);
  10298. }
  10299. }
  10300. }
  10301. }else{
  10302. if(upperDeciation == null && drownDeciation == null){
  10303. pass=comOrtherVal(null,null,val);
  10304. if(!list.get(4).toString().equals("") && pass){
  10305. pass=comOrtherVal(null,null,val1);
  10306. }
  10307. }else if(upperDeciation == null){
  10308. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  10309. if(!list.get(4).toString().equals("") && pass){
  10310. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val1);
  10311. }
  10312. }else if(drownDeciation == null)
  10313. {
  10314. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val);
  10315. if(!list.get(4).toString().equals("") && pass){
  10316. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),null,val1);
  10317. }
  10318. }else{
  10319. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val);
  10320. if(!list.get(4).toString().equals("") && pass){
  10321. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation)),val1);
  10322. }
  10323. }
  10324. if(pass){
  10325. if(upperDeciation_k == null && drownDeciation_k == null){
  10326. pass=comOrtherVal(null,null,val);
  10327. if(!list.get(4).toString().equals("") && pass){
  10328. pass=comOrtherVal(null,null,val1);
  10329. }
  10330. }else if(upperDeciation_k == null){
  10331. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  10332. if(!list.get(4).toString().equals("") && pass){
  10333. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val1);
  10334. }
  10335. }else if(drownDeciation_k == null)
  10336. {
  10337. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val);
  10338. if(!list.get(4).toString().equals("") && pass){
  10339. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),null,val1);
  10340. }
  10341. }else{
  10342. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val);
  10343. if(!list.get(4).toString().equals("") && pass){
  10344. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_k)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_k)),val1);
  10345. }
  10346. }
  10347. if(pass){
  10348. if(upperDeciation_n == null && drownDeciation_n == null){
  10349. pass=comOrtherVal(null,null,val);
  10350. if(!list.get(4).toString().equals("") && pass){
  10351. pass=comOrtherVal(null,null,val1);
  10352. }
  10353. }else if(upperDeciation_n == null){
  10354. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  10355. if(!list.get(4).toString().equals("") && pass){
  10356. pass=comOrtherVal(null,String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val1);
  10357. }
  10358. }else if(drownDeciation_n == null)
  10359. {
  10360. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val);
  10361. if(!list.get(4).toString().equals("") && pass){
  10362. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),null,val1);
  10363. }
  10364. }else{
  10365. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val);
  10366. if(!list.get(4).toString().equals("") && pass){
  10367. pass=comOrtherVal(String.valueOf(Double.parseDouble(upperDeciation_n)+Double.parseDouble(list.get(3).toString())),String.valueOf(Double.parseDouble(list.get(3).toString())-Double.parseDouble(drownDeciation_n)),val1);
  10368. }
  10369. }
  10370. }
  10371. }
  10372. }
  10373. }else{
  10374. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val);
  10375. if(!list.get(4).toString().equals("") && pass){
  10376. pass=comOrtherVal(sic.getStd_result_max(), sic.getStd_result_min(), val1);
  10377. }
  10378. }
  10379. if(!pass){
  10380. judge = false;
  10381. }
  10382. }
  10383. }
  10384. }
  10385. /*}*/
  10386. String memo = "";
  10387. /*if(param1.get(2).toString().equals("1")){
  10388. judge = true;
  10389. }else if(param1.get(2).toString().equals("2") || param1.get(2).toString().equals("0")){
  10390. judge = false;
  10391. }*/
  10392. //写入判定记录表
  10393. qj.setSic_id(mst_id);
  10394. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  10395. qj.setMaterial_no(qj.getMaterial_no());
  10396. }else {
  10397. qj.setMaterial_no(param1.get(1).toString());
  10398. }
  10399. qj.setSic_result_code(judge?"1":"2");
  10400. qj.setSic_result_desc(judge?"合格":"不合格");
  10401. qj.setSic_is_lock(judge?"0":"1");
  10402. qj.setSic_memo(param1.get(4).toString());
  10403. qj.setJudge_name(param1.get(5).toString());
  10404. qj.setWrk_grp(param1.get(6).toString());
  10405. qj.setWrk_ord(param1.get(7).toString());
  10406. qj.setProd_code(hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString());
  10407. qj.setProd_name(hashmap.get(0).get("PORD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  10408. qj.setJudge_time(new Date());
  10409. //计划规格
  10410. qj.setThick(Double.parseDouble(hashmap.get(0).get("PLAN_THICK") == null ?"0":hashmap.get(0).get("PLAN_THICK").toString()));
  10411. qj.setWidth(Double.parseDouble(hashmap.get(0).get("PLAN_WIDTH") == null ?"0":hashmap.get(0).get("PLAN_WIDTH").toString()));
  10412. //qj.setLength(Double.parseDouble(hashmap.get(0).get("LENGTH") == null ?"0" :hashmap.get(0).get("LENGTH").toString()));
  10413. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  10414. qj.setDesign_key(param1.get(0).toString());
  10415. qj.setMaterial_no(param1.get(1).toString());
  10416. qj.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  10417. qj.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  10418. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  10419. qj.setInspection_lot(hashmap.get(0).get("INSPECTION_LOT")==null?"":hashmap.get(0).get("INSPECTION_LOT").toString());
  10420. qj.setPline_code(hashmap.get(0).get("PLINE_CODE")==null?"":hashmap.get(0).get("PLINE_CODE").toString());
  10421. qj.setPline_name(hashmap.get(0).get("PLINE_NAME") == null?"":hashmap.get(0).get("PLINE_NAME").toString());
  10422. qj.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  10423. qj.setPsc_desc(hashmap.get(0).get("PSC_DESC")==null?"":hashmap.get(0).get("PSC_DESC").toString());
  10424. qj.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  10425. qj.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"":hashmap.get(0).get("STD_NAME").toString());
  10426. qj.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  10427. qj.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  10428. qj.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  10429. qj.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  10430. qj.setChange_type_desc(param1.get(8).toString());
  10431. mapper.insertQCMJudgeMeasure(qj);
  10432. String judge_thick = "";
  10433. String judge_width = "";
  10434. //判定实绩
  10435. for(List list:param2){
  10436. if(list.toString().contains("KB")){
  10437. //qj.setJudge_thick(Double.parseDouble(list.get(1).toString()));
  10438. qjmd.setPlan_val(hashmap.get(0).get("PLAN_THICK") == null ?"":hashmap.get(0).get("PLAN_THICK").toString());
  10439. judge_thick = list.get(1).toString();
  10440. }else if(list.toString().contains("KD")){
  10441. //qj.setJudge_width(Double.parseDouble(list.get(1).toString()));
  10442. qjmd.setPlan_val(hashmap.get(0).get("PLAN_WIDTH") == null ?"":hashmap.get(0).get("PLAN_WIDTH").toString());
  10443. judge_width = list.get(1).toString();
  10444. }else{
  10445. qjmd.setPlan_val("");
  10446. }
  10447. qjmd.setSic_id(mst_id);
  10448. qjmd.setJudge_val(list.get(1).toString());
  10449. qjmd.setSic_item_code(list.get(0).toString());
  10450. qjmd.setSic_item_desc(list.get(2).toString());
  10451. mapper.insertQcmJudgeMeasureD(qjmd);
  10452. }
  10453. //更改库存表
  10454. if(list1.size() >0){
  10455. QcmJudgeYtCoilResult zra = new QcmJudgeYtCoilResult();
  10456. zra.setCoil_no(param1.get(1).toString());
  10457. zra.setSizeresult(judge?"1":"2");
  10458. zra.setSic_is_lock(judge?"0":"1");
  10459. zra.setSizeresult_desc(judge?"合格":"不合格");
  10460. zra.setSizeid(mst_id);
  10461. mapper.UpdateJugeResultY(zra);
  10462. }else{
  10463. throw new Exception("未找到库存信息!");
  10464. }
  10465. if(!judge){
  10466. //写入异常材处置表
  10467. count=0;
  10468. QCMJudgeLocking qjlk = new QCMJudgeLocking();
  10469. sdf=new SimpleDateFormat("yyMMdd");
  10470. date=sdf.format(new Date());
  10471. String condition = " and MATERIAL_NO = '"+param1.get(1).toString()+"' order by LOCK_SEQ desc ";
  10472. List<QCMJudgeLocking> qjl = mapper.queryQCMJudgeLocking(condition);
  10473. if(qjl.size() > 0){
  10474. count=qjl.get(0).getLock_seq();
  10475. }
  10476. count++;
  10477. //锁定记录号
  10478. int lock_seq=count;
  10479. //插入封锁表
  10480. qjlk.setLock_type_code("S");
  10481. qjlk.setLock_type_desc("公差检验");
  10482. qjlk.setMaterial_no(param1.get(1).toString());
  10483. qjlk.setLock_id(mst_id);
  10484. qjlk.setLock_seq(lock_seq);
  10485. qjlk.setHeat_no(hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  10486. qjlk.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  10487. qjlk.setBoard_no(hashmap.get(0).get("BOARD_NO") == null ?"":hashmap.get(0).get("BOARD_NO").toString());
  10488. qjlk.setPlan_no(hashmap.get(0).get("PLAN_NO") == null?"":hashmap.get(0).get("PLAN_NO").toString());
  10489. qjlk.setHt_no(hashmap.get(0).get("HT_NO") == null ?"":hashmap.get(0).get("HT_NO").toString());
  10490. qjlk.setDesign_key(hashmap.get(0).get("DESIGN_KEY") == null ?"":hashmap.get(0).get("DESIGN_KEY").toString());
  10491. qjlk.setPsc(hashmap.get(0).get("PSC") == null ?"":hashmap.get(0).get("PSC").toString());
  10492. qjlk.setPline_code(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10493. qjlk.setPline_name(hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  10494. qjlk.setPsc_desc(hashmap.get(0).get("PSC_DESC") == null ?"":hashmap.get(0).get("PSC_DESC").toString());
  10495. qjlk.setStd_code(hashmap.get(0).get("STD_CODE") == null ?"":hashmap.get(0).get("STD_CODE").toString());
  10496. qjlk.setStd_name(hashmap.get(0).get("STD_NAME") == null ?"": hashmap.get(0).get("STD_NAME").toString());
  10497. qjlk.setProd_code(hashmap.get(0).get("PROD_CODE") == null ?"":hashmap.get(0).get("PROD_CODE").toString());
  10498. qjlk.setProd_name(hashmap.get(0).get("PROD_NAME") == null ?"":hashmap.get(0).get("PROD_NAME").toString());
  10499. qjlk.setSteel_code(hashmap.get(0).get("STEEL_CODE") == null ?"":hashmap.get(0).get("STEEL_CODE").toString());
  10500. qjlk.setSteel_name(hashmap.get(0).get("STEEL_NAME") == null ?"":hashmap.get(0).get("STEEL_NAME").toString());
  10501. qjlk.setHeight(hashmap.get(0).get("THICK") == null?"": hashmap.get(0).get("THICK").toString());
  10502. qjlk.setFic_locking("1");
  10503. qjlk.setLock_name(param1.get(5).toString());
  10504. mapper.insertQCMJudgeLocking(qjlk);
  10505. }
  10506. String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/receiveResMeasure";
  10507. JSONObject jsobj1 = new JSONObject();
  10508. JSONObject jsobj2 = new JSONObject();
  10509. JSONObject jsobj3 = new JSONObject();
  10510. JSONArray ttmaps = new JSONArray();
  10511. JSONArray ttmaps1 = new JSONArray();
  10512. jsobj1.put("sic_id",mst_id);
  10513. jsobj1.put("heat_no",hashmap.get(0).get("HEAT_NO") == null ?"":hashmap.get(0).get("HEAT_NO").toString());
  10514. jsobj1.put("batch_no",hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  10515. jsobj1.put("inspection_lot",hashmap.get(0).get("INSPECTION_LOT1")==null?"":hashmap.get(0).get("INSPECTION_LOT1").toString());
  10516. jsobj1.put("material_no",material_no);
  10517. jsobj1.put("change_type_code",param1.get(8).toString());
  10518. jsobj1.put("sic_result_desc",judge?"合格":"不合格");
  10519. jsobj1.put("prod_thick",hashmap.get(0).get("PLAN_THICK") == null ?"0":hashmap.get(0).get("PLAN_THICK").toString());
  10520. jsobj1.put("prod_width",hashmap.get(0).get("PLAN_WIDTH") == null ?"0":hashmap.get(0).get("PLAN_WIDTH").toString());
  10521. jsobj1.put("judge_thick",judge_thick);
  10522. jsobj1.put("judge_width",judge_width);
  10523. jsobj1.put("weight",hashmap.get(0).get("WEIGHT") == null ?"0":hashmap.get(0).get("WEIGHT").toString());
  10524. jsobj1.put("prod_name",hashmap.get(0).get("PROD_NAME")==null?"":hashmap.get(0).get("PROD_NAME").toString());
  10525. jsobj1.put("steel_name",hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString());
  10526. jsobj1.put("std_name",hashmap.get(0).get("STD_NAME")== null?"":hashmap.get(0).get("STD_NAME").toString());
  10527. jsobj1.put("pline_name",hashmap.get(0).get("PLINE_NAME") == null ?"":hashmap.get(0).get("PLINE_NAME").toString());
  10528. jsobj1.put("judge_name",param1.get(5).toString());
  10529. jsobj1.put("judge_time",new Date());
  10530. jsobj2.put("object", jsobj1);
  10531. ttmaps1.add(jsobj2);
  10532. String result = post1(JSON.toJSONString(ttmaps1),url);
  10533. JSONObject jo = JSONObject.parseObject(result);
  10534. if(!"200".equals(jo.get("state").toString())){
  10535. throw new Exception(jo.get("msgInfo").toString());
  10536. }
  10537. QcmJudgeLog qjl = new QcmJudgeLog();
  10538. qjl.setJudge_type("R");
  10539. qjl.setMaterial_no(param1.get(1).toString());
  10540. qjl.setCreate_name("system");
  10541. qjl.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10542. mapper.insertQcmJudgeLog(qjl);
  10543. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10544. qjog.setOperate_name(param1.get(5).toString());
  10545. qjog.setOperate_type("公差检验判定");
  10546. qjog.setParams(param1.get(1).toString());
  10547. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  10548. qjog.setProd_line(hashmap.get(0).get("PLINE_CODE") == null ?"":hashmap.get(0).get("PLINE_CODE").toString());
  10549. qjog.setJudge_result(!judge?"2":"1");
  10550. qjog.setMemo(result);
  10551. mapper.insertQcmJudgeOperateLog(qjog);
  10552. //更改库存表尺寸
  10553. /*if(param1.get(1).toString().startsWith("Z") || param1.get(1).toString().startsWith("H"))
  10554. {
  10555. insert_call(param1.get(1).toString(),qj.getJudge_thick()==null?"0":qj.getJudge_thick().toString(),qj.getJudge_width()==null?"0":qj.getJudge_width().toString(),qj.getJudge_length()==null?"":qj.getJudge_length().toString());
  10556. }*/
  10557. SqlSession.commit();
  10558. } catch (Exception e) {
  10559. cro.setV_errCode(-1);
  10560. cro.setV_errMsg("检验登记失败!"+e.getMessage());
  10561. SqlSession.rollback();
  10562. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeByHumanX:【" + param1.toString() + "," + param2.toString() + "】" + e);
  10563. }
  10564. SqlSession.close();
  10565. /*final List<HashMap> hashmap1 = hashmap;
  10566. Thread t1 = new Thread(){
  10567. @Override
  10568. public void run(){
  10569. QcmJhyElementsServiceImpl qje = new QcmJhyElementsServiceImpl();
  10570. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  10571. //调用熔炼成分判定 RlChemAutoJudgeByHuman
  10572. try {
  10573. qje.RlChemAutoJudgeByHuman1(hashmap1,hashmap1.get(0).get("HEAT_NO").toString(),param1.get(1).toString(),hashmap1.get(0).get("DESIGN_KEY").toString(),"system",hashmap1.get(0).get("GRADE_NAME")==null?"":hashmap1.get(0).get("GRADE_NAME").toString());
  10574. } catch (Exception e2) {
  10575. // TODO Auto-generated catch block
  10576. e2.printStackTrace();
  10577. }
  10578. }
  10579. };
  10580. t1.start();
  10581. Thread t3 = new Thread(){
  10582. @Override
  10583. public void run(){
  10584. QcmJudgePhysicalServiceImpl qjpc = new QcmJudgePhysicalServiceImpl();
  10585. //综合判定
  10586. try {
  10587. qjpc.ultimateJudgeAutoBySystem(hashmap1,param1.get(1).toString(), "system");
  10588. } catch (Exception e) {
  10589. // TODO Auto-generated catch block
  10590. e.printStackTrace();
  10591. }
  10592. }
  10593. };
  10594. t3.start();*/
  10595. return cro;
  10596. }
  10597. /*
  10598. * @desc coiljudge_status_call
  10599. * @param pline 产线'RZ1' 'SZ1' 'LT1'
  10600. * @param pcoilno 钢卷号
  10601. * @param chemrs 成分判定结果 '1'合格 '2'不合格
  10602. * @param qltyrs 材质判定结果 '1'合格 '2'不合格
  10603. * @param sizers 尺寸判定结果 '1'合格 '2'不合格
  10604. * @param exshrs 外观判定结果 '1'合格 '2'不合格,'3'次品 '4'废品
  10605. * @param totrs 综合判定
  10606. * @param fb_yn 是否封闭
  10607. * @param fb_reason 封闭原因
  10608. * @return void
  10609. *
  10610. * @date 2022/8/24 17:22
  10611. * @author Ljy
  10612. */
  10613. public void coiljudge_status_call(
  10614. String pline
  10615. , String pcoilno
  10616. , String chemrs
  10617. , String qltyrs
  10618. , String sizers
  10619. , String exshrs
  10620. , String totrs
  10621. , String fb_yn
  10622. , String fb_reason,String sf_lv) throws java.lang.Exception {
  10623. Connection conn = null;
  10624. CallableStatement cstmt = null;
  10625. ResultSet rs = null;
  10626. try {
  10627. conn = SqlSession.getConnection();
  10628. String callSql = "{call COILJUDGE_STATUSNEW(?,?,?,?,?,?,?,?,?,?,?,?) }";
  10629. cstmt = conn.prepareCall(callSql);
  10630. cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline);
  10631. cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno);
  10632. cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs);
  10633. cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs);
  10634. cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers);
  10635. cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs);
  10636. cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs);
  10637. cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn);
  10638. cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason);
  10639. cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv);
  10640. cstmt.registerOutParameter(11, java.sql.Types.INTEGER);
  10641. cstmt.registerOutParameter(12, java.sql.Types.VARCHAR);
  10642. cstmt.execute();
  10643. if(cstmt.getString(11) != null){
  10644. if(cstmt.getString(11).equals("2")){
  10645. throw new java.lang.Exception(cstmt.getString(11).toString());
  10646. }
  10647. }
  10648. } catch (Exception e) {
  10649. throw new Exception(e.getMessage());
  10650. } finally {
  10651. try {
  10652. if (rs != null) {
  10653. rs.close();
  10654. }
  10655. } catch (Exception e) {
  10656. throw new Exception(e.getMessage());
  10657. }
  10658. try {
  10659. if (cstmt != null) {
  10660. cstmt.close();
  10661. }
  10662. } catch (Exception e) {
  10663. throw new Exception(e.getMessage());
  10664. }
  10665. }
  10666. }
  10667. public void GetAddweight(String ply,String width,String lenth,String billetid,String judgeresult,String judgememo) throws Exception{
  10668. Connection conn = null;
  10669. CallableStatement cstmt = null;
  10670. ResultSet rs = null;
  10671. try {
  10672. conn = SqlSession.getConnection();
  10673. String callSql = "{call GETJHTOMESPLAN.GET_ADDWEIGHT@xgcx(?,?,?,?,?,?) }";
  10674. cstmt = conn.prepareCall(callSql);
  10675. cstmt.setString(1, ply);
  10676. cstmt.setString(2, width);
  10677. cstmt.setString(3, lenth);
  10678. cstmt.setString(4, billetid);
  10679. cstmt.setString(5, judgeresult);
  10680. cstmt.setString(6, judgememo);
  10681. cstmt.execute();
  10682. } catch (Exception e) {
  10683. throw new Exception(e.getMessage());
  10684. } finally {
  10685. try {
  10686. if (rs != null) {
  10687. rs.close();
  10688. }
  10689. } catch (Exception e) {
  10690. throw new Exception(e.getMessage());
  10691. }
  10692. try {
  10693. if (cstmt != null) {
  10694. cstmt.close();
  10695. }
  10696. } catch (Exception e) {
  10697. throw new Exception(e.getMessage());
  10698. }
  10699. }
  10700. }
  10701. public CoreReturnObject coiljudge_status_call_commit(
  10702. String pline
  10703. , String pcoilno
  10704. , String chemrs
  10705. , String qltyrs
  10706. , String sizers
  10707. , String exshrs
  10708. , String totrs
  10709. , String fb_yn
  10710. , String fb_reason,String sf_lv) throws java.lang.Exception {
  10711. Connection conn = null;
  10712. CallableStatement cstmt = null;
  10713. ResultSet rs = null;
  10714. try {
  10715. /*QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10716. qjog.setOperate_name(fb_reason);
  10717. qjog.setOperate_type(fb_yn.equals("Y")?"封闭":"取消封闭");
  10718. qjog.setParams(pcoilno);
  10719. qjog.setProd_line(pline);
  10720. mapper.insertQcmJudgeOperateLog(qjog);*/
  10721. conn = SqlSession.getConnection();
  10722. String callSql = "{call COILJUDGE_STATUS(?,?,?,?,?,?,?,?,?,?) }";
  10723. cstmt = conn.prepareCall(callSql);
  10724. cstmt.setString(1, StringUtils.isBlank(pline) ? "" : pline);
  10725. cstmt.setString(2, StringUtils.isBlank(pcoilno) ? "" : pcoilno);
  10726. cstmt.setString(3, StringUtils.isBlank(chemrs) ? "" : chemrs);
  10727. cstmt.setString(4, StringUtils.isBlank(qltyrs) ? "" : qltyrs);
  10728. cstmt.setString(5, StringUtils.isBlank(sizers) ? "" : sizers);
  10729. cstmt.setString(6, StringUtils.isBlank(exshrs) ? "" : exshrs);
  10730. cstmt.setString(7, StringUtils.isBlank(totrs) ? "" : totrs);
  10731. cstmt.setString(8, StringUtils.isBlank(fb_yn) ? "" : fb_yn);
  10732. cstmt.setString(9, StringUtils.isBlank(fb_reason) ? "" : fb_reason);
  10733. cstmt.setString(10, StringUtils.isBlank(sf_lv) ? "" : sf_lv);
  10734. cstmt.execute();
  10735. conn.commit();
  10736. SqlSession.commit();
  10737. } catch (Exception e) {
  10738. throw new Exception(e.getMessage());
  10739. } finally {
  10740. try {
  10741. if (rs != null) {
  10742. rs.close();
  10743. }
  10744. /*if(conn != null){
  10745. conn.close();
  10746. }*/
  10747. } catch (Exception e) {
  10748. throw new Exception(e.getMessage());
  10749. }
  10750. try {
  10751. if (cstmt != null) {
  10752. cstmt.close();
  10753. }
  10754. } catch (Exception e) {
  10755. throw new Exception(e.getMessage());
  10756. }
  10757. }
  10758. conn.close();
  10759. SqlSession.close();
  10760. return cro;
  10761. }
  10762. public boolean compareVal(String std_max,String std_min,double val,Double upperDeciation,Double drownDeciation){
  10763. boolean flag=true;
  10764. // double min=Double.parseDouble(std_min);//最大值
  10765. // double max=Double.parseDouble(std_max);//最小值
  10766. // double uDeciation=Double.parseDouble(upperDeciation);//上偏差
  10767. // double dDeciation=Double.parseDouble(drownDeciation);//上偏差
  10768. double jt=val;
  10769. if (std_max.equals("")&&std_min.equals("")) {
  10770. return flag;
  10771. }else if (!std_max.equals("")&&std_min.equals("")) {
  10772. if (jt<=Double.parseDouble(std_max)+upperDeciation) {
  10773. return flag;
  10774. }else {
  10775. flag=false;
  10776. return flag;
  10777. }
  10778. }else if(std_max.equals("")&&!std_min.equals("")){
  10779. if (jt>=Double.parseDouble(std_min)-drownDeciation) {
  10780. return flag;
  10781. }else {
  10782. flag=false;
  10783. return flag;
  10784. }
  10785. }else {
  10786. if (jt<=Double.parseDouble(std_max)+upperDeciation&&jt>=Double.parseDouble(std_min)-drownDeciation) {
  10787. }else {
  10788. flag=false;
  10789. return flag;
  10790. }
  10791. }
  10792. return flag;
  10793. }
  10794. /**
  10795. * 判断数值是否处于上下限之间
  10796. * @param std_max
  10797. * @param std_min
  10798. * @param val
  10799. * @return
  10800. */
  10801. public boolean comOrtherVal(String std_max,String std_min,double val){
  10802. boolean flag=true;
  10803. double jt=val;
  10804. if (std_max==null || "".equals(std_max)) {
  10805. flag=true;
  10806. }else{
  10807. if (jt<=Double.parseDouble(std_max)) {
  10808. flag=true;
  10809. }else {
  10810. flag=false;
  10811. return flag;
  10812. }
  10813. }
  10814. if (!flag) {
  10815. return false;
  10816. }
  10817. if (std_min==null || "".equals(std_min)) {
  10818. flag=true;
  10819. }else{
  10820. if (jt>=Double.parseDouble(std_min)) {
  10821. flag=true;
  10822. }else {
  10823. flag=false;
  10824. return flag;
  10825. }
  10826. }
  10827. if (!flag) {
  10828. return false;
  10829. }else{
  10830. return true;
  10831. }
  10832. }
  10833. /**
  10834. * 求平均值
  10835. * @param w_head
  10836. * @param w_center
  10837. * @param w_foot
  10838. * @return
  10839. */
  10840. public String countThick(String w_head,String w_center,String w_foot){
  10841. Double ave=0.0;
  10842. String value="";
  10843. int count=0;
  10844. if (w_head!=null && !"".equals(w_head)) {
  10845. ave+=Double.valueOf(w_head);
  10846. count++;
  10847. }
  10848. if (w_center!=null && !"".equals(w_center)) {
  10849. ave+=Double.valueOf(w_center);
  10850. count++;
  10851. }
  10852. if (w_foot!=null && !"".equals(w_foot)) {
  10853. ave+=Double.valueOf(w_foot);
  10854. count++;
  10855. }
  10856. if (count!=0) {
  10857. ave=ave/count;
  10858. DecimalFormat deFormat = new DecimalFormat("######0.000");
  10859. value=deFormat.format(ave);
  10860. }
  10861. return value;
  10862. }
  10863. /*
  10864. *
  10865. * 修改热轧处置意见,车间备注等四个字段
  10866. */
  10867. @SuppressWarnings("rawtypes")
  10868. public CoreReturnObject upRemarks(final ArrayList param1)throws Exception{
  10869. try{
  10870. String sql = "update tbh02_coil_comm t set t.CJ_REMARK = '"+param1.get(0).toString()+"',"
  10871. + "t.CPCJ_REMARK = '"+param1.get(1).toString()+"',"
  10872. + "t.SPM_RMK = '"+param1.get(2).toString()+"',"
  10873. + "t.DEAL_REMARK = '"+param1.get(3).toString()+"' "
  10874. + "where t.OLD_SAMPL_NO = '"+param1.get(4).toString()+"'";
  10875. mapper.upRZRemarks(sql.toString());
  10876. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10877. qjog.setOperate_name(param1.get(5).toString());
  10878. qjog.setBatchno(param1.get(4).toString().substring(0,10));
  10879. qjog.setOperate_type("备注修改");
  10880. qjog.setParams(param1.get(4).toString());
  10881. qjog.setProd_line("RZ1");
  10882. //qjog.setOperation_interface("QCM030305RZ");
  10883. qjog.setMemo("处置意见:"+param1.get(3).toString()+";成品车间备注:"+param1.get(1).toString()
  10884. +";热轧车间备注:"+param1.get(0).toString()+";质检备注:"+param1.get(2).toString());
  10885. mapper.insertQcmJudgeOperateLog(qjog);
  10886. } catch (Exception e) {
  10887. SqlSession.rollback();
  10888. SqlSession.close();
  10889. cro.setV_errCode(-1);
  10890. cro.setV_errMsg("备注更改失败"+e.getMessage());
  10891. return cro;
  10892. }
  10893. SqlSession.commit();
  10894. SqlSession.close();
  10895. cro.setV_errCode(1);
  10896. return cro;
  10897. }
  10898. /*
  10899. *
  10900. * 缓冷结束
  10901. */
  10902. @SuppressWarnings("rawtypes")
  10903. public CoreReturnObject upCold_End(String coil_no,String operter)throws Exception{
  10904. try{
  10905. String sql = "update tbh02_coil_comm t set t.MID_INSPECT_DTIME='Y' where T.OLD_SAMPL_NO = '"+coil_no+"'";
  10906. mapper.upRZRemarks(sql.toString());
  10907. String sql1 = "INSERT INTO QCM_JUDGE_LOG\n" +
  10908. " (JUDGE_TYPE, MATERIAL_NO, PROD_LINE)\n" +
  10909. " VALUES\n" +
  10910. " ('U', '"+coil_no+"', 'RZ1')";
  10911. mapper.insert(sql1.toString());
  10912. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10913. qjog.setOperate_name(operter);
  10914. qjog.setBatchno(coil_no.substring(0,10));
  10915. qjog.setOperate_type("缓冷提前结束");
  10916. qjog.setParams(coil_no);
  10917. qjog.setProd_line("RZ1");
  10918. //qjog.setOperation_interface("QCM030305RZ");
  10919. mapper.insertQcmJudgeOperateLog(qjog);
  10920. } catch (Exception e) {
  10921. SqlSession.rollback();
  10922. SqlSession.close();
  10923. cro.setV_errCode(-1);
  10924. cro.setV_errMsg("缓冷结束失败"+e.getMessage());
  10925. return cro;
  10926. }
  10927. SqlSession.commit();
  10928. SqlSession.close();
  10929. cro.setV_errCode(1);
  10930. return cro;
  10931. }
  10932. /*
  10933. *
  10934. * 操作记录查询
  10935. */
  10936. @SuppressWarnings("rawtypes")
  10937. public CoreReturnObject RZ_Record(String coil_no,String operter,String reramk/*,String memo*/)throws Exception{
  10938. try{
  10939. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10940. qjog.setOperate_name(operter);
  10941. qjog.setBatchno(coil_no.substring(0,10));
  10942. qjog.setOperate_type(reramk);
  10943. qjog.setParams(coil_no);
  10944. //qjog.setMemo(memo);
  10945. qjog.setProd_line("RZ1");
  10946. mapper.insertQcmJudgeOperateLog(qjog);
  10947. } catch (Exception e) {
  10948. SqlSession.rollback();
  10949. SqlSession.close();
  10950. cro.setV_errCode(-1);
  10951. cro.setV_errMsg("平整指定完成记录失败"+e.getMessage());
  10952. return cro;
  10953. }
  10954. SqlSession.commit();
  10955. SqlSession.close();
  10956. cro.setV_errCode(1);
  10957. return cro;
  10958. }
  10959. @SuppressWarnings("rawtypes")
  10960. public CoreReturnObject RZ_Record1(String coil_no,String operter,String reramk,String memo)throws Exception{
  10961. try{
  10962. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  10963. qjog.setOperate_name(operter);
  10964. qjog.setBatchno(coil_no.substring(0,10));
  10965. qjog.setOperate_type(reramk);
  10966. qjog.setParams(coil_no);
  10967. qjog.setMemo(memo);
  10968. qjog.setProd_line("RZ1");
  10969. mapper.insertQcmJudgeOperateLog(qjog);
  10970. } catch (Exception e) {
  10971. SqlSession.rollback();
  10972. SqlSession.close();
  10973. cro.setV_errCode(-1);
  10974. cro.setV_errMsg("封闭操作记录失败"+e.getMessage());
  10975. return cro;
  10976. }
  10977. SqlSession.commit();
  10978. SqlSession.close();
  10979. cro.setV_errCode(1);
  10980. return cro;
  10981. }
  10982. private String getresult1(String design_key,String zl_result){
  10983. String result = "";
  10984. try{
  10985. if(design_key.equals("") ){
  10986. throw new Exception("请传入正确参数!");
  10987. }
  10988. if(zl_result.equals("CP") || zl_result.equals("FP") || zl_result.equals("S1")){
  10989. result = "2";
  10990. }
  10991. else if(zl_result.equals("")){
  10992. result = "0";
  10993. }
  10994. else{
  10995. List<HashMap> list = mapper.query("select C_EXTSHAPE_REQ from tba01_ord_line a where a.ord_no||a.ord_seq = '"+design_key+"'");
  10996. if(list.size()==0){
  10997. throw new Exception("找不到订单数据!");
  10998. }
  10999. if(zl_result.compareTo(list.get(0).get("C_EXTSHAPE_REQ").toString()) >= 0){
  11000. result = "1";
  11001. }else{
  11002. result = "2";
  11003. }
  11004. }
  11005. }catch(Exception ex){
  11006. cro.setV_errCode(-1);
  11007. cro.setV_errMsg("获取判定结果错误"+ex.getMessage());
  11008. SqlSession.rollback();
  11009. }
  11010. return result;
  11011. }
  11012. /**
  11013. * 根据缺陷项目获取缺陷分类
  11014. */
  11015. @SuppressWarnings("rawtypes")
  11016. public List<HashMap> finddefecttype(String defect_code) throws Exception{
  11017. try {
  11018. String sql = "select * from QCM_BASE_DEFECT where validflag = '1' and defect_code = '"+defect_code+"'";
  11019. List<HashMap> list = mapper.query(sql);
  11020. return list;
  11021. } catch (Exception e) {
  11022. logger.info(e.getMessage());
  11023. throw new Exception("获取缺陷分类失败" + e.getMessage());
  11024. }
  11025. }
  11026. private void order_down(String billet_id,String reason) throws java.lang.Exception
  11027. {
  11028. Connection conn = null;
  11029. CallableStatement cstmt = null;
  11030. ResultSet rs = null;
  11031. try {
  11032. conn = SqlSession.getConnection();
  11033. String callSql = "{call GETJHTOMESPLAN.ORDER_DOWN@xgcx(?,?) }";
  11034. cstmt = conn.prepareCall(callSql);
  11035. cstmt.setString(1, billet_id);
  11036. cstmt.setString(2, reason);
  11037. cstmt.execute();
  11038. } catch (Exception e) {
  11039. throw new Exception(e.getMessage());
  11040. } finally {
  11041. try {
  11042. if (rs != null) {
  11043. rs.close();
  11044. }
  11045. } catch (Exception e) {
  11046. throw new Exception(e.getMessage());
  11047. }
  11048. try {
  11049. if (cstmt != null) {
  11050. cstmt.close();
  11051. }
  11052. } catch (Exception e) {
  11053. throw new Exception(e.getMessage());
  11054. }
  11055. }
  11056. }
  11057. /** 综合判定-取消综合判定按钮
  11058. * 操作人、list<综合判定记录号>
  11059. **/
  11060. @SuppressWarnings({ "unused", "rawtypes" })
  11061. public CoreReturnObject cancelUltimateJudge(String username,String material_no,String utm_id) throws Exception{
  11062. try {
  11063. String sql = "";
  11064. sql = "select * from zj_result_all@xgcx where BILLETID = '"+material_no+"'";
  11065. List<HashMap> list1 = mapper.query(sql);
  11066. sql = "select * from QCM_JUDGE_COIL_RESULT where coil_no = '"+material_no+"'";
  11067. List<HashMap> list2 = mapper.query(sql);
  11068. sql = "select * from QCM_JUDGE_YT_COIL_RESULT where coil_no = '"+material_no+"' and judgeresult <> '0'";
  11069. List<HashMap> list3 = mapper.query(sql);
  11070. //库存表放
  11071. List<QcmJudgeUltimate> qju = mapper.QcmJudgeUltimate("select * from Qcm_Judge_Ultimate where utm_id = '"+utm_id+"'");
  11072. String inspection_lot = "";
  11073. if(list1.size() >0 || list2.size() >0 || list3.size() >0){
  11074. if(list1.size()>0){
  11075. if(list1.get(0).get("BILLETID_JY")==null || list1.get(0).get("BILLETID_JY").toString().equals("") ){
  11076. if(qju.size() > 0){
  11077. inspection_lot = qju.get(0).getInspection_lot();
  11078. }
  11079. }else{
  11080. inspection_lot = list1.get(0).get("BILLETID_JY").toString();
  11081. }
  11082. String design_key = qju.get(0).getDesign_key() == null?"":qju.get(0).getDesign_key().toString();
  11083. mapper.clearJUDGERESULT(material_no,inspection_lot);
  11084. canceljudge_call(material_no,design_key);
  11085. /*String steelname = hashmap.get(0).get("STEEL_NAME")==null?"":hashmap.get(0).get("STEEL_NAME").toString();
  11086. String phyid = list1.get(0).get("PHYSID")==null?"":list1.get(0).get("PHYSID").toString();
  11087. sql= "select max(t.steel_name) steel_name from qcm_judge_physical t where t.phy_id in (select phy_id from qcm_judge_physical_utm_d d where d.pic_id = '"+phyid+"')";
  11088. List<HashMap> liststeel = mapper.query(sql);
  11089. if(liststeel != null && liststeel.size() >0 ){
  11090. steelname = liststeel.get(0).get("STEEL_NAME").toString();
  11091. }
  11092. judge_call(hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("STD_CODE")==null?"":hashmap.get(0).get("STD_CODE").toString(),hashmap.get(0).get("PROD_CODE")==null?"":hashmap.get(0).get("PROD_CODE").toString(),hashmap.get(0).get("PSC")==null?"":hashmap.get(0).get("PSC").toString(),"","","","","",material_no,username,"","","","",steelname);*/
  11093. }else if(list2.size() >0){
  11094. /*QcmJudgeMeasureServiceImpl qjms = new QcmJudgeMeasureServiceImpl();
  11095. List<HashMap> hashmap = qjms.doQueryMaterialInfoJ(material_no);*/
  11096. if(list2.get(0).get("INSPECTION_LOT")==null){
  11097. inspection_lot = qju.get(0).getInspection_lot();
  11098. }else{
  11099. inspection_lot = list2.get(0).get("INSPECTION_LOT").toString();
  11100. }
  11101. mapper.clearJUDGERESULT1(material_no,inspection_lot);
  11102. coiljudge_status_call(qju.get(0).getPline_code(), material_no, null, null, null, null, "D", null, null,"");
  11103. }else{
  11104. List<HashMap> hashmap = mapper.doQueryMaterialInfoY(material_no);
  11105. if(list3.get(0).get("INSPECTION_LOT")==null){
  11106. inspection_lot = qju.get(0).getInspection_lot()== null?"":qju.get(0).getInspection_lot();
  11107. }else{
  11108. inspection_lot = list3.get(0).get("INSPECTION_LOT")==null?"":list3.get(0).get("INSPECTION_LOT").toString();
  11109. }
  11110. mapper.clearJUDGERESULT2(material_no,inspection_lot);
  11111. String url = "http://172.16.81.200/xinsteel.maketx/service/SlmFundFirstDetailService/cancelReceiveUltimate";
  11112. JSONObject jsobj1 = new JSONObject();
  11113. JSONObject jsobj2 = new JSONObject();
  11114. JSONArray ttmaps = new JSONArray();
  11115. JSONArray ttmaps1 = new JSONArray();
  11116. jsobj1.put("utm_id", utm_id);
  11117. jsobj1.put("material_no", material_no);
  11118. jsobj2.put("object", jsobj1);
  11119. ttmaps1.add(jsobj2);
  11120. String result = post1(JSON.toJSONString(ttmaps1),url);
  11121. JSONObject jo = JSONObject.parseObject(result);
  11122. if(!"200".equals(jo.get("state").toString())){
  11123. throw new Exception(jo.get("msgInfo").toString());
  11124. }
  11125. }
  11126. }else{
  11127. throw new Exception("未找到库存信息!");
  11128. }
  11129. mapper.CancelUltimate(utm_id, "表面公差判定",username);
  11130. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  11131. qjog.setOperate_name(username);
  11132. qjog.setOperate_type("取消综合判定");
  11133. qjog.setParams(material_no);
  11134. qjog.setProd_line(qju.get(0).getPline_code());
  11135. mapper.insertQcmJudgeOperateLog(qjog);
  11136. } catch (Exception e) {
  11137. SqlSession.rollback();
  11138. cro.setV_errCode(-1);
  11139. cro.setV_errMsg("取消综合判定失败!"+e.getMessage());
  11140. logger.info(new Date().toString() + " QCM.QCM03.QCM0302.QcmJudgePhysicalServiceImpl.cancelUltimateJudge:【" + username + "," + material_no + "】" + e);
  11141. }
  11142. return cro;
  11143. }
  11144. private void canceljudge_call(String aSlabNos,String design_key) throws java.lang.Exception
  11145. {
  11146. Connection conn = null;
  11147. CallableStatement cstmt = null;
  11148. ResultSet rs = null;
  11149. try {
  11150. conn = SqlSession.getConnection();
  11151. String callSql = "{call GETJHTOMESPLAN.JudgeRec_Del@xgcx(?,?,?) }";
  11152. cstmt = conn.prepareCall(callSql);
  11153. cstmt.setString(1, aSlabNos);
  11154. cstmt.setString(2, design_key);
  11155. cstmt.registerOutParameter(3, java.sql.Types.INTEGER);
  11156. cstmt.execute();
  11157. if(cstmt.getString(3) != null){
  11158. if(cstmt.getString(3).equals("0")){
  11159. throw new java.lang.Exception("更新判定结果失败!");
  11160. }
  11161. }
  11162. } catch (Exception e) {
  11163. throw new Exception(e.getMessage());
  11164. } finally {
  11165. try {
  11166. if (rs != null) {
  11167. rs.close();
  11168. }
  11169. } catch (Exception e) {
  11170. throw new Exception(e.getMessage());
  11171. }
  11172. try {
  11173. if (cstmt != null) {
  11174. cstmt.close();
  11175. }
  11176. } catch (Exception e) {
  11177. throw new Exception(e.getMessage());
  11178. }
  11179. }
  11180. }
  11181. public static String post1(String json,String URL) {
  11182. HttpClient client = new DefaultHttpClient();
  11183. HttpPost post = new HttpPost(URL);
  11184. post.setHeader("Content-Type", "application/x-www-form-urlencoded");
  11185. post.addHeader("Authorization", "Basic YWRtaW46");
  11186. String result = "";
  11187. try {
  11188. StringEntity s = new StringEntity(json, "utf-8");
  11189. s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
  11190. "application/json"));
  11191. post.setEntity(s);
  11192. // 发送请求
  11193. HttpResponse httpResponse = client.execute(post);
  11194. // 获取响应输入流
  11195. InputStream inStream = httpResponse.getEntity().getContent();
  11196. BufferedReader reader = new BufferedReader(new InputStreamReader(
  11197. inStream, "utf-8"));
  11198. StringBuilder strber = new StringBuilder();
  11199. String line = null;
  11200. while ((line = reader.readLine()) != null)
  11201. strber.append(line + "\n");
  11202. inStream.close();
  11203. result = strber.toString();
  11204. System.out.println(result);
  11205. if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
  11206. System.out.println("请求服务器成功,做相应处理");
  11207. } else {
  11208. System.out.println("请求服务端失败");
  11209. }
  11210. } catch (Exception e) {
  11211. System.out.println("请求异常");
  11212. throw new RuntimeException(e);
  11213. }
  11214. return result;
  11215. }
  11216. @SuppressWarnings("rawtypes")
  11217. public String judgeHB1QMS(String boardNo,String designKey) throws Exception{
  11218. String str = "";
  11219. try {
  11220. if(StringUtils.isBlank(boardNo)){
  11221. return "母板号不能为空!";
  11222. }
  11223. if(StringUtils.isBlank(designKey)){
  11224. return "订单号不能为空!";
  11225. }
  11226. String sql=" select * from zj_result_all@xgcx T where t.BILLETID like '"+boardNo+"%' and t.JUDGERESULT = '0' ";
  11227. List<HashMap> list1 = mapper.query(sql);
  11228. if(list1.size() > 0){
  11229. for(HashMap list:list1){
  11230. String BILLETID = list.get("BILLETID").toString();
  11231. //厚板组批计划表
  11232. String sqlid= "select t.* from zyhb_plandetailofplate@xgcx T "
  11233. + " where t.slabno = '"+BILLETID+"' and ORDERID is not null and t.thick <=50 and rownum = '1' ";
  11234. List<HashMap> list2 = mapper.query(sqlid);
  11235. if(list2.size() > 0){
  11236. String MATERIAL_NO = list2.get(0).get("SLABNO").toString();
  11237. String DESIGN_KEY = list2.get(0).get("ORDERID").toString();
  11238. str=judgeHB1ByHuman(MATERIAL_NO,DESIGN_KEY);
  11239. if(!str.equals("1")){
  11240. SqlSession.rollback();
  11241. }
  11242. }else{
  11243. str = BILLETID+"子板未在厚板组批计划表中未找到小于等于50厚度子板号!请核实";
  11244. }
  11245. }
  11246. }else{
  11247. str = "ZJ表中未找到未综判子板信息!请核实";
  11248. }
  11249. if(str.equals("1")){
  11250. SqlSession.commit();
  11251. }
  11252. }catch (Exception e) {
  11253. str = "封锁失败!"+e.getMessage();
  11254. SqlSession.rollback();
  11255. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeHB1ByHuman:【" + boardNo + "," + designKey+ "】" + e);
  11256. }finally {
  11257. SqlSession.close();
  11258. }
  11259. return str;
  11260. }
  11261. /**
  11262. * 质量判定-卡量检测(因信息传递不到位导致多起厚板线厚度超标钢板发到客户手上,为有效减少及杜绝相关厚度超标板坯再次漏检发运,特利用QMS系统对厚度异常钢板实施封锁)
  11263. * param1 质量设计主键,产品序号,判定结果代码、判定结果,判定备注,检验人、班次、班组,质量等级代码、质量等级名称
  11264. * param2:编码、实绩、计划
  11265. * param3 测量实绩
  11266. * */
  11267. @SuppressWarnings("rawtypes")
  11268. public String judgeHB1ByHuman(String materialNo,String designKey) throws Exception{
  11269. try {
  11270. if(StringUtils.isBlank(materialNo) || StringUtils.isBlank(designKey) ){
  11271. return "请传入参数";
  11272. }
  11273. //判断是否进行综合判定,是否在库
  11274. List<HashMap> hashmap = new ArrayList<HashMap>();
  11275. List<HashMap> hashmap1 = new ArrayList<HashMap>();
  11276. String sql ="";
  11277. //String sql = "select * from zj_result_all@xgcx where BILLETID = '"+materialNo+"' and JUDGERESULT <> '0' ";
  11278. //hashmap1 = mapper.query(sql);
  11279. // if(hashmap1.size() > 0) {
  11280. // List<HashMap> list1 = mapper.query(sql);
  11281. // sql = "select billetid from kch_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "'"
  11282. // + " union all select billetid from kcz_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "' UNION ALL "
  11283. // + " select billetid from kcj_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "' union all "
  11284. // + " select billetid from kcj_storagelist@xgcx where storagestatus = '501002' and billetid = '" +materialNo+ "' union all "
  11285. // + " select billetid from kcx_turnofflist@xgcx where storagestatus = '501602' and billetid = '" +materialNo+ "'";
  11286. // hashmap = mapper.query(sql);
  11287. // if (hashmap.size() == 0) {
  11288. // return "未找到在库的库存信息!";
  11289. // }
  11290. //撤销判定
  11291. //cancelUltimateJudge(param1.get(5).toString(),param1.get(1).toString(),hashmap1.get(0).get("JUDGEID").toString());
  11292. //}
  11293. sql = "select * from zj_result_all@xgcx where BILLETID = '"+materialNo+"'";
  11294. List<HashMap> list1 = mapper.query(sql);
  11295. if(list1.size() >0){
  11296. if(list1.size()>0){
  11297. for(HashMap list:list1){
  11298. if(!list.get("JUDGERESULT").toString().equals("0")){
  11299. return "该检验号下已有物料号做了综合判定,不能做公差判定!";
  11300. }
  11301. if(list.get("SIC_IS_LOCK").toString().equals("1")){
  11302. return "公差已锁定,不能做公差判定!";
  11303. }
  11304. }
  11305. }
  11306. }else{
  11307. return materialNo+"ZJ表未找到相应子板!";
  11308. }
  11309. List<QCMOrdDesignStdSic> siclist=new ArrayList<QCMOrdDesignStdSic>();
  11310. // DESIGN_KEY、PSC查询质量设计-交付标准SLM_ORD_DESIGN_STD获取公差标准索引号SIC、SIC_K;
  11311. sql = "select * from qcm_ord_design_std_sic where design_key = '"+designKey+"'";
  11312. List<QCMOrdDesignStdSic> listSic = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '0'");
  11313. List<QCMOrdDesignStdSic> listsick = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '1'");
  11314. List<QCMOrdDesignStdSic> listsicn = mapper.queryQCMOrdDesignStdSic(sql + " and SPECL_FL = '2'");
  11315. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsick) {
  11316. slmOrdDesignStdSic.setStd_max_val_k(slmOrdDesignStdSic.getStd_max_val());
  11317. slmOrdDesignStdSic.setStd_min_val_k(slmOrdDesignStdSic.getStd_min_val());
  11318. siclist.add(slmOrdDesignStdSic);
  11319. }
  11320. boolean pass = true;
  11321. for (QCMOrdDesignStdSic slmOrdDesignStdSic : listsicn) {//内控订单要求
  11322. pass = true;
  11323. for(QCMOrdDesignStdSic sic :siclist){//订单特殊要求
  11324. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  11325. sic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  11326. sic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  11327. pass = false;
  11328. }
  11329. }
  11330. if(pass){
  11331. slmOrdDesignStdSic.setStd_max_val_n(slmOrdDesignStdSic.getStd_max_val());
  11332. slmOrdDesignStdSic.setStd_min_val_n(slmOrdDesignStdSic.getStd_min_val());
  11333. siclist.add(slmOrdDesignStdSic);
  11334. }
  11335. }
  11336. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){//订单交付标准
  11337. pass = true;
  11338. for(QCMOrdDesignStdSic sic :siclist){
  11339. if(sic.getBias_code().equals(slmOrdDesignStdSic.getBias_code())){
  11340. sic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  11341. sic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  11342. pass = false;
  11343. }
  11344. }
  11345. if(pass){
  11346. slmOrdDesignStdSic.setStd_max_val(slmOrdDesignStdSic.getStd_max_val());
  11347. slmOrdDesignStdSic.setStd_min_val(slmOrdDesignStdSic.getStd_min_val());
  11348. siclist.add(slmOrdDesignStdSic);
  11349. }
  11350. }
  11351. int count=0;
  11352. SimpleDateFormat sdf=new SimpleDateFormat("yyMMdd");
  11353. String date=sdf.format(new Date());
  11354. sql = "select * from (select * from qcm_judge_measure where sic_ID like 'SB"+date+"%' order by sic_ID DESC) where rownum <= 1";
  11355. List<QCMJudgeMeasure> qjlist= mapper.queryQCMJudgeMeasures(sql);
  11356. if(qjlist!=null&&qjlist.size()>0){//公差检验实绩表
  11357. String s=qjlist.get(0).getSic_id();
  11358. count=Integer.parseInt(s.substring(s.length()-5,s.length()));
  11359. }
  11360. QCMJudgeMeasure qj = new QCMJudgeMeasure();
  11361. // 插入QCM_JUDGE_MEASURE信息
  11362. count++;
  11363. String mst_id="SB"+date+String.format("%05d", count);
  11364. // 厚宽长判定标识
  11365. pass = true;
  11366. boolean judge = true;
  11367. String memo = "";
  11368. /* if(materialNo.startsWith("Z")){
  11369. hashmap = mapper.doQueryMaterialInfoZB(materialNo);
  11370. }else */
  11371. if(materialNo.startsWith("H")){
  11372. //hashmap = mapper.doQueryMaterialInfoHB(materialNo);
  11373. String sqlhb1="select t.* from zyhb_plandetailofplate@xgcx t where t.slabno = '"+materialNo+"' ";
  11374. hashmap =mapper.query(sqlhb1);
  11375. }
  11376. /* if(hashmap.size() == 0){
  11377. hashmap = mapper.doQueryMaterialInfoX(materialNo);
  11378. }
  11379. if(hashmap.size() == 0){
  11380. hashmap = doQueryMaterialInfoJ(materialNo);
  11381. }*/
  11382. if(hashmap.size() ==0){
  11383. return "未找到组批计划信息!";
  11384. }
  11385. // 需要的数据
  11386. String dkSql = "select * from qcm_ord_design_std_sic where design_key = '"+designKey+"' ";
  11387. List<HashMap> listdk = mapper.query(dkSql);
  11388. String PROD_CODE = listdk.get(0).get("PROD_CODE").toString();
  11389. String PROD_NAME = listdk.get(0).get("PROD_NAME").toString();
  11390. String PSC = listdk.get(0).get("PSC").toString();
  11391. String STD_CODE = listdk.get(0).get("STD_CODE").toString();
  11392. String STD_NAME = listdk.get(0).get("STD_NAME").toString();
  11393. String STEEL_CODE = listdk.get(0).get("STEEL_CODE").toString();
  11394. String STEEL_NAME = listdk.get(0).get("STEEL_NAME").toString();
  11395. // 0 待判
  11396. judge = false;
  11397. //写入判定记录表
  11398. qj.setSic_id(mst_id);
  11399. if (qj.getMaterial_no()!=null&&!qj.getMaterial_no().equals("")) {
  11400. qj.setMaterial_no(qj.getMaterial_no());
  11401. }else {
  11402. qj.setMaterial_no(materialNo);
  11403. }
  11404. qj.setSic_is_lock("0");
  11405. qj.setSic_result_code("0");
  11406. qj.setSic_result_desc("待判");
  11407. qj.setSic_memo("QMS判断偏差值大于1");
  11408. qj.setJudge_name("QMS");
  11409. qj.setWrk_grp("");
  11410. qj.setWrk_ord("");
  11411. qj.setProd_code(PROD_CODE==null?"":PROD_CODE);
  11412. qj.setProd_name(PROD_NAME==null?"":PROD_NAME);
  11413. qj.setJudge_time(new Date());
  11414. //计划规格
  11415. qj.setThick(Double.parseDouble(hashmap.get(0).get("THICK") == null ?"0":hashmap.get(0).get("THICK").toString()));
  11416. qj.setWidth(Double.parseDouble(hashmap.get(0).get("WIDTH") == null ?"0":hashmap.get(0).get("WIDTH").toString()));
  11417. qj.setLength(Double.parseDouble(hashmap.get(0).get("LEN") == null ?"0" :hashmap.get(0).get("LEN").toString()));
  11418. QcmJudgeMeasureD qjmd = new QcmJudgeMeasureD();
  11419. qj.setDesign_key(designKey);
  11420. qj.setMaterial_no(materialNo);
  11421. qj.setHeat_no(hashmap.get(0).get("HEATNO") == null ?"":hashmap.get(0).get("HEATNO").toString());
  11422. qj.setBoard_no(hashmap.get(0).get("MOTHERSLAB") == null ?"":hashmap.get(0).get("MOTHERSLAB").toString());
  11423. qj.setBatch_no(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  11424. qj.setInspection_lot(hashmap.get(0).get("BILLETID_SY")==null?"":hashmap.get(0).get("BILLETID_SY").toString());
  11425. qj.setPline_code("HB1");
  11426. qj.setPline_name("厚板线");
  11427. qj.setPsc(PSC == null ?"":PSC);
  11428. qj.setPsc_desc(PSC==null?"":PSC);
  11429. qj.setStd_code(STD_CODE == null ?"":STD_CODE);
  11430. qj.setStd_name(STD_NAME == null ?"":STD_NAME);
  11431. qj.setProd_code(PROD_CODE == null ?"":PROD_CODE);
  11432. qj.setProd_name(PROD_NAME== null ?"":PROD_NAME);
  11433. qj.setSteel_code(STEEL_CODE == null ?"":STEEL_CODE);
  11434. qj.setSteel_name(STEEL_NAME == null ?"":STEEL_NAME);
  11435. qj.setLevel_code("");
  11436. qj.setLevel_desc("待处理");
  11437. if(qj.getSic_result_code().equals("0") && !qj.getLevel_desc().contains("待处理")){
  11438. return "检验结果与质量等级不匹配!";
  11439. }
  11440. mapper.insertQCMJudgeMeasure(qj);
  11441. //判定实绩
  11442. for(QCMOrdDesignStdSic slmOrdDesignStdSic :listSic){//订单交付标准
  11443. if(slmOrdDesignStdSic.getBias_code().contains("KB")){
  11444. qjmd.setPlan_val(hashmap.get(0).get("THICK") == null ?"":hashmap.get(0).get("THICK").toString());
  11445. }else if(slmOrdDesignStdSic.getBias_code().contains("KD")){
  11446. qjmd.setPlan_val(hashmap.get(0).get("WIDTH") == null ?"":hashmap.get(0).get("WIDTH").toString());
  11447. }else if(slmOrdDesignStdSic.getBias_code().contains("KF")){
  11448. qjmd.setPlan_val(hashmap.get(0).get("LEN") == null ?"" :hashmap.get(0).get("LEN").toString());
  11449. }else{
  11450. qjmd.setPlan_val("");
  11451. }
  11452. qjmd.setSic_id(mst_id);
  11453. qjmd.setJudge_val("");//val 实测值
  11454. qjmd.setSic_item_code(slmOrdDesignStdSic.getBias_code().toString());//bias_code
  11455. qjmd.setSic_item_desc(slmOrdDesignStdSic.getBias_name().toString());//bias_name
  11456. mapper.insertQcmJudgeMeasureD(qjmd);
  11457. }
  11458. //更改库存表
  11459. if(list1.size()>0){
  11460. ZjResultAll zra = new ZjResultAll();
  11461. zra.setBilletid(materialNo);
  11462. zra.setSizeresult("0");
  11463. zra.setSizeresult_desc("待判");
  11464. zra.setSic_is_lock("0");
  11465. zra.setSizeid(mst_id);
  11466. mapper.UpdateJugeResultB(zra);
  11467. }else{
  11468. return "未找到库存信息!";
  11469. }
  11470. QcmJudgeOperateLog qjog = new QcmJudgeOperateLog();
  11471. qjog.setOperate_name("QMS");
  11472. qjog.setOperate_type("公差检验判定");
  11473. qjog.setParams(materialNo);
  11474. qjog.setBatchno(hashmap.get(0).get("BATCHNO") == null ?"":hashmap.get(0).get("BATCHNO").toString());
  11475. qjog.setProd_line("HB1");
  11476. qjog.setJudge_result("0");
  11477. qjog.setMemo("厚度偏差值大于1");
  11478. mapper.insertQcmJudgeOperateLog(qjog);
  11479. } catch (Exception e) {
  11480. SqlSession.rollback();
  11481. logger.info(new Date().toString() + " QCM.QCM03.QCM0303.QcmJudgeMeasureServiceImpl.judgeHB1ByHuman:【" + materialNo + "," + designKey+ "】" + e);
  11482. return "judgeHB1ByHuman:"+e;
  11483. }
  11484. return "1";
  11485. }
  11486. }